diff --git a/dms/README.rst b/dms/README.rst new file mode 100644 index 000000000..5ddf87897 --- /dev/null +++ b/dms/README.rst @@ -0,0 +1,249 @@ +========================== +Document Management System +========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:966c4331ff7c75b1ea8cb1d065c878d81250957cd305a5d6422def133e2a7d63 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdms-lightgray.png?logo=github + :target: https://github.com/OCA/dms/tree/18.0/dms + :alt: OCA/dms +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/dms-18-0/dms-18-0-dms + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/dms&target_branch=18.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +DMS is a module for creating, managing and viewing document files +directly within Odoo. This module is only the basis for an entire +ecosystem of apps that extend and seamlessly integrate with the document +management system. + +This module adds portal functionality for directories and files for +allowed users, both portal or internal users. You can get as well a +tokenized link from a directory or a file for sharing it with any +anonymous user. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +Preview +------- + +``python-magic`` library is recommended to be installed for having whole +support to get proper file types and file preview. + +Configuration +============= + +Configuration +============= + +To configure this module, you need to: + +1. Create a storage +------------------- + +1. Go to *Documents -> Configuration -> Storages*. + +2. Create a new document storage. You can choose between three options + on ``Save Type``: + + - ``Database``: Store the files on the database as a field + - ``Attachment``: Store the files as attachments + - ``File``: Store the files on the file system + +2. Create an access group +------------------------- + +1. Next, create an administrative access group. Go to *Configuration -> + Access Groups*. + + - Create a new group, name it appropriately, and turn on all three + permissions (Create, Write and Unlink. Read is implied and always + enabled). + - Add any other top-level administrative users to the group if needed + (your user should already be there). + - You can create other groups in here later for fine-grained access + control. + +3. Create a directory +--------------------- + +1. Afterward, go to *Documents -> Directories*. + +2. Create a new directory, mark it as root and select the previously + created setting. + + - Select the *Groups* tab and add your administrative group created + above. If your directory was already created before the group, you + can also add it in the access groups (*Configuration -> Access + Groups*). + +3. In the directory settings, you can also add other access groups + (created above) that will be able to: + + - read + - create + - write + - delete + +Migration +========= + +If you need to modify the storage ``Save Type`` you might want to +migrate the file data. To achieve it, you need to: + +1. Go to *Documents -> Configuration -> Storage* and select the storage + you want to modify +2. Modify the save type +3. Press the button Migrate files if you want to migrate all the files + at once +4. Press the button Manual File Migration to specify files one by one + +You can check all the files that still need to be migrated from all +storages and migrate them manually on *Documents -> Configuration -> +Migration* + +File Wizard Selection +===================== + +There is an action called ``action_dms_file_wizard_selector`` to open a +wizard to list files in kanban view. This can be used (example +dms_attachment_link module) to add a button in kanban view with the +action we need. + +Usage +===== + +The best way to manage the documents is to switch to the Documents view. +Existing documents can be managed there and new documents can be +created. + +Portal functionality +-------------------- + +You can add any portal user to DMS access groups, and then allow that +group in directories, so they will see in the portal such directories +and their files. Another possibility is to click on "Share" button +inside a directory or a file for obtaining a tokenized link for single +access to that resource, no matter if logged or not. + +Known issues / Roadmap +====================== + +- Files preview in portal +- Allow to download folder in portal and create zip file with all + content +- Save in cache own_root directories and update in every + create/write/unlink function +- Add a migration procedure for converting an storage to attachment one + for populating existing records with attachments as folders +- Add a link from attachment view in chatter to linked documents +- If Inherit permissions from related record (the + inherit_access_from_parent_record field from storage) is changed when + directories already exist, inconsistencies may occur because groups + defined in the directories and subdirectories will still exist, all + groups in these directories should be removed before changing. +- Since portal users can read ``dms.storage`` records, if your module + extends this model to another storage backend that needs using + secrets, remember to forbid access to the secrets fields by other + means. It would be nice to be able to remove that rule at some point. +- Searchpanel in files: Highlight items (shading) without records when + filtering something (by name for example). +- Accessing the clipboard (for example copy share link of + file/directory) is limited to secure connections. It also happens in + any part of Odoo. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* MuK IT +* Tecnativa + +Contributors +------------ + +- Mathias Markl +- Enric Tobella +- Antoni Romera +- Gelu Boros +- `Tecnativa `__: + + - Víctor Martínez + - Pedro M. Baeza + - Jairo Llopis + +- `Elego `__: + + - Yu Weng + - Philip Witte + - Khanh Bui + +- `Subteno `__: + + - Timothée Vannier + +- `Kencove `__: + + - Mohamed Alkobrosli + +Other credits +------------- + +Some pictures are based on or inspired by: + +- `Roundicons `__ +- `Smashicons `__ +- `EmojiOne `__ : Portal DMS icon +- `GitHub Octicons `__ : The main + DMS icon + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/dms `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/dms/__init__.py b/dms/__init__.py new file mode 100644 index 000000000..ada0b87be --- /dev/null +++ b/dms/__init__.py @@ -0,0 +1,3 @@ +from . import controllers +from . import models +from . import wizards diff --git a/dms/__manifest__.py b/dms/__manifest__.py new file mode 100644 index 000000000..174316d1a --- /dev/null +++ b/dms/__manifest__.py @@ -0,0 +1,78 @@ +# Copyright 2017-2019 MuK IT GmbH +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +{ + "name": "Document Management System", + "summary": """Document Management System for Odoo""", + "version": "18.0.1.0.0", + "category": "Document Management", + "license": "LGPL-3", + "website": "https://github.com/OCA/dms", + "author": "MuK IT, Tecnativa, Odoo Community Association (OCA)", + "depends": [ + "mail", + "http_routing", + "onboarding", + "portal", + "base", + "web", + ], + "data": [ + # Security + "security/security.xml", + "security/ir.model.access.csv", + # Actions + "actions/file.xml", + # Templates + "template/portal.xml", + # Data + "data/onboarding_data.xml", + # Views + "views/dms_tag.xml", + "views/dms_category.xml", + "views/dms_file.xml", + "views/dms_directory.xml", + "views/storage.xml", + "views/dms_access_groups_views.xml", + "views/res_config_settings.xml", + "views/menu.xml", + # Wizard + "wizards/wizard_dms_file_move_views.xml", + "wizards/wizard_dms_share_views.xml", + ], + "assets": { + "web.assets_backend": [ + # Style + "dms/static/src/scss/directory_kanban.scss", + "dms/static/src/scss/file_kanban.scss", + "dms/static/src/scss/dms_common.scss", + # JS + "dms/static/src/models/*.js", + "dms/static/src/js/fields/path_json/path_owl.esm.js", + "dms/static/src/js/fields/preview_binary/preview_record.esm.js", + "dms/static/src/js/views/*.esm.js", + # XML + "dms/static/src/js/fields/path_json/path_owl.xml", + "dms/static/src/js/fields/preview_binary/preview_record.xml", + "dms/static/src/js/views/*.xml", + ], + "web.assets_frontend": [ + "dms/static/src/scss/portal.scss", + ], + "web.assets_tests": [ + "dms/static/tests/tours/**/*", + ], + }, + "demo": [ + "demo/res_users.xml", + "demo/access_group.xml", + "demo/category.xml", + "demo/tag.xml", + "demo/storage.xml", + "demo/directory.xml", + "demo/file.xml", + ], + "icon": "/dms/static/description/icon.png", + "application": True, +} diff --git a/dms/actions/file.xml b/dms/actions/file.xml new file mode 100644 index 000000000..84a8ff284 --- /dev/null +++ b/dms/actions/file.xml @@ -0,0 +1,14 @@ + + + + + Migrate + + + code + records.action_migrate() + + diff --git a/dms/controllers/__init__.py b/dms/controllers/__init__.py new file mode 100644 index 000000000..984e838ae --- /dev/null +++ b/dms/controllers/__init__.py @@ -0,0 +1,2 @@ +from . import main +from . import portal diff --git a/dms/controllers/main.py b/dms/controllers/main.py new file mode 100644 index 000000000..5898e80fb --- /dev/null +++ b/dms/controllers/main.py @@ -0,0 +1,15 @@ +# Copyright 2017-2019 MuK IT GmbH +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +from odoo import http +from odoo.http import request + + +class OnboardingController(http.Controller): + @http.route("/config/dms.forbidden_extensions", type="json", auth="user") + def forbidden_extensions(self, **_kwargs): + params = request.env["ir.config_parameter"].sudo() + return { + "forbidden_extensions": params.get_param( + "dms.forbidden_extensions", default="" + ) + } diff --git a/dms/controllers/portal.py b/dms/controllers/portal.py new file mode 100644 index 000000000..867d33bdf --- /dev/null +++ b/dms/controllers/portal.py @@ -0,0 +1,288 @@ +# Copyright 2020-2021 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée VANNIER (https://www.subteno.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). +import base64 +from typing import Optional # noqa # pylint: disable=unused-import + +from odoo import _, http +from odoo.http import content_disposition, request +from odoo.osv.expression import OR + +from odoo.addons.portal.controllers.portal import CustomerPortal +from odoo.addons.web.controllers.utils import ensure_db + + +class CustomerPortal(CustomerPortal): + def _dms_check_access(self, model, res_id, access_token=None): + """ + Check access to the record. + + :param str model: model + :param int res_id: res_id + :param Optional[str] access_token: access_token + + :return: item + """ + item = request.env[model].browse(res_id) + if access_token: + item = item.sudo() + if not item.check_access_token(access_token): + return False + else: + if not item.permission_read: + return False + return item + + def _prepare_home_portal_values(self, counters): + values = super()._prepare_home_portal_values(counters) + if "dms_directory_count" in counters: + ids = request.env["dms.directory"]._get_own_root_directories() + values["dms_directory_count"] = len(ids) + return values + + @http.route(["/my/dms"], type="http", auth="user", website=True) + def portal_my_dms( + self, sortby=None, filterby=None, search=None, search_in="name", **kw + ): + """ + Display the main page for the DMS module. + + :param Optional[str] sortby: The field to sort by + :param Optional[str] filterby: The field to filter by + :param Optional[str] search: The search term + :param Optional[str] search_in: The field to search in + + :return: response + :rtype: odoo.http.Response + """ + values = self._prepare_portal_layout_values() + ( + filterby, + searchbar_inputs, + searchbar_sortings, + sort_order, + sortby, + ) = self._searchbar_data(filterby, sortby) + # domain + domain = [ + ("id", "in", request.env["dms.directory"]._get_own_root_directories()), + ] + # search + if search and search_in == "name": + domain += OR([[], [("name", "ilike", search)]]) + # content according to pager and archive selected + items = request.env["dms.directory"].sudo().search(domain, order=sort_order) + request.session["my_dms_folder_history"] = items.ids + # values + values.update( + { + "dms_directories": items, + "page_name": "dms_directory", + "default_url": "/my/dms", + "searchbar_sortings": searchbar_sortings, + "searchbar_inputs": searchbar_inputs, + "search_in": search_in, + "sortby": sortby, + "filterby": filterby, + "access_token": None, + } + ) + return request.render("dms.portal_my_dms", values) + + @http.route( + ["/my/dms/directory/"], + type="http", + auth="public", + website=True, + ) + def portal_my_dms_directory( + self, + dms_directory_id=False, + sortby=None, + filterby=None, + search=None, + search_in="name", + access_token=None, + **kw, + ): + """ + Display the content of a directory. + + :param Optional[int] dms_directory_id: dms_directory_id + :param Optional[str] sortby: sortby + :param Optional[str] filterby: filterby + :param Optional[str] search: search + :param Optional[str] search_in: search_in + :param Optional[str] access_token: access_token + + :return: response + :rtype: odoo.http.Response + """ + ensure_db() + # operations + ( + filterby, + searchbar_inputs, + searchbar_sortings, + sort_order, + sortby, + ) = self._searchbar_data(filterby, sortby) + dms_directory_items, res = self._get_directories( + access_token, dms_directory_id, search, search_in, sort_order + ) + if not res: + return request.redirect("/" if access_token else "/my") + + dms_directory_sudo = res + # dms_files_count + dms_file_items = self._get_files( + access_token, dms_directory_id, search, search_in, sort_order + ) + + dms_parent_categories = dms_directory_sudo.sudo()._get_parent_categories( + access_token + ) + # values + values = { + "dms_directories": dms_directory_items, + "page_name": "dms_directory", + "default_url": "/my/dms", + "searchbar_sortings": searchbar_sortings, + "searchbar_inputs": searchbar_inputs, + "search_in": search_in, + "sortby": sortby, + "filterby": filterby, + "access_token": access_token, + "dms_directory": dms_directory_sudo, + "dms_files": dms_file_items, + "dms_parent_categories": dms_parent_categories, + } + return request.render("dms.portal_my_dms", values) + + def _get_files(self, access_token, dms_directory_id, search, search_in, sort_br): + """ + Get files from dms_directory_id + + :param Optional[str] access_token: access_token + :param int dms_directory_id: dms_directory_id + :param Optional[str] search: search + :param Optional[str] search_in: search_in + :param str sort_br: sort_br + + :return: dms_file_items + :rtype: odoo.model.dms_file + """ + if not dms_directory_id: + return request.env["dms.file"] + file_domain = [ + ("is_hidden", "=", False), + ("directory_id", "=", dms_directory_id), + ] + # search + if search and search_in == "name": + file_domain.append(("name", "ilike", search)) + + # items + file_model = request.env["dms.file"] + is_access_token_valid = file_model.check_access_token(access_token) + file_model = file_model.sudo() if is_access_token_valid else file_model + dms_file_items = file_model.search(file_domain, order=sort_br) + request.session["my_dms_file_history"] = dms_file_items.ids + return dms_file_items + + def _get_directories( + self, access_token, dms_directory_id, search, search_in, sort_order + ): + """ + Get directories from dms_directory_id + + :param Optional[str] access_token: access_token + :param int dms_directory_id: dms_directory_id + :param Optional[str] search: search + :param Optional[str] search_in: search_in + :param str sort_order: sort_br + + :return: dms_directory_items, res + :rtype: tuple[odoo.model.dms_directory, bool|odoo.model.dms_directory] + """ + # domain + domain = [("is_hidden", "=", False), ("parent_id", "=", dms_directory_id)] + # search + if search and search_in: + domain.append(("name", "ilike", search)) + + # content according to pager and archive selected + directory_model = request.env["dms.directory"] + directory_to_check = directory_model.browse(dms_directory_id) + is_access_token_valid = directory_to_check.check_access_token(access_token) + directory_model = ( + directory_model.sudo() if is_access_token_valid else directory_model + ) + dms_directory_items = directory_model.search(domain, order=sort_order) + + request.session["my_dms_folder_history"] = dms_directory_items.ids + res = self._dms_check_access("dms.directory", dms_directory_id, access_token) + return dms_directory_items, res + + def _searchbar_data(self, filterby, sortby): + """ + Prepare searchbar data for portal. + + :param str filterby: filterby + :param str sortby: sortby + + :return: filterby, searchbar_inputs, searchbar_sortings, sort_order, + sortby + :rtype: tuple[str, dict, dict, str, str] + """ + searchbar_sortings = {"name": {"label": _("Name"), "order": "name asc"}} + # default sortby + if not sortby: + sortby = "name" + sort_order = searchbar_sortings[sortby]["order"] + # search + searchbar_inputs = { + "name": {"input": "name", "label": _("Name")}, + } + if not filterby: + filterby = "name" + return ( + filterby, + searchbar_inputs, + searchbar_sortings, + sort_order, + sortby, + ) + + @http.route( + ["/my/dms/file//download"], + type="http", + auth="public", + website=True, + ) + def portal_my_dms_file_download(self, dms_file_id, access_token=None, **kw): + """ + Download a file. + + :param int dms_file_id: dms_file_id + :param Optional[str] access_token: access_token + + :return: response + :rtype: odoo.http.Response + """ + ensure_db() + res = self._dms_check_access("dms.file", dms_file_id, access_token) + if not res: + if access_token: + return request.redirect("/") + return request.redirect("/my") + + if res.attachment_id and request.env.user.has_group("base.group_portal"): + res = res.sudo() + file_content = base64.b64decode(res.content) + content_type = ("Content-Type", "application/octet-stream") + disposition_content = ( + "Content-Disposition", + content_disposition(res.name), + ) + return request.make_response(file_content, [content_type, disposition_content]) diff --git a/dms/data/onboarding_data.xml b/dms/data/onboarding_data.xml new file mode 100644 index 000000000..9533f6ad7 --- /dev/null +++ b/dms/data/onboarding_data.xml @@ -0,0 +1,76 @@ + + + + + + Storage + Create a new Document Storage. + Create Storage + Document Storage Created! + action_open_documents_onboarding_storage + + onboarding_default.png + Onboarding Storage + 1 + + + + Directory + Create a new Root Directory. + Create Directory + Root Directory Created! + action_open_documents_onboarding_directory + + onboarding_default.png + Onboarding Directory + 2 + + + + File + Upload your first File. + Upload File + First File Uploaded! + action_open_documents_onboarding_file + + onboarding_default.png + Onboarding File + 3 + + + + + File Onboarding + + document_onboarding_file + action_close_panel_dms_file + + diff --git a/dms/demo/access_group.xml b/dms/demo/access_group.xml new file mode 100644 index 000000000..136445b33 --- /dev/null +++ b/dms/demo/access_group.xml @@ -0,0 +1,18 @@ + + + + Admin + True + True + True + + + + Portal + + + + User + + + diff --git a/dms/demo/category.xml b/dms/demo/category.xml new file mode 100644 index 000000000..b6d168115 --- /dev/null +++ b/dms/demo/category.xml @@ -0,0 +1,31 @@ + + + + + Internal + + + Human Resource + + + + Contracts + + + + Traveling + + + + External + + + News + + + diff --git a/dms/demo/directory.xml b/dms/demo/directory.xml new file mode 100644 index 000000000..5d97396ac --- /dev/null +++ b/dms/demo/directory.xml @@ -0,0 +1,147 @@ + + + + + Documents + + + + + + + + + + Media + + + + + + + + + Sheets + + + + + + + Templates + + + + + + + + Photos + + + + + + + + 2017 + + + + + + + 2018 + + + + + + + Videos + + + + + + Music + + + + + + Graphics + + + + + Mails + + + + + + + + + Data + + + + + + + Code + + + + + + + Slides + + + + + + Partners + + + + + + res.partner + + diff --git a/dms/demo/file.xml b/dms/demo/file.xml new file mode 100644 index 000000000..29c91d7ac --- /dev/null +++ b/dms/demo/file.xml @@ -0,0 +1,241 @@ + + + + + Sydney.jpg + + + + + + + Logo_01.jpg + + + + + + Logo_02.jpg + + + + + + + Logo_03.jpg + + + + + + Logo.svg + + + + + + + Loop_01.wav + + + + + + + Loop_02.wav + + + + + + + Loop_03.mp3 + + + + + + + Loop_04.mp3 + + + + + + + Video.mp4 + + + + + + + Mail_01.eml + + + + + + + Mail_02.eml + + + + + + Text.txt + + + + + + ASPECTJ.aj + + + + + + Bash.sh + + + + + C.c + + + + + Cplusplus.cc + + + + + CSharp.cs + + + + + COBOL.cbl + + + + + CoffeeScript.coffee + + + + + Fortran.f + + + + + Go.go + + + + + Groovy.groovy + + + + + Java.java + + + + + Scala.sc + + + + + Sample.md + + + + + Document_05.pdf + + + + + + Slide_01.odp + + + + + Slide_02.ppt + + + + + Document_02.doc + + + + + + Document_03.odt + + + + + + Sheet_01.xls + + + + + + Sheet_02.csv + + + + + + Sheet_03.ods + + + + + + Document_04.rtf + + + + + + Text.rst + + + + + diff --git a/dms/demo/res_users.xml b/dms/demo/res_users.xml new file mode 100644 index 000000000..c586a6007 --- /dev/null +++ b/dms/demo/res_users.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/dms/demo/storage.xml b/dms/demo/storage.xml new file mode 100644 index 000000000..2af754494 --- /dev/null +++ b/dms/demo/storage.xml @@ -0,0 +1,20 @@ + + + + + Documents Storage + database + + + Attachment Storage + attachment + + + + + diff --git a/dms/demo/tag.xml b/dms/demo/tag.xml new file mode 100644 index 000000000..69d6d1786 --- /dev/null +++ b/dms/demo/tag.xml @@ -0,0 +1,64 @@ + + + + + Customer + 1 + + + + Partner + 2 + + + + Project + 3 + + + + Sales + 4 + + + + Portal + 5 + + + + Apps + 6 + + + + Accounting + 7 + + + + Customer Invoice + 8 + + + + Vendor Bill + 9 + + + + Product + 10 + + + + Contract + 11 + + + diff --git a/dms/i18n/de.po b/dms/i18n/de.po new file mode 100644 index 000000000..15e5729e1 --- /dev/null +++ b/dms/i18n/de.po @@ -0,0 +1,2515 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-18 11:18+0000\n" +"PO-Revision-Date: 2023-09-18 11:18+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" Legen Sie fest, wie ankommende E-Mails behandelt werden:\n" +"\n" +" - Einzelne Dateien: Die E-Mail wird im Verzeichnis " +"gespeichert und\n" +" alle Anhänge werden als Dateien gespeichert.\n" +"\n" +" - Unterverzeichnis: Für jede E-Mail wird ein neues " +"Unterverzeichnis erstellt\n" +" und die E-Mail in dieses gespeichert. Die Anhänge\n" +" werden als Dateien in diesem Unterverzeichnis gespeichert.\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Dateien" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Unterverzeichnisse" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "Dokumente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"Ein Python-Dictionary, das ausgewertet wird, um beim Erstellen neuer " +"Datensätze für diesen Alias Standardwerte bereitzustellen." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "Ein Stammverzeichnis kann kein Oberverzeichnis besitzen." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "Ein Verzeichnis benötigt ein Oberverzeichnis." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" +"Ein Verzeichnis benötigt ein Datenmodell, wenn Anhänge als Speicherort " +"gewählt wurde." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "Es existiert bereits ein Verzeichnis mit diesem Namen." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" +"Eine Datei benötigt ein Datenmodell und eine Resource-ID, wenn Anhänge als " +"Speicherort gewählt wurde." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "Ein Stammverzeichnis benötigt einen Speicherort." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Abstraktes DMS-Mixin" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "Erlaube E-Mails von" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "Zugriffsgruppen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "Zugriffsinformationen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "Zugriffswarnung" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "Abrechnung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "Aktion nötig" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "Aktionen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "Aktiv" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "Aktivitäten" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Aktivitätsfehler-Dekoration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "Aktivitätsstatus" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "Aktivitätstyp-Icon" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "Neues Verzeichnis hinzufügen." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "Neue Datei hinzufügen." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "Alias Kontakt Sicherheit" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "Alias-Bezeichnung" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "Alias-Einstellung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "Extraktion von Alias-Mails" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "Alias-Modell" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "Alle" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "Alle Dateien" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "Während des Uploads ist ein Fehler aufgetreten" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "Anwendungen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "Archiviert" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "Archivierte Dateien" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "Dateianhang" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "Anzahl der Anhänge" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "Anhangsdatei" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "Basis" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "Abbrechen" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "Kategorien" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "Kategorien werden genutzt, um Dokumente zu ordnen." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "Kategorie" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "Es existiert bereits eine Kategorie mit diesem Namen!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "Prüfsumme / SHA1" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "Unterkategorien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "Untergruppen" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "Klicken, um ein neues Verzeichnis anzulegen." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "Klicken, um eine Datei hinzuzufügen." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "Klicken, um ein Stichwort hinzuzufügen." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "Geschlossen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "Farbe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "Farbindex" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "Unternehmen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "Unternehmen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "Vollständige Gruppen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "Vollständige Bezeichnung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "Vollständige Verzeichnisse" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "Konfigurationseinstellungen" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "Konfiguration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "Inhalt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "Binary-Inhalt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "Datei-Inhalt" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "Vertrag" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "Verträge" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "Anzahl der Verzeichnisse" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "Anzahl der Elemente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "Anzahl der Dateien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "Anzahl Titel Dateien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "Anzahl der Unterkategorien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "Anzahl der Unterverzeichnisse" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "Anzahl Titel Unterverzeichnisse" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "Anzahl der Stichwörter" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "Anzahl der Benutzer" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "Anlegen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "Anlageberechtigung" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "Verzeichnis anlegen" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "Speicherort anlegen" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "Neue Kategorie anlegen." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "Neuen Speicherort anlegen." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "Neues Stammverzeichnis anlegen." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "Neues Speicherort-Objekt anlegen." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "Dateien von Nachrichtenanhängen anlegen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "Erstelldatum" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "Aktueller Speichertyp" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "Benutzerdefinierte Bounce-Nachricht" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "Kunde" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "Kundenrechnung" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "Portal-URL des Kunden" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "DMS-Sicherheit-Mixin" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "DMS-Miniaturansicht und Symbol-Mixin" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "Datenbank" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "Standardwerte" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "Verbotene Dateiendungen festlegen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "Legt eine Liste von verbotenen Dateiendungen fest (z.B. 'exe', 'msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "" +"Legt die maximale Uploadgröße einer Datei in MB fest. (Standardwert: 25MB)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "Löschberechtigung" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "Verzeichnisse" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"Mithilfe von Verzeichnissen können Dateien direkt in Odoo\n" +" organisiert und strukturiert werden." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "Verzeichnis" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "Dokumentenkategorie" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "Dokumenten-Stichwort" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "Dokumente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "Dokumente Onboarding-Verzeichnis Status" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "Dokumente Onboarding-Dateistatus" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "Dokumente Onboarding-Status" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "Dokumente Onboarding Speicherstatus" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "Erledigt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "Elemente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "E-Mail-Alias" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "E-Mail Thread" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "Fehler! Kategorien können nicht rekursiv angelegt werden." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "Fehler! Verzeichnisse können nicht rekursiv angelegt werden." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "Explizite Benutzer" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "Dateiendung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "Dateiendungen" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "Extern" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "Datei" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "Datei-Upload" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "Dateien" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "Dateien werden genutzt, um Inhalte direkt in Odoo zu speichern." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "Dateiablage" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "Abonnenten" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "Abonnenten (Partner)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "\"Font awesome\" Icon (z.B. fa-tasks)" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "Allgemeine Einstellungen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "Gruppe" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "Gruppieren nach" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "Gruppenname" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "Gruppen-Benutzer" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "Gruppen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "Hat Nachricht" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "Personalwesen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"ID des übergeordneten Datensatzes, der den Alias enthält (Beispiel: Projekt, " +"das den Alias für die Aufgabenerstellung enthält)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "Icon-URL" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Symbol zur Kennzeichnung einer Ausnahmeaktivität." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"Wenn eine Datei auf archiviert gesetzt ist, wird sie nicht angezeigt, ist " +"aber weiterhin vorhanden." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Falls markiert, benötigen neue Nachrichten Ihre Aufmerksamkeit." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" +"Wenn diese Überprüfung aktiviert ist, weisen einige Nachrichten einen " +"Übermittlungsfehler auf." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" +"Wenn diese Option festgelegt ist, sind Verzeichnisse und Dateien nur für das " +"ausgewählte Unternehmen verfügbar." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"Wenn diese Option festgelegt ist, wird dieser Inhalt anstelle der " +"Standardnachricht automatisch an nicht autorisierte Benutzer gesendet." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "Bild" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "Bild 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "Bild 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "Bild 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "Bild 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" +"Geben Sie an, ob Verzeichnisse und Dateien auch im E-Mail-" +"Kompositionsprozess automatisch erstellt werden" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "Gibt an, ob Verzeichnisse und Dateien standardmäßig ausgeblendet sind." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" +"Gibt an, ob es sich bei dem Verzeichnis um ein Stammverzeichnis handelt.\n" +" Ein Stammverzeichnis hat ein Einstellungsobjekt, während ein " +"Verzeichnis mit einem gesetzten\n" +" Oberverzeichnis die Einstellungen von seinem übergeordneten Element " +"erbt." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "Erbe Gruppen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "Erbe Berechtigungen vom verlinkten Objekt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "Erbe Anlageberechtigung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "Erbe Löschberechtigung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "Erbe Schreibberechtigung" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "Intern" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "Interne / Personal-Ressource" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "Ungültige Anhänge!" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "Rechnungen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "Ist ein Abonnent" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "Ist ein Stammverzeichnis" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "Es ist nicht möglich, den Speicherort zu ändern." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "Gerade erledigt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "Letzte Aktualisierung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "Verlinkte Datenmodelle" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "Verlinktes Anhangsmodell" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "ID des verknüpften Anhangs-Datensatzes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "Sperren" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "Gesperrt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "Gesperrt von" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "Manuelle Datei-Migration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "Nachrichtenübertragungsfehler" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "Nachrichten" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "Meta-Daten" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "Migrieren" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "Dateien migrieren" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "Migrationsstatus" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "Modell" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "Änderungsdatum" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Meine Aktivitätsfrist" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "Meine Verzeichnisse" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "Meine Dokumente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "Meine Dateien" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "Neues Stammverzeichnis" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "Neuer Speicherort" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "Neuigkeiten" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Frist der nächsten Aktivität" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "Zusammenfassung der nächsten Aktivität" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "Typ der nächsten Aktivität" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "Es wurde kein zur Verfügung gestellt" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "Nicht fertig" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "Keine Ergebnisse" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "Anzahl der Aktionen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "Anzahl der Fehler" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Anzahl der Meldungen, die Maßnahmen erfordern" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Anzahl der Nachrichten mit Übertragungsfehler" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "Diese Aktion kann nur von einem Manager durchgeführt werden." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"Optionale ID eines Threads (Datensatzes), an den alle eingehenden " +"Nachrichten angehängt werden, auch wenn darauf nicht geantwortet wurde. Ist " +"diese Option gesetzt, wird die Erstellung neuer Datensätze vollständig " +"deaktiviert." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "Organisation" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "Oberkategorie" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "Oberverzeichnis" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "Obergruppe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "Obermodell" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "Elternpfad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "Thread-ID des übergeordneten Datensatzes" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "Die übergeordnete Gruppe '%(parent)s' ist ein Kind von '%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"Übergeordnetes Modell, das den Alias enthält. Das Modell, das den Alias-" +"Referenzwert enthält, ist nicht notwendigerweise das durch alias_model_id " +"angegebene Modell (Beispiel: Projekt (parent_model) und Aufgabe (model))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "Json-Pfad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "Pfadnamen" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"Richtlinie zum Veröffentlichen einer Nachricht auf dem Dokument über das " +"Mailgateway.\n" +"- Jeder: jeder kann posten\n" +"- Partner: nur authentifizierte Partner\n" +"- Abonnenten: nur Abonnenten des entsprechenden Dokuments oder Mitglieder " +"der folgenden Kanäle\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "URL für Portalzugriff" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "Vorschau" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "Produkt" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "Projekt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "Leseberechtigung" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "Zugriffsgruppen des Datensatzes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "Referenzierter Datensatz" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "Thread-ID des Datensatzes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "Migration benötigt" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "Verantwortlicher Benutzer" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "Stammverzeichnisse" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "Verkäufe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "Speichertyp" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "Scannen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "Sicherheitstoken" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "Einstellungen" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "Teilen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "Speicherorte anzeigen" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "Einzelne Dateien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "Größe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "Sternchen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "Verzeichnisse mit Sternchen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "Sterne" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Status basierend auf Aktivitäten\n" +"Überfällig: Fälligkeitsdatum ist bereits überschritten\n" +"Heute: Aktivitätsdatum ist heute\n" +"Geplant: Zukünftige Aktivitäten." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "Speicherort" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "Speicherort ist verborgen" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "Speicherorte" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "Speicherorte werden verwendet, um Dokumente zu konfigurieren." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "Unterkategorien" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "Unterverzeichnisse" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "Unterverzeichnis" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "Stichwort" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "Es existiert bereits ein Stichwort mit diesem Namen!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "Stichwörter" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "Stichwörter werden genutzt, um Dokumente zu kategorisieren." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "Stichwörter..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "Technische Informationen" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" +"Das Aktiv-Feld ermöglicht es Ihnen, die Kategorie auszublenden, ohne sie zu " +"entfernen." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "" +"Das Aktiv-Feld ermöglicht es Ihnen, das Stichwort auszublenden, ohne es zu " +"entfernen." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "Der Name des Verzeichnisses ist ungültig." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "Dies ist ein verbotener Dateityp." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "Der Name der Datei ist ungültig." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "Die maximale Upload-Größe beträgt %s MB." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"Das Modell (Odoo Document Kind), dem dieser Alias entspricht. Jede " +"eingehende E-Mail, die nicht auf einen bestehenden Datensatz antwortet, " +"führt zur Erstellung eines neuen Datensatzes dieses Modells (z. B. einer " +"Projektaufgabe)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"Der Name des E-Mail-Alias, z. B. \"jobs\", wenn Sie E-Mails für " +" abfangen möchten." + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "Der Gruppenname muss eindeutig sein!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "Dieses Verzeichnis muss einem Datensatz zugeordnet werden." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "Gesamtanzahl der Elemente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "Gesamtanzahl der Dateien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "Gesamtanzahl der Unterverzeichnisse" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "Reisen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "Typ" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Art der Ausnahmeaktivität des Datensatzes." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "Löschberechtigung" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "Entsperren" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "E-Mail entpacken als" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "Hochladen" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "Datei hochladen" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "Erste Datei hochladen." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "Benutzer" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "Benutzer" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "Lieferantenrechnung" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "Ansichten" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "Website-Nachrichten" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "Historie der Website-Kommunikation" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "Schreibberechtigung" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "Sie müssen zuerst ein Verzeichnis auswählen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "Element(e)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe, msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" + +#~ msgid "" +#~ "\n" +#~ " Archive" +#~ msgstr "" +#~ "\n" +#~ " Archivieren" + +#~ msgid "" +#~ "\n" +#~ " Unarchive" +#~ msgstr "" +#~ "\n" +#~ " Wiederherstellen" + +#~ msgid "" +#~ "\n" +#~ " Download" +#~ msgstr "" +#~ "\n" +#~ " Herunterladen" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Öffnen" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Öffnen" + +#~ msgid "" +#~ "\n" +#~ " Files" +#~ msgstr "" +#~ "\n" +#~ " Dateien" + +#~ msgid "" +#~ "\n" +#~ " Directories" +#~ msgstr "" +#~ "\n" +#~ " Verzeichnisse" + +#~ msgid "" +#~ "\n" +#~ " Lock" +#~ msgstr "" +#~ "\n" +#~ " Sperren" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Bearbeiten" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Bearbeiten" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Löschen" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Löschen" + +#~ msgid "" +#~ "\n" +#~ " Unlock" +#~ msgstr "" +#~ "\n" +#~ " Entsperren" + +#~ msgid "" +#~ "\n" +#~ " Storages\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " Speicherorte\n" +#~ " " + +#~ msgid "" +#~ "File\n" +#~ " Extensions\n" +#~ " " +#~ msgstr "" +#~ "Dateiendungen\n" +#~ " " + +#~ msgid "File Size" +#~ msgstr "Dateigröße" + +#, python-format +#~ msgid "A file with the same name already exists." +#~ msgstr "Es existiert bereits eine Datei mit diesem Namen." + +#~ msgid "Alias domain" +#~ msgstr "Alias-Domain" + +#~ msgid "" +#~ "Define the maximum upload size of a\n" +#~ " file in MB" +#~ msgstr "" +#~ "Legen Sie die maximale Upload-Größe einer Datei\n" +#~ " in MB fest" + +#~ msgid "Dropdown menu" +#~ msgstr "Dropdown-Menü" + +#~ msgid "" +#~ "Indicate if directories and files access work only with related model " +#~ "access (for example, if some directories are related with any sale, only " +#~ "users with read access to these sale can acess)" +#~ msgstr "" +#~ "Gibt an, ob Verzeichnisse und Dateizugriff nur mit verwandtem " +#~ "Modellzugriff funktionieren (z. B. wenn einige Verzeichnisse mit einem " +#~ "Verkauf in Verbindung stehen, können nur Benutzer mit Lesezugriff auf " +#~ "diesen Verkauf zugreifen)" + +#, python-format +#~ msgid "It is not possible to change parent to other storage." +#~ msgstr "" +#~ "Es ist nicht möglich, das Eltern-Objekt auf einen anderen Speicherort " +#~ "einzustellen." + +#~ msgid "Last Modified on" +#~ msgstr "Zuletzt geändert am" + +#, python-format +#~ msgid "Loading" +#~ msgstr "Lädt" + +#~ msgid "Main Attachment" +#~ msgstr "Hauptanhang" + +#~ msgid "Only admin user" +#~ msgstr "Nur Admin Benutzer" + +#~ msgid "Operations" +#~ msgstr "Operationen" + +#~ msgid "Owner" +#~ msgstr "Besitzer" + +#~ msgid "The configuration is done!" +#~ msgstr "Die Konfiguration ist abgeschlossen!" + +#~ msgid "" +#~ "The owner of records created upon receiving emails on this alias. If this " +#~ "field is not set the system will attempt to find the right owner based on " +#~ "the sender (From) address, or will use the Administrator account if no " +#~ "system user is found for that address." +#~ msgstr "" +#~ "Der Eigentümer der Datensätze, die beim Empfang von E-Mails mit diesem " +#~ "Alias erstellt werden. Wenn dieses Feld nicht gesetzt ist, versucht das " +#~ "System, den richtigen Besitzer anhand der Absenderadresse zu finden, oder " +#~ "es verwendet das Administratorkonto, wenn kein Systembenutzer für diese " +#~ "Adresse gefunden wird." + +#~ msgid "" +#~ "The save type is used to determine how a file is saved by the\n" +#~ " system. If you change this setting, you can migrate existing " +#~ "files\n" +#~ " manually by triggering the action." +#~ msgstr "" +#~ "Der Speichertyp wird verwendet, um zu bestimmen, wie eine Datei vom\n" +#~ " System gespeichert wird. Wenn Sie diese Einstellung ändern, " +#~ "können Sie vorhandene Dateien\n" +#~ " manuell migrieren, indem Sie die Aktion auslösen." + +#, python-format +#~ msgid "Viewer" +#~ msgstr "Betrachter" + +#, python-format +#~ msgid "Error has not been raised" +#~ msgstr "Es ist ein Fehler aufgetreten." + +#~ msgid "Model Name" +#~ msgstr "Modellname" + +#~ msgid "SMS Delivery error" +#~ msgstr "SMS-Zustellfehler" diff --git a/dms/i18n/dms.pot b/dms/i18n/dms.pot new file mode 100644 index 000000000..9ce09979b --- /dev/null +++ b/dms/i18n/dms.pot @@ -0,0 +1,2239 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each email\n" +" and the mail is attached to this subdirectory. The attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those of the folder that contains it, therefore, it is possible that when you change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task" +" creation alias)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access" +" (for example, if some directories are related with any sale, only users " +"with read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process " +"too" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a set\n" +" parent inherits the settings form its parent." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not" +" necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following channels\n" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming" +" email that does not reply to an existing record will cause the creation of " +"a new record of this model (e.g. a Project Task)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you" +" change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" diff --git a/dms/i18n/es.po b/dms/i18n/es.po new file mode 100644 index 000000000..ca41c9539 --- /dev/null +++ b/dms/i18n/es.po @@ -0,0 +1,2530 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-20 08:48+0000\n" +"PO-Revision-Date: 2024-05-20 10:49+0200\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 3.0.1\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" Defina cómo se procesan los correos electrónicos entrantes:\n" +"\n" +" - Archivos individuales: el correo electrónico se adjunta a " +"la carpeta y\n" +" todos los adjuntos se crean como archivos.\n" +"\n" +" - Subcarpeta: se crea una nueva subcarpeta para cada correo " +"electrónico\n" +" y el correo se adjunta a esta subcarpeta. Los adjuntos\n" +" se crean como archivos de la subcarpeta.\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Archivos" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Subcarpetas" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" +"\n" +" ATENCIÓN: Consejos a tener en cuenta antes de " +"mover los archivos:
\n" +" - Este cambio no se puede deshacer.
\n" +" - Recuerda que los permisos de los archivos son los del " +"directorio que lo contiene, por lo tanto, es posible que al cambiarlo, los " +"permisos también cambien.
\n" +" Haz este cambio bajo tu responsabilidad." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" +"@\n" +" @ " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "Documentos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"Un diccionario de Python que se evaluará para proporcionar valores " +"predeterminados al crear nuevos registros para este alias." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "Una carpeta no puede ser raíz y tener una carpeta padre." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "Una carpeta debe tener una carpeta padre." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" +"Un directorio debe tener un modelo en el almacenamiento de archivos adjuntos." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "Una carpeta con el mismo nombre ya existe." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" +"Un archivo debe tener un ID de modelo y recurso en el almacenamiento de " +"archivos adjuntos." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "Un directorio root debe tener un almacenamiento." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Mezcla Dms abstracta" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "Aceptar emails de" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "Grupos de acceso" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "Información de acceso" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "Aviso de acceso" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "Contabilidad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "Acción necesaria" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "Acciones" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "Activo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoración de excepción de actividad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "Estado de actividad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono para el tipo de actividad" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "Añadir un nuevo archivo." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "Añadir un nuevo archivo." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "Admin" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "Alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "Seguridad de contacto de alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "Nombre del alias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "Opción de alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "Extracción de alias de correo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "Modelo con alias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "Todo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "Todos los archivos" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "Se ha producido un error durante la carga" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "Aplicaciones" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "Archivado" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "Archivos archivados" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "¿Estás seguro? Todos los archivos se moverán." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "Adjunto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "Nº de adjuntos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "Archivo adjunto" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "Base/Fuente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "Categorías" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "Las categorías son usadas para categorizar documentos." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "Categoría" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "¡El nombre de la categoría ya existe!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "Verificación de suma/SHA1" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "Categorías hijas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "Grupos hijos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "Click para añadir una nueva carpeta." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "Click para añadir un nuevo archivo." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "Click para crear una nueva etiqueta." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "Cerrado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "Color" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "Índice de color" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "Compañía" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "Grupos completos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "Nombre completo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "Directorios completos" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "Opciones de configuración" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "Configuración" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "Contenido" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "Contenido binario" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "Contenido de archivo" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "Contrato" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "Contratos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "Nº de carpetas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "Nº de elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "Nº de archivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "Título de los archivos de recuento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "Nº de subcategorías" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "Nº de subcarpetas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "Título de las carpetas de recuento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "Nº de etiquetas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "Conteo de usuarios" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "Crear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "Acceso de creación" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "Crear carpeta" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "Crear almacenamiento" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "Crear una nueva categoría." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "Crear un nuevo documento de almacenamiento." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "Crear una nueva carpeta raíz." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "Crear un nuevo objeto de almacenamiento." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "Crear archivos a partir de archivos adjuntos de mensajes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "Fecha de creación" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "Tipo de guardado actual" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "Mensaje de rebote personalizado" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "Cliente" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "Factura de cliente" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "URL del portal del cliente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "Carpetas" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "Mezcla de seguridad DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "Mezcla de iconos y miniaturas de DMS" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "Base de datos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "Valores por defecto" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "Define extensiones de archivo prohibidos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" +"Define una lista de extensiones de archivo prohibidas. (Ejemplo: 'exe,msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "Define el tamaño máximo de carga en MB. Por defecto (25 MB)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "Acceso de eliminación" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "Carpetas" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"Las carpetas se pueden utilizar para estructurar y organizar\n" +" archivos directamente en Odoo." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "Carpeta" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "Nombre a mostrar" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "Categoría del documento" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "Etiqueta del documento" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "Documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "Estado del directorio de incorporación de documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "Estado de archivo de incorporación de documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "Estado de incorporación de documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "Estado de almacenamiento de incorporación de documentos" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "Hecho" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "Editor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "Alias de email" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "Hilo de correo electrónico" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "¡Error! No puedes crear categorías recursivas." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "¡Error! No puedes crear carpetas recursivas." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "Usuarios explícitos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "Extensión" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "Extensiones" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "Externo" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "Archivo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "Archivo subido" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "Archivos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "Los archivos se usan para guardar el contenido directamente en Odoo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "Almacenamiento" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Contactos)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de fuente impresionante, por ejemplo fa-tasks" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "Opciones generales" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "Grupo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "Nombre del grupo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "Usuarios del grupo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "Grupos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "Tiene mensaje" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "Recursos humanos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "ID" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"ID del registro principal que contiene el alias (ejemplo: proyecto que " +"contiene el alias de creación de la tarea)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "Icono" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "URL del icono" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad de excepción." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"Si un archivo está definido como archivado, no se mostrará, pero todavía " +"existe." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si está marcado los nuevos mensajes requieren su atención." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Si está marcado algunos mensajes tienen error de entrega." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" +"Si se configura, las carpetas y archivos solo estarán disponibles para la " +"empresa seleccionada." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"Si se establece, este contenido se enviará automáticamente a usuarios no " +"autorizados en lugar del mensaje predeterminado." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "Imagen" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "Imagen 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "Imagen 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "Imagen 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "Imagen 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" +"Indique si los directorios y los archivos también se crean automáticamente " +"en el proceso de composición del correo" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "" +"Indica si las carpetas y archivos están ocultos de forma predeterminada." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" +"Indica si la carpeta es una carpeta raíz.\n" +" Una carpeta raíz tiene un objeto de configuración, mientras que una " +"carpeta con un\n" +" padre hereda la configuración de su padre." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "Grupos heredados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "Heredar permisos del registro relacionado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "Crear acceso heredado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "Acceso no enlazado heredado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "Acceso de escritura heredado" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "Interno" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "Interno / Recursos humanos" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "¡Archivos adjuntos no válidos!" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "Facturas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "Es seguidor" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "Es carpeta raíz" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "No es posible cambiar el almacenamiento." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "Justo ahora" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "Última actualización" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "Modelos vinculados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "Modelo de adjuntos vinculado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "ID de registro de archivos adjuntos vinculados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "Bloquear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "Bloqueado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "Bloqueado por" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "Responsable" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "Migración de archivo manual" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "Error de entrega de mensaje" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "Información meta" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "Migrar" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" +"Migrar archivo %(index)s of %(record_count)s [ %(dms_file_migration)s ]" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "Migrar archivos" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "Migración" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "Estado de migración" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "Modelo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "Fecha de modificación" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "Mover" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "Mover archivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Fecha límite de mi actividad" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "Mis directorios" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "Mis documentos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "Mis archivos" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "Nombre" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "Nuevo directorio raíz" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "Nuevo almacenamiento" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "Novedades" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha fin siguiente actividad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de siguiente actividad" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo de siguiente actividad" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "No se proporcionó ningún anexo" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "No hecho" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "Sin resultados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de acciones" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "Número de error" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensajes que requieren una acción" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "Solo los archivos con la misma carpeta raíz se pueden mover." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "Solo los responsables pueden ejecutar esta acción." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"ID opcional de un hilo (registro) al que se adjuntarán todos los mensajes " +"entrantes, incluso si no respondieron. Si se establece, esto deshabilitará " +"la creación de nuevos registros por completo." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "Organizar" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "Propietario" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "Categoría padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "Carpeta padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "Grupo padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "Modelo padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "Ruta padre" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "El grupo parental 'l%(parent)s' es hijo de '%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"Modelo principal que tiene el alias. El modelo que contiene la referencia de " +"alias no es necesariamente el modelo dado por alias_model_id (ejemplo: " +"proyecto (parent_model) y tarea (modelo))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "Contacto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "Ruta Json" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "Nombres de ruta" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"Política para publicar un mensaje en el documento mediante el mailgateway.\n" +"- todos: todos pueden publicar\n" +"- socios: solo socios autenticados\n" +"- seguidores: solo seguidores del documento relacionado o miembros de los " +"siguientes canales\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "Portal" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "URL de acceso al portal" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "Vista Anticipada" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "Producto" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "Proyecto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "Acceso de lectura" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "Grupos de acceso de registro" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "Registro referenciado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "ID de hilo de registro" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "Requiere migración" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "Usuario responsable" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "Carpetas raíz" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "Directorio Raíz" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "Ventas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "Tipo guardado" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "Escanear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "Token de seguridad" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "Opciones" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "Compartir" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "Mostrar almacenamientos" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "Archivos individuales" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "Tamaño" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "Destacado" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "Carpetas destacadas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "Estrellas" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado basado en actividades\n" +"Vencido: la fecha de vencimiento ya pasó\n" +"Hoy: la fecha de actividad es hoy\n" +"Planificado: actividades futuras." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "Almacenamiento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "Almacenamiento está oculto" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "Almacenamientos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "Los almacenamientos se utilizan para configurar sus documentos." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "Subcarpetas" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "Subcarpetas" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "Subcarpeta" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "Sistema" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "Etiqueta" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "¡El nombre de la etiqueta ya existe!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "Etiquetas" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "Las etiquetas se usan para categorizar documentos." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "Etiquetas..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "Información técnica" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "El campo activo le permite ocultar la categoría sin eliminarla." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "El campo activo le permite ocultar la etiqueta sin quitarla." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "El nombre de la carpeta es inválido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "El archivo tiene una extensión prohibida." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "El nombre de archivo es inválido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "El tamaño máximo de subida es %s MB." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"El modelo (tipo de documento de Odoo) al que corresponde este alias. " +"Cualquier correo electrónico entrante que no responda a un registro " +"existente provocará la creación de un nuevo registro de este modelo (por " +"ejemplo, una tarea de proyecto)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"El nombre del alias de correo electrónico, p. Ej. 'trabajos' si desea " +"recibir correos electrónicos para " + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "¡El nombre del grupo debe ser único!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "Este directorio necesita estar asociado a un registro." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "Total elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "Total archivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "Total subcarpetas" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "Total archivos" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "Viaje" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "Tipo" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de actividad de excepción registrada." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "Acceso de eliminación" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "Desbloquear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "Desempaquetar correos electrónicos como" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "Subir" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "Archivo subido" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "Sube tu primer archivo." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "Usuario" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "Usuarios" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "Factura del proveedor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "Vistas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "Mensajes del sitio web" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "Histórico de mensajes del sitio web" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "Acceso de escritura" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "Debe selecciona una carpeta primero" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "elemento(s)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe,msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "mail.catchall.domain" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_directory.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_directory.png" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_file.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_file.png" + +#~ msgid "" +#~ "\n" +#~ " Archive" +#~ msgstr "" +#~ "\n" +#~ " Archivar" + +#~ msgid "" +#~ "\n" +#~ " Unarchive" +#~ msgstr "" +#~ "\n" +#~ " Desarchivar" + +#~ msgid "" +#~ "\n" +#~ " Download" +#~ msgstr "" +#~ "\n" +#~ " Descargar" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Files" +#~ msgstr "" +#~ "\n" +#~ " Archivos" + +#~ msgid "" +#~ "\n" +#~ " Directories" +#~ msgstr "" +#~ "\n" +#~ " Carpetas" + +#~ msgid "" +#~ "\n" +#~ " Lock" +#~ msgstr "" +#~ "\n" +#~ " Bloquear" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Editar" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Editar" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Eliminar" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Eliminar" + +#~ msgid "" +#~ "\n" +#~ " Unlock" +#~ msgstr "" +#~ "\n" +#~ " Bloquear" + +#~ msgid "" +#~ "\n" +#~ " Storages\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " Almacenamientos\n" +#~ " " + +#~ msgid "" +#~ "File\n" +#~ " Extensions\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ "Extensiones de archivo\n" +#~ " " + +#~ msgid "File Size" +#~ msgstr "Tamaño de archivo" + +#, python-format +#~ msgid "A file with the same name already exists" +#~ msgstr "Ya existe un archivo con el mismo nombre" + +#, python-format +#~ msgid "A file with the same name already exists." +#~ msgstr "Un archivo con el mismo nombre ya existe." + +#~ msgid "Alias domain" +#~ msgstr "Dominio de alias" + +#~ msgid "" +#~ "Define the maximum upload size of a\n" +#~ " file in MB" +#~ msgstr "" +#~ "Define el tamaño máximo de un\n" +#~ " archivo en MB" + +#~ msgid "Dropdown menu" +#~ msgstr "Menú desplegable" + +#~ msgid "" +#~ "Indicate if directories and files access work only with related model " +#~ "access (for example, if some directories are related with any sale, only " +#~ "users with read access to these sale can acess)" +#~ msgstr "" +#~ "Indique si el acceso a directorios y archivos funciona solo con el modelo " +#~ "de acceso relacionado (por ejemplo, si algunos directorios están " +#~ "relacionados con alguna venta, solo los usuarios con acceso de lectura a " +#~ "estas ventas pueden acceder)" + +#, python-format +#~ msgid "It is not possible to change parent to other storage." +#~ msgstr "No es posible cambiar el parent a otro almacenamiento." + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación el" + +#, python-format +#~ msgid "Loading" +#~ msgstr "Cargando" + +#~ msgid "Main Attachment" +#~ msgstr "Adjunto principal" + +#~ msgid "Only admin user" +#~ msgstr "Solo usuario administrador" + +#~ msgid "Operations" +#~ msgstr "Operaciones" + +#~ msgid "Owner" +#~ msgstr "Sobrescribir" + +#~ msgid "The configuration is done!" +#~ msgstr "¡La configuración está terminada!" + +#~ msgid "" +#~ "The owner of records created upon receiving emails on this alias. If this " +#~ "field is not set the system will attempt to find the right owner based on " +#~ "the sender (From) address, or will use the Administrator account if no " +#~ "system user is found for that address." +#~ msgstr "" +#~ "El propietario de los registros creados al recibir correos electrónicos " +#~ "con este alias. Si este campo no está configurado, el sistema intentará " +#~ "encontrar el propietario correcto según la dirección del remitente (De), " +#~ "o utilizará la cuenta de administrador si no se encuentra ningún usuario " +#~ "del sistema para esa dirección." + +#~ msgid "" +#~ "The save type is used to determine how a file is saved by the\n" +#~ " system. If you change this setting, you can migrate existing " +#~ "files\n" +#~ " manually by triggering the action." +#~ msgstr "" +#~ "El tipo de guardado se utiliza para determinar cómo se guarda un archivo\n" +#~ " sistema. Si cambia esta configuración, puede migrar archivos " +#~ "existentes\n" +#~ " manualmente activando la acción." + +#, python-format +#~ msgid "Viewer" +#~ msgstr "Visualizador" + +#~ msgid "action_close_documents_onboarding" +#~ msgstr "action_close_documents_onboarding" + +#~ msgid "o_onboarding_blue" +#~ msgstr "o_onboarding_blue" + +#~ msgid "o_onboarding_orange" +#~ msgstr "o_onboarding_orange" + +#~ msgid "res.company" +#~ msgstr "res.company" diff --git a/dms/i18n/fa.po b/dms/i18n/fa.po new file mode 100644 index 000000000..0a8f766f3 --- /dev/null +++ b/dms/i18n/fa.po @@ -0,0 +1,2336 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-28 16:06+0000\n" +"Last-Translator: Mostafa Barmshory \n" +"Language-Team: none\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each email\n" +" and the mail is attached to this subdirectory. The attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" نحوه پردازش ایمیل های دریافتی را مشخص کنید:\n" +"پرونده‌های منفرد: ایمیل به دایرکتوری پیوست می‌شود و \n" +"تمامی پیوست‌ها به شکل پرونده‌ها ایجاد شده‌اند. \n" +"\n" +"ساب‌دایرکتوری: یک ساب‌دایرکتوری جدید برای هر ایمیل ایجاد شده است.\n" +"و ایمیل به این ساب‌دایرکتوری پیوست شده است. پیوست‌ها \n" +"به شکل پرونده‌های ساب‌دایرکتوری‌ها ایجاد شده‌اند.\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (رونوشت)" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s پرونده‌ها" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s ساب‌دایرکتوری‌ها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" +"\n" +"بایگانی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" +"\n" +"بایگانی نشده" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" +"\n" +"دانلود" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those of the folder that contains it, therefore, it is possible that when you change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" +"\n" +" توجه نکاتی که باید پیش از جابه‌جایی پرونده‌های در نظر داشته باشید: <" +"br/>\n" +"نمی‌توانید این تغییر را لغو کنید.
\n" +"به یاد داشته باشید که مجوزهای پرونده‌ها تحت تاثیر مجوزهای پوشه‌هایی است که " +"آن پرونده‌ها در آن قرار دارند، بنابراین، اگر آنها را تغییر دهید، ممکن است " +"مجوزها نیز تغییر کنند.
\n" +"این تغییر را با مسئولیت خودتان انجام دهید." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" +"\n" +"باز کنید" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" +"\n" +"پرونده‌ها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" +"\n" +"دایرکتوری‌ها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" +"\n" +"قفل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" +"\n" +"ویرایش" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" +"\n" +"پاک کردن" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" +"\n" +"قفل‌گشایی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" +"@\n" +"@" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "
اقدامات
" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr " اسناد " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr " عملیات " + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"یک فرهنگ لغت پایتون که ارزیابی می‌شود تا مقادیر پیش‌فرض هنگام ایجاد رکوردهای " +"جدید برای این نام مستعار ارائه کند." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "یک دایرکتوری نمی‌تواند خودش ریشه باشد و یک دایرکتوری والد دارد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "یک دایرکتوری باید حتما یک دایرکتوری والد داشته باشد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "یک دایرکتوری باید دارای مدل در ذخیره‌سازی پیوست باشد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "یک دایرکتوری با همین نام از قبل وجود دارد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "یک پرونده باید دارای مدل و شناسه منبع داده در محل ذخیره‌سازی باشد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "یک پرونده با نام مشابه از قبل در این دایرکتوری وجود دارد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "یک دایرکتوری ریسه باید یک محل ذخیره داشته باشد." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Misin انتزاعی سامانه مدیریت اسناد" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "ایمیل‌ها را از ... بپذیرید" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "گروه‌های دسترسی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "دسترسی به اطلاعات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "هشدار دسترسی" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "حسابداری" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "اقدام لازم است" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "اقدامات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "فعال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "فعالیت‌ها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "نشانه‌گذاری بصری استثنا در فعالیت" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "وضعیت فعالیت" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "آیکون نوع فعالیت" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "یک دایرکتوری جدید اضافه کنید." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "یک پرونده جدید اضافه کنید." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "محتوای بیشتر اضافه کنید تا در ایمیل نشان داده شود" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "مدیر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "نام مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "امنیت مخاطبان با نام مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "دامنه مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "نام دامنه مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "ایمیل مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "نام مستعار" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "تنظیمات مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "وضعیت نام مستعار" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "وضعیت نام مستعار بر اساس آخرین پیام دریافتی ارزیابی می‌شود." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "استخراج ایمیل نام مستعار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "مدل مستعار" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "همه" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "همه پرونده‌ها" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "یک خطا طی بارگذاری رخ داد" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "اپلیکیشن‌ها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "بایگانی شده" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "پرونده‌‎های بایگانی شده" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "آیا مطمئن هستید؟ همه فایل‌ها جابه‌جا خواهند شد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "پیوست" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "تعداد پیوست" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "پرونده پیوست" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "پایه" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "لغو کردن" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "دسته‌بندی‌ها" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "دسته‌بندی‌ها برای دسته‌بندی کردن اسناد به کار می‌روند." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "دسته‌بندی" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "نام این دسته‌بندی از قبل وجود داشت!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "کدکنترلی/SHA1" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "دسته‌بندی‌های زیرشاخه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "گروه‌های زیرشاخه" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "برای افزودن یک دایرکتوری جدید، کلیک کنید." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "برای افزودن یک پرونده جدید کلیک کنید." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "برای ایجاد یک تگ جدید کلیک کنید." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "بسته شده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "رنگ" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "شاخص رنگ" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "شرکت‌ها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "شرکت" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "گروه‌ها را کامل کنید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "اسامی را تکمیل کنید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "دایرکتوری‌ها را تکمیل کنید" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "تنظیمات پیکربندی" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "پیکربندی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "محتوا" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "محتوای باینری" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "پرونده محتوا" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "قرارداد" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "قراردادها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "دایرکتوری‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "عناصر را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "پرونده‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "عنوان پرونده‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "زیرمجموعه‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "زیرمجموعه‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "عنوان زیرمجموعه‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "تگ‌ها را بشمارید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "کاربران را بشمارید" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "ایجاد کردن" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "دسترسی ایجاد کنید" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "دایرکتوری ایجاد کنید" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "فضای ذخیره سازی ایجاد کنید" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "یک دسته‌بندی جدید ایجاد کنید." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "یک محل ذخیره‌سازی جدید ایجاد کنید." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "یک دایرکتوری ریشه جدید ایجاد کنید." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "یک شیء ذخیره‌سازی جدید ایجاد کنید." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "از پیوست‌های پیام یک پرونده ایجاد کنید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "ایجاد شده توسط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "ایجاد شده بر" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "تاریخ ایجاد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "نوع ذخیره کنونی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "پیام برگشتی سفارشی" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "مشتری" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "فاکتور مشتری" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "نشانی اینترنتی پرتال مشتری" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "سامانه مدیریت اسناد" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "Mixin امنیت سامانه مدیریت اسناد" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "آیکون Mixin و تصویرکوچک سامانه مدیریت اسناد" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "پایگاه داده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "مقادیر پیش‌فرض" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "پسوندهای پرونده ممنوعه را تعریف کنید" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "حداکثر اندازه بارگذاری یک پرونده را به مگابایت تعریف کنید" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "یک فهرست از پسوندهای پرونده‌های ممنوعه را تعریف کنید. (مثال: 'exe,msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "حداکثر اندازه بارگذاری را به مگا بایت تعریف کنید. پیش‌فرض (25مگابایت)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "دسترسی را پاک کنید" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "دایرکتوری‌ها" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"می‌توانید از دایرکتوری‌ها برای ساختاربندی و سازمان‌دهی\n" +"پرونده‌ها در اودوو استفاده کنید." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "دایرکتوری" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "نام نمایش داده شده" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "دسته‌بندی سند" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "محل ذخیره‌سازی سند ایجاد شد!" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "تگ سند" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "اسناد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "وضعیت ورود به سیستم فهرست اسناد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "وضعیت ورود به سیستم پرونده اسناد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "وضعیت ورود به سیستم اسناد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "وضعیت ورود به سیستم ذخیره‌سازی اسناد" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "انجام شده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "ویرایشگر" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "عناصر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "نام مستعار ایمیل" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "رشته ایمیل" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "دامنه ایمیل برای مثال 'example.com' در 'odoo@example.com'" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "خطا! شما نمی‌توانید دسته‌های تودرتو ایجاد کنید." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "شما نمی‌توانید دایرکتوری‌های تودرتو ایجاد کنید." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "کاربران صریح" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "پسوند" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "پسوندها" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "خارجی" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "پرونده" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "پسوندهای پرونده" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "ورود به سامانه پرونده‌ها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "اندازه پرونده" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "بارگذاری پرونده" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "مدل کمکی پرونده استریم برای کنترلگرها" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "پرونده‌ها" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "پرونده‌ها برای ذخیره دایرکتوری محتوا در اودوو استفاده می‌شوند." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "سیستم ذخیره‌سازی پرونده" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "اولین پرونده بارگذاری شد!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "دنبال کنندگان" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "دنبال کنندگان (شرکاء)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "آیکون font awesome مانند fa-tasks" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "تنظیمات عمومی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "گروه" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "گروه‌بندی توسط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "نام گروه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "کاربران گروه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "گروه‌ها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "پیامی دارد" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "منابع انسانی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "شناسه" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task" +" creation alias)" +msgstr "" +"شناسه رکورد والد که دارای نام مستعار است (به عنوان مثال: پروژه‌ای که حاوی " +"نام مستعار ایجاد وظیفه است)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "آیکون" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "نشانی اینترنتی آیکون" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "آیکونی برای نمایش یک فعالیت اسنثنایی." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"اگر یک پرونده را تنظیم کردید تا بایگانی شود در آن صورت آن پرونده نشان داده " +"نمی‌شود ولی همچنان وجود دارد." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" +"تیک را بزنید تا در زمان دریافت پیام جدید سیستم به شما اعلام کند و شما آنها " +"را بررسی کنید." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "تیک را بزنید تا پیام خطای تحویل پیام‌ها برایتان بیاید." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "تنظیم کنید تا دایرکتوری‌ها و پرونده‌ها فقط در دسترس شرکت منتخب باشد." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"تنظیم کنید تا این محتوا به جای پیام پیش‌فرض برای کاربران غیرمجاز به صورت " +"خودکار ارسال شود." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "تصویر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "تصویر 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "تصویر 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "تصویر 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "تصویر 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access" +" (for example, if some directories are related with any sale, only users " +"with read access to these sale can access)" +msgstr "" +"مشخص کنید که آیا دسترسی به دایرکتوری‌ها و پرونده‌ها تنها با دسترسی به مدل‌" +"های مربوطه کار می‌کند (برای مثال، اگر برخی دایرکتوری‌ها به فروش خاصی مرتبط " +"باشند، تنها کاربرانی که به آن فروش دسترسی خواندنی دارند، می‌توانند به این " +"دایرکتوری‌ها دسترسی پیدا کنند)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process " +"too" +msgstr "" +"مشخص کنید آیا دایرکتوری‌ها و پرونده‌ها به صورت خودکار فرآیند ایجاد ایمیل را " +"نیز ایجاد کنند" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "مشخص کنید آیا دایرکتوری‌ها و پرونده‌ها به صورت پیش‌فرض مخفی باشند." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a set\n" +" parent inherits the settings form its parent." +msgstr "" +"مشخص کنید آیا دایرکتوری یک دایرکتوری ریشه است.\n" +"یک دایرکتوری ریشه دارای یک شیء تنظیمات است، در حالی که یک دایرکتوری‌ با یک " +"مجموعه\n" +"والد، تنظیمات را از والد خود به ارث می‌برد." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "گروه‌های وارث" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "از رکورد مربوطه مجوزها را به ارث ببرید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "دسترسی ایجاد به ارث برده شده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "دسترسی به حذف به ارث رسیده شده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "دسترسی نگارش به ارث رسیده شده" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "داخلی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "داخلی/منابع انسانی" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "پیوست‌ها نامعتبر!" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "فاکتورها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "دنبال کننده است" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "دایرکتوری ریشه است" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "امکان تغییر محل ذخیره سازی وجود ندارد." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "امکان تغییر یک ذخیره سازی والد با یک ذخیره سازی دیگر وجود ندارد." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "به تازگی انجام شده است" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "آخرین بار توسط ... به روزرسانی شده است" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "آخرین بار در ... به روزرسانی شده است" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "آخرین به روزرسانی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "لینک/پیوند" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "مدل‌های پیوندشده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "مدل پیوست‌های پیوندشده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "شناسه سابقه پیوست‌های پیوندشده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "تشخیص ورودی مبتنی بر بخش محلی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "قفل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "قفل شده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "قفل شده توسط" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "مدیر/رئیس" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "انتقال دستی پرونده" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "خطای تحویل پیام" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "پیام‌ها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "اطلاعات متا" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "انتقال داده‌ها" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "انتقال پرونده %(index)s از %(record_count)s [ %(dms_file_migration)s ]" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "پرونده‌ها را انتقال دهید" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "انتقال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "وضعیت انتقال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "مدل" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "تاریخ اصلاح" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "جابه‌جایی" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "پرونده‌ها را جابه‌جا کنید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "ضرب الاجل فعالیت من" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "دایرکتوری‌های من" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "اسناد من" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "پرونده‌های من" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "نام" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "دایرکتوری ریشه جدید" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "محل ذخیره سازی جدید" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "اخبار" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "ضرب الاجل فعالیت بعدی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "خلاصه فعالیت بعدی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "نوع فعالیت بعدی" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "هیچ پیوستی ارائه نشده است" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "انجام نشده است" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "بدون نتایج" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "یادداشت" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "تعداد اقدامات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "تعداد خطاها" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "تعداد پیام‌هایی که نیازمند اقدام هستند" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "تعداد پیام های دارای خطای تحویل" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +#, fuzzy +msgid "Onboarding" +msgstr "فرآیند ورود و ادغام" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +#, fuzzy +msgid "Onboarding Directory" +msgstr "دایرکتوری ورود و ادغام" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "پرونده ورود و ادغام" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +#, fuzzy +msgid "Onboarding Step" +msgstr "مرحله ورود و ادغام" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "ذخیره‌سازی ورود و ادغام" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "فقط فایل‌های موجود در همان دایرکتوری ریشه می‌توانند جابجا شوند." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "فقط مدیران می‌توانند این عمل را اجرا کنند." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +#, fuzzy +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"شناسه اختیاری یک موضوع (رکورد) که به آن همه پیام‌های ورودی متصل خواهند شد، " +"حتی اگر به آن پاسخ ندهند. اگر این تنظیم فعال شود، ایجاد رکوردهای جدید کاملاً " +"غیرفعال خواهد شد." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "سازماندهی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "دسته والد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "دایرکتوری والد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "گروه والد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "مدل والد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "مسیر والد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "شناسه موضوع رکورد والد" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, fuzzy, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "%(parent)sگروه والد \" فرزند \"%(current)s\" است." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not" +" necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"مدل والد دارای نام مستعار. مدلی که مرجع نام مستعار را نگه می دارد لزوماً " +"مدلی نیست که توسط alias_model_id (مثال: پروژه (parent_model) و task (model) " +"ارائه شده است))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "شریک" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "مسیرJson" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "نام‌های مسیر" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following channels\n" +msgstr "" +"خط مشی ارسال پیام در سند با استفاده ازدرگاه پستی.\n" +"- همه: همه می توانند پست کنند\n" +"- شرکا: فقط شرکای تأیید شده\n" +"- دنبال کنندگان: فقط دنبال کنندگان سند مرتبط یا اعضای کانال های زیر\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "پورتال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +#, fuzzy +msgid "Portal Access URL" +msgstr "URL دسترسی به پورتال" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "پیش نمایش" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "محصول" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "پروژه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +#, fuzzy +msgid "Read Access" +msgstr "دسترسی را بخوانید" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "گیرندگان" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "گروه‌های دسترسی به رکورد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "رکورد ارجاع داده شد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "شناسه رشته رکورد" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "سند مرتبط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "شناسه سند مرتبط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "مدل سند مرتبط" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +#, fuzzy +msgid "Require Migration" +msgstr "نیاز به انتقال" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "کاربر مسئول" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#, fuzzy +msgid "Root Directories" +msgstr "دایرکتوری‌های ریشه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "دایرکتوری ریشه" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "دایرکتوری ریشه ایجاد شد!" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "فروش" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "نوع ذخیره‌سازی" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "اسکن" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "رمز امنیتی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "تنظیمات" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +#, fuzzy +msgid "Share" +msgstr "اشتراک گذاری" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "نمایش ذخیره‌سازی‌ها" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "پرونده های تکی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "اندازه" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +#, fuzzy +msgid "Size (human readable)" +msgstr "اندازه (قابل خواندن توسط انسان)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "علامت‌گذاری شده با ستاره" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "دایرکتوری‌های علامت‌گذاری شده با ستاره" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "ستاره‌ها" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"وضعیت بر اساس فعالیت ها\n" +"سررسید: تاریخ سررسید گذشته است\n" +"امروز: تاریخ فعالیت امروز است\n" +"برنامه ریزی شده: فعالیت های آینده." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "ذخیره‌سازی" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "ذخیره سازی پنهان است" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "فضاهای ذخیره‌سازی" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "فضاهای ذخیره‌سازی برای پیکربندی اسناد شما استفاده می‌شوند." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "زیرگروه‌ها" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "زیرپوشه‌ها" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "زیرپوشه" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "سیستم" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "برچسب" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "نام برچسب قبلاً وجود دارد!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "برچسب ها" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "برچسب‌ها برای دسته‌بندی اسناد استفاده می‌شوند." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "برچسب ها..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "اطلاعات فنی" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" +"فیلد فعال به شما این امکان را می‌دهد که دسته‌بندی را بدون حذف آن مخفی کنید." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "فیلد فعال به شما امکان می دهد برچسب را بدون حذف آن پنهان کنید." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "نام دایرکتوری نامعتبر است." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "پرونده دارای پسوند پرونده ممنوعه است." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "نام پرونده نامعتبر است." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "حداکثر اندازه آپلود %s مگابایت است." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming" +" email that does not reply to an existing record will cause the creation of " +"a new record of this model (e.g. a Project Task)" +msgstr "" +"مدل (نوع سند در اودوو) که این آدرس معادل آن است. هر ایمیل ورودی که به رکورد " +"موجودی پاسخ ندهد، باعث ایجاد یک رکورد جدید از این مدل خواهد شد (برای مثال، " +"یک وظیفه پروژه)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"نام آدرس ایمیل معادل، مانند 'jobs' اگر می‌خواهید ایمیل‌ها را برای< jobs@" +"example.odoo.com > دریافت کنید" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "نام گروه باید منحصر به فرد باشد!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you" +" change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" +"نوع ذخیره برای تعیین نحوه ذخیره یک پرونده توسط سیستم استفاده می شود. اگر این " +"تنظیم را تغییر دهید، می‌توانید پرونده های موجود را به‌صورت دستی با راه‌" +"اندازی این عمل انتقال دهید." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "این دایرکتوری باید به یک رکورد مرتبط شود." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "تعداد کل عناصر" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "تعداد کل پرونده ها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "تعداد کل زیرپوشه‌ها" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "تعداد کل پرونده ها" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "گردش" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "نوع" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "نوع فعالیت استثنایی روی رکورد." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "حذف پیوند دسترسی" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "باز کردن قفل" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "بازکردن ایمیل‌ها به عنوان" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "بارگذاری" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "بارگذاری پرونده" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "پرونده اول خود را بارگذاری کنید." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "کاربر" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "کاربران" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "فاکتور فروشنده" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "نماها" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "پیام‌های وب‌سایت" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "تاریخچه ارتباطات وب‌سایت" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "ویرایشگر جابجایی فایل‌های DMS" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "راهنمای به اشتراک‌گذاری رکوردهای سیستم مدیریت مستندات" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "دسترسی نوشتن" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "شما ابتدا باید یک دایرکتوری را انتخاب کنید" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "عناصر" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe،msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#, fuzzy +msgid "mail.catchall.domain" +msgstr "دامنه‌ای که ایمیل‌های بدون گیرنده خاص به آن ارسال می‌شود" diff --git a/dms/i18n/fr.po b/dms/i18n/fr.po new file mode 100644 index 000000000..f3ecebf34 --- /dev/null +++ b/dms/i18n/fr.po @@ -0,0 +1,2391 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-24 07:07+0000\n" +"PO-Revision-Date: 2024-08-14 09:14+0000\n" +"Last-Translator: tva-subteno-it \n" +"Language-Team: none\n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" Définit de quelle manière les emails sont traités :\n" +"\n" +" - Simple fichier : Cet email se retrouve lié au dossier et\n" +" toutes les pièces jointes sont créées comme des fichiers.\n" +"\n" +" - Sous-dossier : Un nouveau sous-dossier est créé pour " +"chaque email\n" +" et le mail est attaché à ce sous-dossier. Les pièces " +"jointes\n" +" sont créées en tant que fichiers du sous-dossier.\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (copie)" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Fichiers" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Sous-dossiers" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" +"\n" +" Archiver" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" +"\n" +" Désarchiver" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" +"\n" +" Télécharger" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" +"\n" +" ATTENTION: Conseils à garder à l'esprit avant de " +"déplacer des fichiers :
\n" +" - Ce changement ne peut pas être annulé.
\n" +" - N'oubliez pas que les autorisations des fichiers sont " +"celles du dossier qui les contient, il est donc possible que lorsque vous " +"les modifiez, les autorisations changent également.
\n" +" Faites ce changement à vos risques et périls." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" +"\n" +" Ouvrir" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" +"\n" +" Fichiers" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" +"\n" +" Dossiers" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" +"\n" +" Verrouiller" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" +"\n" +" Modifier" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" +"\n" +" Supprimer" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" +"\n" +" Déverrouiller" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" +"@\n" +" @ " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "Actions" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "Documents" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "Opérations" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"Un dictionnaire Python qui sera évalué pour fournir des valeurs par défaut " +"lors de la création de nouveaux enregistrements pour cet alias." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "" +"Un répertoire ne peut pas être un répertoire racine et avoir un répertoire " +"parent." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "Un répertoire doit avoir un répertoire parent." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" +"Un répertoire doit avoir un modèle dans le stockage des pièces jointes." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "Un répertoire du même nom existe déjà." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" +"Un fichier doit avoir un modèle et un ID de ressource dans le stockage des " +"pièces jointes." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "Un fichier du même nom existe déjà dans ce répertoire." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "Un répertoire racine doit avoir un stockage." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Mixin abstraite pour DMS" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "Accepter les e-mails de" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "Accès par groupes" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "Informations d'accès" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "Avertissement d'accès" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "Comptabilité" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "Action nécessaire" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "Actions" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "Actif" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "Activités" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Décoration d'activité d'exception" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "État de l'activité" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icône du Type d'Activité" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "Ajouter un nouveau dossier." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "Ajouter un nouveau fichier." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "Ajouter plus d'informations à afficher dans le mail" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "Administrateur" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "Alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "Alias Contact Sécurité" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "Alias de domaine" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "Alias domaine" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "Alias d'email" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "Alias Nom" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "Configuration d'Alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "Statut de l'alias" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "Statut de l'alias évalué sur le dernier message reçu." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "Extraction-Alias-Email" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "Modèle d'alias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "Tous" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "Tous les fichiers" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "Une erreur s'est produite pendant le téléchargement" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "Applications" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "Archivé" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "Fichiers archivés" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "Êtes-vous sûr ? Tous les fichiers seront déplacés." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "Pièce jointe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "Nombre de pièces jointes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "Fichier joint" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "Base" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "Annuler" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "Catégories" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "Les catégories sont utilisées pour classer les documents." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "Catégorie" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "Le nom de la catégorie existe déjà !" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "Checksum/SHA1" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "Catégories Enfant" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "Groupes Enfant" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "Cliquez pour ajouter un nouveau répertoire." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "Cliquez pour ajouter un nouveau fichier." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "Cliquez pour ajouter une nouvelle étiquette." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "Fermé" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "Couleur" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "Indice de couleur" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "Sociétés" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "Société" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "Groupes Complet" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "Nom complet" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "Dossiers complets" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de configuration" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "Configuration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "Contenu" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "Contenu binaire" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "Contenu du Fichier" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "Contrat" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "Contrats" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "Nombre de dossiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "Nombre d'éléments" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "Nombre de fichiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "Nombre de titre de fichiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "Nombre de sous-catégories" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "Nombre de sous-dossiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "Nombre de titre de sous-dossiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "Nombre d'étiquettes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "Nombre d'utilisateurs" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "Créer" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "Autorisation de création" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "Créer un répertoire" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "Créer un stockage" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "Créer une nouvelle catégorie." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "Créer un nouveau stockage de documents." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "Créer un nouveau répertoire racine." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "Créez un nouvel objet de stockage." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "Créer des fichiers à partir des pièces jointes des messages" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "Date de création" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "Type de sauvegarde actuel" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "Message rejeté personnalisé" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "Client" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "Facture client" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "URL du portail client" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "Mixin de Sécurité DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "Mixin pour vignette et icône DMS" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "Base de données" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "Valeurs par défaut" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "Définit les extensions de fichiers à exclure" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "Définit la taille maximale de téléchargement d'un fichier en Mo" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "Définit les extensions de fichiers à exclure. (Exemple : 'exe, msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "Définir la taille maximale de téléchargement en Mo. Par défaut (25Mo)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "Accès Suppression" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "Dossiers" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"Les répertoires peuvent être utilisés pour structurer et organiser\n" +" les fichiers directement dans Odoo." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "Dossier" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "Nom d'affichage" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "Catégorie du document" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "Stockage de documents créé !" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "Étiquette du document" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "Documents" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "État du parcours d'intégration des dossiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "État du parcours d'intégration des fichiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "État du Parcours d'intégration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "État du parcours d'intégration du stockage documents" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "Terminé" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "Éditeur" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "Éléments" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "Alias de messagerie" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "Discussion par email" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "Domaine de messagerie par exemple 'example.com' dans 'odoo@exemple.com" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "Erreur ! Vous ne pouvez pas créer de catégories récursives." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "Erreur ! Vous ne pouvez pas créer de catégories récursives." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "Utilisateurs explicites" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "Extension" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "Extensions" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "Externe" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "Fichier" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "Extensions de fichiers" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "Parcours d'intégration des fichiers" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "Taille du fichier" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "Téléversement de fichiers" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "Modèle d'aide au contrôleur - Streaming de fichier" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "Fichiers" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "" +"Les fichiers sont utilisés pour enregistrer du contenu directement dans Odoo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "Stockage de fichiers" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "Premier fichier téléchargé !" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "Abonnés" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "Abonnés (Partenaires)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icône Font awesome ex : fa-tasks" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "Réglages généraux" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "Groupe" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "Groupé par" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "Nom du groupe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "Utilisateurs du groupe" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "Groupes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "A un message" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "Ressource humaine" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "ID" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"ID de l'enregistrement parent contenant l'alias (exemple : projet contenant " +"l'alias de création de la tâche)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "Icône" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "URL de l'icône" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icône pour indiquer une activité d'exception." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"Si un fichier est défini sur archivé, il n'est pas affiché, mais existe " +"toujours." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si coché, les nouveaux messages nécessitent votre attention." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Si coché, certains messages ont une erreur de livraison." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" +"S'il est défini, les répertoires et les fichiers ne seront disponibles que " +"pour la société sélectionnée." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"S'il est défini, ce contenu sera automatiquement envoyé aux utilisateurs non " +"autorisés au lieu du message par défaut." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "Image" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "Image 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "Image 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "Image 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "Image 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" +"Indiquez si l'accès aux répertoires et aux fichiers fonctionne uniquement " +"avec l'accès aux modèles associés (par exemple, si certains répertoires sont " +"liés à une vente, seuls les utilisateurs ayant un accès en lecture à ces " +"ventes peuvent y accéder)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" +"Indique si les répertoires et les fichiers sont également créés " +"automatiquement dans le processus de composition du courrier" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "Indique si les répertoires et les fichiers sont masqués par défaut." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" +"Indique si le répertoire est un répertoire racine.\n" +" Un répertoire racine a des paramètres, tandis qu'un répertoire avec " +"un parent défini\n" +" hérite des paramètres de son parent." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "Hériter des groupes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "Hériter les autorisation de l'enregistrement associé" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "Accès Création hérité" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "Accès Suppression hérité" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "Accès Écriture hérité" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "Interne" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "Interne / Ressource Humaine" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "Pièces jointes non valides !" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "Factures" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "Est abonné" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "Est un répertoire racine" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "Il n'est pas possible de modifier le stockage." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "Il n'est pas possible de changer vers un parent avec un autre stockage." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "Fait à l'instant" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "Dernière mise à jour" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "Lien" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "Modèles liés" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "Modèle de pièces jointes liées" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "ID d'enregistrement des pièces jointes liées" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "Détection entrante basée sur la partie locale" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "Verrouiller" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "Verrouillé" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "Verrouillé par" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "Gestionnaire" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "Migration manuelle de fichiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "Erreur de livraison du message" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "Messages" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "Métadonnées" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "Migrer" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" +"Migration du fichier %(index)s de %(record_count)s [ %(dms_file_migration)s ]" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "Migrer les fichiers" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "Migration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "État de la migration" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "Modèle" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "Date de modification" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "Déplacer" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "Déplacer les fichiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Date limite de mon activité" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "Mes Dossiers" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "Mes Documents" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "Mes Fichiers" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "Nom" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "Nouveau répertoire racine" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "Nouveau stockage" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "Actualités" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Date limite de la prochaine activité" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "Résumé de l'activité suivante" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "Type d'activité suivante" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "Aucune pièce jointe n'a été fournie" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "Non terminé" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "Aucun résultats" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "Note" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "Nombre d'actions" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "Nombre d'erreurs" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Nombre de messages nécessitant une action" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Nombre de messages avec erreur de livraison" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "Parcours d'intégration" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "Parcours d'intégration des dossiers" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "Parcours d'intégration d'un fichier" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "Étape du parcours d'intégration" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "Parcours d'intégration pour le stockage" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "Seuls les fichiers du même répertoire racine peuvent être déplacés." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "Seuls les gestionnaires peuvent exécuter cette action." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"ID facultatif d'un fil de discussion (enregistrement) auquel tous les " +"messages entrants seront attachés, même s'ils n'y ont pas répondu. S'il est " +"défini, cela désactivera complètement la création de nouveaux " +"enregistrements." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "Organiser" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "Catégorie Parente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "Dossier Parent" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "Groupe Parent" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "Modèle Parent" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "Chemin Parent" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "ID de l'enregistrement du fil de discussion Parent" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "Le groupe parent '%(parent)s' est enfant de '%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"Modèle parent détenant l'alias. Le modèle contenant la référence d'alias " +"n'est pas nécessairement le modèle donné par alias_model_id (exemple : " +"projet (parent_model) et tâche (model))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "Partenaire" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "Chemin Json" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "Noms des chemins" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"Politique de publication d'un message sur le document à l'aide de la " +"passerelle de messagerie.\n" +"- tout le monde : tout le monde peut poster\n" +"- partenaires : uniquement des partenaires authentifiés\n" +"- abonnés (followers) : uniquement les abonnés du document concerné ou les " +"membres des canaux d'abonnement\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "Portail" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "URL d'accès au portail" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "Aperçu" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "Produit" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "Projet" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "Accès en lecture" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "Destinataires" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "Accès aux enregistrements des Groupes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "Enregistrement référencé" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "ID de l'enregistrement du fil de discussion" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "Document lié" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "ID du document lié" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "Modèle du document lié" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "Migration requise" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "Utilisateur responsable" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "Dossiers Racine" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "Répertoire Racine" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "Répertoire racine créé !" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "Ventes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "Type d'Enregistrement" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "Scanner" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "Jeton de Sécurité" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "Réglages" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "Partager" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "Afficher les stockages" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "Fichiers uniques" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "Taille" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "Taille (lisible)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "Favoris" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "Dossiers Favoris" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "Favoris" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Statut basé sur les activités\n" +"En retard : la date d'échéance est déjà dépassée\n" +"Aujourd'hui : la date de l'activité est aujourd'hui\n" +"Prévu : Activités futures." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "Stockage" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "Stockage est masqué" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "Stockages" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "Les stockages sont utilisés pour configurer vos documents." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "Sous-catégories" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "Sous-dossiers" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "Sous-dossier" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "Système" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "Étiquette" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "Le nom de l'étiquette existe déjà !" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "Étiquettes" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "Les étiquettes sont utilisées pour catégoriser les documents." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "Étiquettes..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "Informations techniques" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "Le champ actif vous permet de masquer la catégorie sans la supprimer." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "Le champ actif vous permet de masquer l'étiquette sans la supprimer." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "Le nom du répertoire n'est pas valide." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "Le fichier a une extension de fichier interdite." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "Le nom du fichier n'est pas valide." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "La taille maximale de téléchargement est de %s Mo." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"Le modèle (Type de document Odoo) auquel cet alias correspond. Tout e-mail " +"entrant qui ne répond pas à un enregistrement existant entraînera la " +"création d'un nouvel enregistrement de ce modèle (par exemple, une tâche de " +"projet)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"Le nom de l'alias de messagerie, par ex. « jobs » si vous souhaitez recevoir " +"des e-mails pour " + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "Le nom du groupe doit être unique !" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" +"Le type de sauvegarde est utilisé pour déterminer comment un fichier est " +"sauvegardé par le système. Si vous modifiez ce paramètre, vous pouvez migrer " +"les fichiers existants en déclenchant l'action manuellement." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "Ce répertoire doit être associé à un enregistrement." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "Total d'éléments" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "Total des fichiers" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "Total des Sous-dossiers" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "Fichiers totaux" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "Voyages" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "Type" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Type de l'activité d'exception enregistrée." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "Autorisation de suppression" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "Déverrouiller" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "Décompresser les e-mails en tant que" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "Ajouter" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "Ajouter un fichier" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "Ajouter votre premier fichier." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "Administrateur uniquement" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "Utilisateurs" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "Facture du fournisseur" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "Vues" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "Messages du site Web" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "Historique des communications du site Web" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "Wizard de déplacement de fichiers" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "Wizard pour partager des enregistrements" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "Autorisation de modification" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "Vous devez d'abord sélectionner un dossier" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "élément(s)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe,msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "mail.catchall.domain" + +#~ msgid "" +#~ "\n" +#~ " Define how incoming emails are processed:\n" +#~ "\n" +#~ " - Single Files: The email gets attached to the directory " +#~ "and\n" +#~ " all attachments are created as files.\n" +#~ "\n" +#~ " - Subdirectory: A new subdirectory is created for each " +#~ "email\n" +#~ " and the mail is attached to this subdirectory. The " +#~ "attachments\n" +#~ " are created as files of the subdirectory.\n" +#~ " " +#~ msgstr "" +#~ " Définissez comment les e-mails entrants sont traités : \n" +#~ "\n" +#~ " - Fichiers uniques : l'e-mail est joint au répertoire\n" +#~ " et toutes les pièces jointes sont créées sous forme de " +#~ "fichiers.\n" +#~ "\n" +#~ " - Sous-répertoire : Un nouveau sous-répertoire est créé " +#~ "pour chaque email\n" +#~ " et le courrier est attaché à ce sous-répertoire. Les " +#~ "pièces jointes\n" +#~ " sont créés en tant que fichiers du sous-répertoire.\n" +#~ " " + +#~ msgid "Inherited Read Access" +#~ msgstr "Accès Lecture hérité" + +#~ msgid "SMS Delivery error" +#~ msgstr "Erreur d'envoi des SMS" + +#~ msgid "" +#~ "Technical field to allow read access by default. Should not touched by " +#~ "the user. This field is used to match the perm_read in ir.rule." +#~ msgstr "" +#~ "Champ technique pour permettre l'accès en lecture par défaut. Ne doit pas " +#~ "être modifié par l'utilisateur. Ce champ est utilisé pour correspondre " +#~ "avec le champperm_read dans ir.rule." + +#~ msgid "Your Documents" +#~ msgstr "Vos Documents" diff --git a/dms/i18n/he_IL.po b/dms/i18n/he_IL.po new file mode 100644 index 000000000..b4d7a1b42 --- /dev/null +++ b/dms/i18n/he_IL.po @@ -0,0 +1,2407 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-11-10 18:08+0000\n" +"Last-Translator: Yves Goldberg \n" +"Language-Team: none\n" +"Language: he_IL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Weblate 3.10\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s קבצים" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"מילון פייתון שיוערך כדי לספק ערכי ברירת מחדל בעת יצירת רשומות חדשות לכינוי " +"זה." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "ספריה לא יכולה להיות ראשית אם יש לה ספריית אב." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "לספרייה צריכה להיות ספריה אב." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "כבר קיימת ספרייה עם אותו שם." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "קבל הודעות דוא\"ל מ" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "קבוצות גישה" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "הרשאות למידע" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "אזהרת גישה" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "נדרשת פעולה" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "פעולות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "פעיל" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "פעילויות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "סימון פעילות חריגה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "מצב פעילות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "הוסף ספריה חדשה." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "הוסף קובץ חדש." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "כינוי" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "כינוי אבטחת איש קשר" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "שם כינוי" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "הגדרת כינוי" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "כינוי דואר-חילוץ" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "מודל בעל כינוי" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "הכל" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "כל הקבצים" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "בארכיון" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "קבצים בארכיון" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "כמות קבצים מצורפים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "בטל" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "קטגוריות" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "קטגוריות משמשות לסיווג מסמכים." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "קטגוריה" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "שם קטגוריה כבר קיים!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "תתי קטגוריות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "קבוצת בן" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "לחץ כדי להוסיף ספריה חדשה." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "לחץ כדי להוסיף קובץ חדש." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "לחץ ליצירת תגית." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "סגור" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "צבע" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "אינדקס צבעים" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "חברות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "חברה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "קבוצות שלמות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "שם מלא" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "הגדרות תצורה" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "תצורה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "תוכן" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "תוכן הקובץ" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "ספירת ספריות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "ספירת אלמנטים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "ספירת קבצים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "ספירת כותרות קבצים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "ספירת קטגוריות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "ספירת תת-ספריות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "ספירת כותרות תת-ספריות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "ספירת תגיות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "צור" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "צור גישה" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "צור ספריה" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "צור מאגר" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "צור קטגוריה חדשה." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "צור מאגר מסמכים חדש." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "צור ספרייה ראשית חדשה." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "צור אובייקט אחסון חדש." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "נוצר על-ידי" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "תאריך יצירה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "לקוח" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "כתובת פורטל לקוח" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "מסד נתונים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "ערכי ברירת מחדל" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "הגדר סיומות קבצים אסורות" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "מגדיר רשימה של סיומות קבצים אסורות. (דוגמה: 'exe, msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "מגדיר את גודל ההעלאה המרבי ב- MB. ברירת מחדל (25MB)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "מחק גישה" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "ספריות" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "ספריה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "שם תצוגה" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "קטגוריית מסמכים" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "תגית מסמך" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "מסמכים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "מדיניות ניהול שלבי ספריות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "מדיניות ניהול שלבי קבצים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "מדיניות ניהול שלבי מסמכים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "מדיניות ניהול שלבי ספריות" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "בוצע" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "עורך" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "אלמנטים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "כינוי דוא\"ל" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "שְׁגִיאָה! אינך יכול ליצור קטגוריות רקורסיביות." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "שְׁגִיאָה! אינך יכול ליצור ספריות רקורסיביות." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "משתמשים מפורשים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "סיומת" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "סוגי קבצים" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "קובץ" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "העלאת קובץ" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "קבצים" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "קבצים משמשים לשמירת תוכן ישירות בOdoo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "מאגר" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "עוקבים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "עוקבים (לקוחות/ספקים)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "הגדרות כלליות" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "קבוצה" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "קבץ לפי" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "שם הקבוצה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "קבוצות שלמות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "קבוצות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "מזהה" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"מזהה של רשומת האב המחזיקה בכינוי (דוגמה: פרויקט המחזיק בכינוי ליצירת המשימות)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "אייקון" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "סמל לציון פעילות חריגה." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "אם קובץ מוגדר לארכיון, הוא לא מוצג, אך עדיין קיים." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "אם מסומן, הודעות חדשות דורשות את תשומת לבך." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "אם מסומן, בחלק מההודעות קיימת שגיאת משלוח." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "אם מוגדר, ספריות וקבצים יהיו זמינים רק עבור החברה שנבחרה." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "מציין אם ספריות וקבצים מוסתרים כברירת מחדל." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "תורשת קבוצות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "פנימיים" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "משאבים פנימיים / אנושיים" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "חשבוניות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "עוקב" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "ספרייה ראשית" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "הרגע בוצע" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה על-ידי" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "עדכון אחרון ב" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "עדכון אחרון" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "נעל" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "נעול" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "מנהל" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "העברת קבצים ידנית" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "הודעת שגיאת משלוח" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "הודעות" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "מטא מידע" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "העברת קבצים" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "תאריך שינוי" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "הספריות שלי" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "הקבצים שלי" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "הקבצים שלי" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "שם" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "ספרייה ראשית חדשה" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "שטח אחסון חדש" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "מועד אחרון לפעילות הבאה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "תיאור הפעילות הבאה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "סוג הפעילות הבאה" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "לא בוצע" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "לא תוצאות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "מספר הפעולות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "מספר השגיאות" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "מספר הודעות עם שגיאת משלוח" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "רק מנהלים יכולים לבצע פעולה זו." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"מזהה אפשרי של שרשור (רשומה) שאליו יצורפו כל ההודעות הנכנסות, גם אם לא השיבו " +"אליו. אם מוגדר, הדבר יבטל את יצירת הרשומות החדשות לחלוטין." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "מארגן" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "קטגוריית אם" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "ספריית אב" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "קבוצת אב" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "מודל אב" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "נתיב אב" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "מזהה רשומת אשכול אב" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"מודל אב המחזיק בכינוי. המודל המחזיק במזהה לכינוי אינו בהכרח המודל שניתן על " +"ידי alias_model_id (דוגמה: project (parent_model) ומשימה (model))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"מדיניות פרסום הודעה על המסמך באמצעות שער הדואר.\n" +"- כולם: כולם יכולים לפרסם\n" +"- לקוחות/ספקים: רק לקוחות/ספקים מאומתים\n" +"- עוקבים: רק עוקבים של המסמך הקשור או חברים בערוצים הבאים\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "פורטל" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "כתובת גישה לפורטל" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "מוצר" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "פרויקט" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "גישה לקריאה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "שיא קבוצות גישה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "מזהה רשומת אשכול" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "משתמש אחראי" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "ספרייה ראשית" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "אסימון אבטחה" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "הגדרות" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "שתף" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "הצג מאגרים" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "קבצים בודדים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "גודל" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "מסומן בכוכב" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "ספריות מכוכבות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "כוכביות" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"סטטוס על בסיס פעילויות\n" +"איחור: תאריך היעד כבר חלף\n" +"היום: תאריך הפעילות הוא היום\n" +"מתוכנן: פעילויות עתידיות." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "אחסון" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "האחסון מוסתר" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "מחסני" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "אחסנים משמשים לתצורת המסמכים שלך." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "תת קטגוריה" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "תת-ספריות" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "תת-ספרייה" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "תגית" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "שם התגית כבר קיים!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "תגיות" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "תגיות משמשים לסיווג מסמכים." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "תגיות..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "מידע טכני" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "השדה הפעיל מאפשר לך להסתיר את הקטגוריה מבלי להסיר אותה." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "השדה הפעיל מאפשר להסתיר את התגית מבלי להסיר אותה." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "שם הספרייה אינו חוקי." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "לקובץ סיומת קבצים אסורה." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "שם הקובץ אינו חוקי." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "גודל ההעלאה המקסימלי הוא %s MB." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"המודל (סוג מסמך Odoo) שאליו הכינוי הזה תואם. כל דוא\"ל נכנס שלא יענה לרשומה " +"קיימת יביא ליצירת רשומה חדשה של מודל זה (למשל משימת פרויקט)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"שם כינוי הדוא\"ל, למשל 'עבודות' אם ברצונך לקבל הודעות דוא\"ל ל " + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "שם הקבוצה חייב להיות ייחודי!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "סה\"כ אלמנטים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "סה\"כ קבצים" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "סה\"כ תת-ספריות" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "סוג" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "סוג פעילות חריגה ברשומה." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "בטל את קישור הגישה" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "שחרר נעילה" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "חלק הודעות דוא\"ל כ-" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "טען קובץ" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "טען את הקובץ הראשון שלך." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "משתמש" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "משתמשים" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "תצוגות" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "הודעות מאתר האינטרנט" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "היסטורית התקשרויות מאתר האינטרנט" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "גישה לכתיבה" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "תחילה עליך לבחור ספריה" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "אלמנט(ים)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" + +#~ msgid "" +#~ "\n" +#~ " Storages\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " מאגרים\n" +#~ " " + +#~ msgid "File Size" +#~ msgstr "גודל הקובץ " + +#, python-format +#~ msgid "A file with the same name already exists." +#~ msgstr "כבר קיים קובץ עם אותו שם." + +#~ msgid "Alias domain" +#~ msgstr "כינוי דומיין" + +#~ msgid "" +#~ "Define the maximum upload size of a\n" +#~ " file in MB" +#~ msgstr "" +#~ "הגדר את גודל ההעלאה המקסימלי של\n" +#~ " קובץ ב- MB" + +#~ msgid "Dropdown menu" +#~ msgstr "תפריט נפתח" + +#~ msgid "Last Modified on" +#~ msgstr "שינוי אחרון ב" + +#, python-format +#~ msgid "Loading" +#~ msgstr "טוען" + +#~ msgid "Main Attachment" +#~ msgstr "קובץ ראשי מצורף" + +#~ msgid "Operations" +#~ msgstr "פעולות" + +#~ msgid "Owner" +#~ msgstr "בעלים" + +#~ msgid "The configuration is done!" +#~ msgstr "התצורה נעשית!" + +#~ msgid "" +#~ "The owner of records created upon receiving emails on this alias. If this " +#~ "field is not set the system will attempt to find the right owner based on " +#~ "the sender (From) address, or will use the Administrator account if no " +#~ "system user is found for that address." +#~ msgstr "" +#~ "הבעלים של רשומות שנוצרו עם קבלת דוא\"ל בכינוי זה. אם שדה זה לא מוגדר, " +#~ "המערכת תנסה למצוא את הבעלים הנכון על סמך כתובת השולח (מאת), או שתשתמש " +#~ "בחשבון מנהל המערכת אם לא נמצא משתמש מערכת עבור אותה כתובת." + +#~ msgid "" +#~ "The save type is used to determine how a file is saved by the\n" +#~ " system. If you change this setting, you can migrate existing " +#~ "files\n" +#~ " manually by triggering the action." +#~ msgstr "" +#~ "סוג השמירה משמש לקביעת אופן שמירת הקובץ על ידי ה-\n" +#~ " מערכת. אם תשנה הגדרה זו, תוכל להעביר קבצים קיימים\n" +#~ " באופן ידני על ידי הפעלת הפעולה." + +#, python-format +#~ msgid "Viewer" +#~ msgstr "צופה" + +#, python-format +#~ msgid "Error has not been raised" +#~ msgstr "שגיאה לא הועלתה" + +#~ msgid "Number of messages which requires an action" +#~ msgstr "מספר ההודעות המחייבות פעולה" + +#~ msgid "Number of unread messages" +#~ msgstr "מספר ההודעות שלא נקראו" + +#~ msgid "SMS Delivery error" +#~ msgstr "שגיאת שליחת SMS" + +#~ msgid "Unread Messages" +#~ msgstr "הודעות שלא נקראו" + +#~ msgid "Unread Messages Counter" +#~ msgstr "מספר הודעות שלא נקראו" + +#~ msgid "Path" +#~ msgstr "נתיב" + +#~ msgid "Followers (Channels)" +#~ msgstr "עוקבים (ערוצים)" + +#~ msgid "Locked by" +#~ msgstr "נעול ע\"י" + +#~ msgid "Drop your files here" +#~ msgstr "לגרור קבצים לכאן" + +#~ msgid "A file is locked, the folder cannot be deleted." +#~ msgstr "קובץ נעול, לא ניתן למחוק את התיקיה." + +#~ msgid "The directory has to have the permission to create files." +#~ msgstr "על הספריה לקבל הרשאה ליצור קבצים." + +#~ msgid "" +#~ "The parent directory has to have the permission to create directories." +#~ msgstr "לספריית האב צריך להיות הרשאה ליצור ספריות." + +#~ msgid "The record (%s [%s]) is locked, by an other user." +#~ msgstr "הרשומה (%s [%s]) נעולה על ידי משתמש אחר." + +#~ msgid "" +#~ "The requested operation cannot be completed due to group security " +#~ "restrictions. Please contact your system administrator.\n" +#~ "\n" +#~ "(Document type: %s, Operation: %s)" +#~ msgstr "" +#~ "לא ניתן להשלים את הפעולה המבוקשת בגלל מגבלות אבטחה קבוצתיות. אנא פנה " +#~ "למנהל המערכת שלך.\n" +#~ "\n" +#~ "(סוג מסמך: %s, Operation: %s)" + +#~ msgid "Folder" +#~ msgstr "תיקייה" + +#~ msgid "A root directory has to have a root storage." +#~ msgstr "לספרייה ראשית צריכה להיות מאגר ראשי." + +#~ msgid "Root Storage" +#~ msgstr "שורש שטח האיחסון" + +#~ msgid "Filename" +#~ msgstr "שם קובץ" diff --git a/dms/i18n/it.po b/dms/i18n/it.po new file mode 100644 index 000000000..b02438723 --- /dev/null +++ b/dms/i18n/it.po @@ -0,0 +1,2558 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-09-18 10:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" Definisci come sono elaborate le email in arrivo:\n" +"\n" +" - File singoli: l'email viene allegata alla directory e\n" +" tutti gli allegati sono creati come file.\n" +"\n" +" - Sottocategoria: viene creata una nuova sottocategoria per " +"ogni e-mail\n" +" e la posta è allegata a questa sottocategoria. Gli " +"allegati\n" +" sono creati come file della sottodirectory\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "%s (copia)" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Files" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Sottocategoria" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" +"\n" +" Archivia" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" +"\n" +" Riattiva" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" +"\n" +" Scarica" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" +"\n" +" ATTENZIONE: Cose da tenere presente prima di " +"muovere i file:
\n" +" - Questa modifica non può essere annullata.
\n" +" - Ricordarsi che i permessi dei file sono quelli della " +"cartella che li contiene, quindi, è possibile che quando viene modificata, " +"anche i permessi cambino.
\n" +" Eseguire queste modifiche a proprio rischio." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" +"\n" +" Apri" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" +"\n" +" File" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" +"\n" +" Cartelle" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" +"\n" +" Blocca" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" +"\n" +" Modifica" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" +"\n" +" Elimina" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" +"\n" +" Sblocca" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" +"@\n" +" @ " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "Azioni" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "Documenti" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "Operazioni" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"Un dizionario Python che verrà valutato per fornire valori predefiniti " +"durante la creazione di nuovi record per questo alias." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "Una cartella non può essere radice e avere una cartella genitore." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "Una cartella deve avere una cartella genitore." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "Una cartella deve avere un modello nello storage allegati." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "Esiste già una cartella con lo stesso nome." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "Un file deve avere un modello e un ID risorsa nello storage allegati." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "Esiste già un file con lo stesso nome in questa cartella." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "Una cartella radice deve avere uno storage." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Mixin DMS astratto" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "Accetta email da" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "Gruppi di accesso" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "Informazioni di accesso" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "Avviso accesso" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "Contabilità" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "Azione richiesta" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "Azioni" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "Attiva" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "Attività" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decorazione eccezione attività" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "Stato attività" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icona tipo attività" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "Aggiungi una nuova cartella." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "Aggiungi un nuovo file." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "Aggiungi contenuto extra da visualizzare nella e-mail" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "Amministratore" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "Alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "Alias contatto sicurezza" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "Dominio alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "Nome dominio alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "E-mail alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "Nome alias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "Impostazioni alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "Stato alias" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "Stato alias valutato sull'ultimo messaggio ricevuto." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "Estrazione-Email-Alias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "Modello con alias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "Tutte" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "Tutti i file" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "Si è verificato un errore durante il caricamento" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "Applicazioni" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "In archivio" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "File archiviati" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "Si è sicuri? Tutti i file verranno spostati." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "Allegato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "Conteggio allegati" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "File allegato" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "Base" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "Annulla" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "Categorie" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "Le categorie sono usate per classificare i documenti." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "Categoria" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "Il nome della categoria esiste già!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "Checksum/SHA1" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "Categorie figlie" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "Gruppi figli" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "Fare clic per aggiungere una nuova cartella." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "Fare clic per aggiungere un nuovo file." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "Fare clic per creare una nuova etichetta." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "Chiuso" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "Colore" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "Indice colore" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "Azienda" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "Gruppi completi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "Nome completo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "Cartelle complete" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "Configurazione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "Contenuto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "Contenuto binario" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "Contenuto file" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "Contratto" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "Contratti" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "Conteggio cartelle" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "Contggio elementi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "Conteggio file" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "Conteggio titoli dei file" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "Contggio sotto categorie" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "Conteggio sottocartelle" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "Conteggio titoli delle sottocartelle" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "Conteggio etichette" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "Contggio utenti" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "Crea" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "Crea accesso" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "Crea cartella" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "Crea storage" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "Crea una nuova categoria." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "Crea un nuovo storage documenti." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "Crea una nuova cartella radice." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "Crea un nuovo oggetto storage." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "Crea file dagli allegati dei messaggi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "Data creazione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "Tipo di salvataggio corrente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "Messaggio personalizzato per il rifiuto" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "Cliente" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "Fattura cliente" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "URL portale cliente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "Mixin sicurezza DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "Anteprima e icona mixin DMS" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "Database" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "Valori predefiniti" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "Definire le estensioni di file vietate" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "Definire la dimensione massina di caricamento in MB" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" +"Definisce un elenco di estensioni di file vietate. (Esempio: 'exe,msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "" +"Definisce la dimensione massima di caricamento in MB. Predefinita (25MB)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "Cancella accesso" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "Cartelle" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"Le cartelle possono essere usate per strutturare e organizzare\n" +" i file direttamente su Odoo." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "Cartella" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "Categoria documento" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "Archivio documento creato!" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "Etichetta documento" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "Documenti" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "Stato della cartella caricamento dei documenti" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "Stato del file caricamento dei documenti" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "Stato caricamento dei documenti" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "Stato strage caricamento documenti" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "Eseguito" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "Editor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "Elementi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "Alias email" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "Discussione e-mail" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "Dominio e-mail es 'example.com' in 'odoo@example.com'" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "Errore! Non è possibile creare categorie ricorsive." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "Errore! Non è possibile creare cartelle ricorsive." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "Utenti espliciti" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "Estensione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "Estensioni" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "Esterno" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "File" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "Estensioni file" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "Caricamento file" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "Dimensione file" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "Carica file" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "Modello aiuto streaming file per controller" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "File" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "" +"I file vengono utilizzati per salvare i contenuti direttamente in Odoo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "Filestore" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "Primo file caricato!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "Seguito da" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguito da (partner)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icona Font Awesome es. fa-tasks" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "Impostazioni generali" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "Gruppo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "Raggruppa per" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "Nome gruppo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "Utenti gruppo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "Gruppi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "Ha un messaggio" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "Risorse umane" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "ID" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"ID del record padre che contiene l'alias (esempio: progetto che contiene " +"l'alias di creazione dell'attività)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "Icona" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "URL icona" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icona per indicare un'attività eccezione." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"Se un file è impostato su archiviato, non viene visualizzato, ma esiste " +"ancora." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selezionata, nuovi messaggi richiedono attenzione." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" +"Se impostato, cartelle e file saranno disponibili solo per l'azienda " +"selezionata." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"Se impostato, questo contenuto verrà inviato automaticamente agli utenti non " +"autorizzati invece del messaggio predefinito." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "Immagine" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "Immagine 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "Immagine 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "Immagine 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "Immagine 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" +"Indica se l'accesso alle cartelle e ai file funziona solo con l'accesso al " +"modello correlato (ad esempio, se alcune cartelle sono collegate a un ordine " +"di vendita, solo gli utenti con accesso in lettura a questo ordine di " +"vendita possono accedervi)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" +"Indica se le cartelle e i file vengono creati automaticamente anche nel " +"processo di composizione delle mail" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "" +"Indica se le cartelle e i file sono nascosti per impostazione predefinita." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" +"Indica se la cartella è una cartella radice.\n" +" Una cartella radice ha un oggetto impostazioni, mentre una cartella " +"con un\n" +" padre impostato eredita le impostazioni dal padre." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "Eredita gruppi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "Eredita le autorizzazioni dal record correlato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "Accesso alla creazione ereditato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "Accesso all'eliminazione ereditato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "Accesso alla scrittura ereditato" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "Interna" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "Interno / Risorse umane" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "Allegato non valido!" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "Fatture" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "Segue" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "È una cartella radice" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "Non è possibile modificare lo storage." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "Non è possibile passare ad altro partner con un altro archivio." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "Appena fatto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "Ultimo aggiornamento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "Collegamento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "Modelli collegati" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "Modello degli allegati collegati" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "ID record degli allegati collegati" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "Rilevamento arrivo in base a parte-locale" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "Blocco" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "Bloccato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "Bloccato da" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "Responsabile" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "Migrazione manuale del file" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "Informazioni metadati" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "Migra" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "Migra il file %(index)s di %(record_count)s [ %(dms_file_migration)s ]" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "Migra file" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "Migrazione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "Stato migrazione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "Modello" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "Data di modifica" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "Movimento" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "Sposta file" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Scadenza mia attività" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "Le mie cartelle" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "I miei documenti" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "I miei file" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "Nome" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "Nuova cartella radice" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "Nuovo storage" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "Novità" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Scadenza prossima attività" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "Riepilogo prossima attività" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo prossima attività" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "Non è stato fornito l'allegato" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "Non completato" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "Nessun risultato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "Nota" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di azioni" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "Numero di errori" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "Caricamento" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "Cartella caricamento" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "File caricamento" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "Passo caricamento" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "Archivio caricamento" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "Solo i file nella stessa cartella radice possono essere spostati." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "Solo i responsabili possono eseguire questa azione." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"ID facoltativo di un thread (record) a cui verranno allegati tutti i " +"messaggi in arrivo, anche se non hanno risposto. Se impostato, disabiliterà " +"completamente la creazione di nuovi record." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "Organizzazione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "Categoria padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "Cartella padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "Gruppo padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "Modello padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "Percorso padre" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "ID record thread padre" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "Il gruppo padre '%(parent)s' è figlio di '%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"Modello padre che detiene l'alias. Il modello che contiene il riferimento " +"alias non è necessariamente il modello fornito da alias_model_id (esempio: " +"progetto (parent_model) e task (model))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "Partner" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "Percorso Json" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "Nomi percorso" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"Politica per inviare un messaggio sul documento utilizzando il mailgateway.\n" +"- chiunque: chiunque può inviare\n" +"- clienti: solo i clienti autenticati\n" +"- chi segue: solo chi segue il documento collegato o i membri dei seguenti " +"canali\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "Portale" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "URL accesso portale" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "Anteprima" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "Prodotto" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "Progetto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "Accesso in lettura" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "Destinatari" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "Gruppi di accesso al record" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "Record referenziato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "ID thread record" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "Documento correlato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "ID documento correlato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "Modello documento correlato" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "Richiede migrazione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "Utente responsabile" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "Cartelle radice" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "Cartella radice" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "Cartella radice creata!" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "Vendite" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "Tipo salvataggio" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "Leggi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "Token di sicurezza" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "Impostazioni" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "Condividi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "Mostra storage" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "File singoli" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "Dimensione" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "Dimensione (leggibile)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "Asteriscato" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "Cartelle asteriscate" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "Asterischi" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Stato in base alle attività\n" +"Scaduto: la data richiesta è trascorsa\n" +"Oggi: la data attività è oggi\n" +"Pianificato: attività future." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "Deposito" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "Lo storage è nascosto" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "Storage" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "Gli storage sono usati per organizzare i tuoi documenti." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "Sottocategorie" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "Sottocartelle" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "Sottocartella" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "Sistema" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "Etichetta" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "Il nome dell'etichetta esiste già!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "Etichette" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "Le etichette sono usate per classificare i documenti." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "Etichette..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "Informazioni tecniche" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "Il campo attivo permette di nascondere la categoria senza rimuoverla." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "Il campo attivo permette di nascondere l'etichetta senza rimuoverla." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "Il nome della cartella non è valido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "Il file ha un'estensione vietata." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "Il nome del file non è valido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "La dimensione massima di upload è %s MB." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"Il modello (tipo documento Odoo) a cui corrisponde questo alias. Qualsiasi e-" +"mail in arrivo che non risponde a un record esistente causerà la creazione " +"di un nuovo record di questo modello (es. un task progetto)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"Il nome dell'alias email, ad es. 'lavori' se vuoi ricevere email per " +"" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "Il nome del gruppo deve essere unico!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" +"Il tipo di salvataggio viene utilizzato per determinare come un file viene " +"salvato dal sistema. Se si modifica questa impostazione, si può eseguire la " +"migrazione dei file esistenti manualmente attivando l'azione." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "Questa cartella deve essere associata a un record." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "Totale elementi" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "Totale file" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "Totale sottocartelle" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "Totale file" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "In viaggio" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "Tipo" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo di attività eccezione sul record." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "Accesso all'eliminazione" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "Sblocca" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "Decomprimi le email come" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "Carica" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "Carica file" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "Carica il tuo primo file." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "Utente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "Utenti" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "Fattura fornitore" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "Viste" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "Messaggi sito web" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "Cronologia comunicazioni sito web" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "Procedura guidata sposta file DMS" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "Procedura guidata per condividere i record DMS" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "Accesso in scrittura" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "È necessario prima selezionare una cartella" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "elemento(i)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe,msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "mail.catchall.domain" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_directory.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_directory.png" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_file.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_file.png" + +#~ msgid "" +#~ "\n" +#~ " Archive" +#~ msgstr "" +#~ "\n" +#~ " Archivia" + +#~ msgid "" +#~ "\n" +#~ " Unarchive" +#~ msgstr "" +#~ "\n" +#~ " Estrai" + +#~ msgid "" +#~ "\n" +#~ " Download" +#~ msgstr "" +#~ "\n" +#~ " Download" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Apri" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Apri" + +#~ msgid "" +#~ "\n" +#~ " Files" +#~ msgstr "" +#~ "\n" +#~ " File" + +#~ msgid "" +#~ "\n" +#~ " Directories" +#~ msgstr "" +#~ "\n" +#~ " Cartelle" + +#~ msgid "" +#~ "\n" +#~ " Lock" +#~ msgstr "" +#~ "\n" +#~ " Blocca" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Modifica" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Modifica" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Elimina" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Elimina" + +#~ msgid "" +#~ "\n" +#~ " Unlock" +#~ msgstr "" +#~ "\n" +#~ " Sblocca" + +#~ msgid "" +#~ "\n" +#~ " Storages\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " Storage\n" +#~ " " + +#~ msgid "" +#~ "File\n" +#~ " Extensions\n" +#~ " " +#~ msgstr "" +#~ "Estensioni\n" +#~ " dei file\n" +#~ " " + +#~ msgid "File Size" +#~ msgstr "Dimensione file" + +#, python-format +#~ msgid "A file with the same name already exists" +#~ msgstr "Esiste già un file con lo stesso nome" + +#, python-format +#~ msgid "A file with the same name already exists." +#~ msgstr "Esiste già un file con lo stesso nome." + +#~ msgid "Alias domain" +#~ msgstr "Dominio alias" + +#~ msgid "" +#~ "Define the maximum upload size of a\n" +#~ " file in MB" +#~ msgstr "" +#~ "Definire la dimensione massima di upload di un\n" +#~ " file in MB" + +#~ msgid "Dropdown menu" +#~ msgstr "Menu a tendina" + +#~ msgid "" +#~ "Indicate if directories and files access work only with related model " +#~ "access (for example, if some directories are related with any sale, only " +#~ "users with read access to these sale can acess)" +#~ msgstr "" +#~ "Indica se l'accesso alle cartelle e ai file funziona solo con l'accesso " +#~ "al modello correlato (ad esempio, se alcune cartelle sono collegate a un " +#~ "ordine di vendita, solo gli utenti con accesso in lettura a questo ordine " +#~ "di vendita possono accedervi)" + +#, python-format +#~ msgid "It is not possible to change parent to other storage." +#~ msgstr "Non è possibile cambiare il genitore in un altro storage." + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" + +#, python-format +#~ msgid "Loading" +#~ msgstr "Caricamento" + +#~ msgid "Main Attachment" +#~ msgstr "Allegato principale" + +#~ msgid "Only admin user" +#~ msgstr "Solo utente amministratore" + +#~ msgid "Operations" +#~ msgstr "Operazioni" + +#~ msgid "Owner" +#~ msgstr "Proprietario" + +#~ msgid "The configuration is done!" +#~ msgstr "La configurazione è terminata!" + +#~ msgid "" +#~ "The owner of records created upon receiving emails on this alias. If this " +#~ "field is not set the system will attempt to find the right owner based on " +#~ "the sender (From) address, or will use the Administrator account if no " +#~ "system user is found for that address." +#~ msgstr "" +#~ "Il proprietario dei record creati dopo aver ricevuto email con questo " +#~ "alias. Se questo campo non è impostato il sistema tenterà di trovare il " +#~ "proprietario corretto in base all'indirizzo del mittente (Da) oppure " +#~ "utilizzerà l'account amministratore se non viene trovato alcun utente di " +#~ "sistema per quell'indirizzo." + +#~ msgid "" +#~ "The save type is used to determine how a file is saved by the\n" +#~ " system. If you change this setting, you can migrate existing " +#~ "files\n" +#~ " manually by triggering the action." +#~ msgstr "" +#~ "Il tipo di salvataggio viene utilizzato per determinare come un file " +#~ "viene salvato dal sistema.\n" +#~ " Se modifichi questa impostazione, puoi eseguire la migrazione " +#~ "dei file esistenti\n" +#~ " manualmente attivando l'azione." + +#, python-format +#~ msgid "Viewer" +#~ msgstr "Visualizzatore" + +#~ msgid "action_close_documents_onboarding" +#~ msgstr "action_close_documents_onboarding" + +#~ msgid "o_onboarding_blue" +#~ msgstr "o_onboarding_blue" + +#~ msgid "o_onboarding_orange" +#~ msgstr "o_onboarding_orange" + +#~ msgid "res.company" +#~ msgstr "res.company" + +#, python-format +#~ msgid "Error has not been raised" +#~ msgstr "L'errore non è stato segnalato" diff --git a/dms/i18n/nl.po b/dms/i18n/nl.po new file mode 100644 index 000000000..ddd1a60ff --- /dev/null +++ b/dms/i18n/nl.po @@ -0,0 +1,2254 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-12-13 03:55+0000\n" +"Last-Translator: Bosd \n" +"Language-Team: none\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Bestanden" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Submappen" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_directory.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_directory.png" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_file.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_file.png" diff --git a/dms/i18n/pt.po b/dms/i18n/pt.po new file mode 100644 index 000000000..3629ca3ed --- /dev/null +++ b/dms/i18n/pt.po @@ -0,0 +1,2517 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-02-29 21:34+0000\n" +"Last-Translator: Peter Romão \n" +"Language-Team: none\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" Defina como os e-mails recebidos são processados:\n" +"\n" +" - Arquivos Singulares: O e-mail é anexado à diretoria e\n" +" todos os anexos são criados como arquivos.\n" +"\n" +" - Subdiretoria: Um novo subdiretoria é criado para cada e-" +"mail\n" +" e o e-mail está anexado a este subdiretoria. Os anexos\n" +" são criados como arquivos do subdiretoria.\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Arquivos" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Subdiretorias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" +"@\n" +" @ " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "Documentos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"Um dicionário de Python que será avaliado para fornecer valores predefinidos " +"ao criar novos registos para este pseudónimo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "Uma diretoria não pode ser uma raiz e ter uma diretoria ascendente." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "Uma diretoria precisa de ter uma diretoria ascendente." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "Uma diretoria precisa de ter um modelo no armazenamento por anexos." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "Já existe uma diretoria com o mesmo nome." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" +"Um arquivo deve ter ID de modelo e de recurso no armazenamento por anexos." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "Uma diretoria raiz precisa ter um armazenamento." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Mixin Dms Abstrato" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "Aceite E-mails de" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "Grupos de Acesso" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "Informação de Acesso" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "Aviso de acesso" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "Contabilidade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "Acção Necessária" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "Ações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "Ativo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoração de Atividade Excepcional" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "Estado da Atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "Ícone do Tipo de Atividade" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "Adicione uma nova Diretoria." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "Adicione um novo Arquivo." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "Admin" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "Pseudônimo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "Segurança de Contacto do Psudónimo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "Nome do Pseudónimo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "Configuração do Pseudónimo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "Alias-Mail-Extraction" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "Modelo c/ Pseudónimo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "Todos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "Todos os Arquivos" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "Ocorreu um erro durante o upload" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "Aplicações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "Arquivado" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "Arquivos Arquivados" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "Anexo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "Número de Anexos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "Arquivo em Anexo" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "Base" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "Categorias" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "As categorias são usadas para categorizar documentos." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "Categoria" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "Nome da categoria já existe!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "Checksum/SHA1" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "Categorias Descendentes" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "Grupos Descendentes" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "Clique para adicionar uma nova diretoria." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "Clique para adicionar um novo arquivo." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "Clique pra criar uma nova etiqueta." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "Fechado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "Cor" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "Índice de Cores" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "Empresas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "Empresa" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "Grupos Completos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "Nome Completo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "Diretorias completas" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "Ajuste de Configurações" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "Configuração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "Conteúdo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "Conteúdo Binário" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "Conteúdo Arquivo" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "Contrato" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "Contratos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "Contagem de Diretorias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "Contagem de Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "Contagem de Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "Contagem de Títulos de Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "Contagem de Subcategorias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "Contagem de Subdiretorias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "Contagem de Título de Subdiretorias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "Contagem de Etiquetas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "Contagem de Utilizadores" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "Criar" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "Acesso à Criação" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "Criar Diretoria" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "Criar Armazenamento" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "Criar uma nova Categoria." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "Criar um novo Armazenamento de Documentos." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "Criar uma nova Diretoria Raiz." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "Criar um novo objeto de Armazenamento." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "Criar arquivos a partir de anexos de mensagens" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "Data de Criação" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "Tipo de Salvaguarda Atual" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "Mensagem Personalizada de E-mail Rejeitado" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "Cliente" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "Fatura do Cliente" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "URL do Portal do Cliente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "Mixin de Segurança DMS" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "Mixin de miniaturas DMS e ícones" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "Base de Dados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "Valores Predefinidos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "Definir extensões de arquivo proibidas" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" +"Define uma lista de extensões de arquivo proibidas. (Exemplo: 'exe,msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "Define o tamanho máximo de carregamento em MB. Padrão (25MB)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "Eliminar Acesso" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "Diretorias" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"Diretorias podem ser usadas para estruturar e organizar\n" +" arquivos diretamente em Odoo." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "Diretoria" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "Nome" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "Categoria do Documento" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "Etiqueta de Documento" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "Documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "Estado da Diretoria de Documentos de Integração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "Estado do Arquivo de Documentos de Integração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "Estado de Documentos de Integração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "Estado de Armazenamento de Documentos de Integração" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "Feito" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "Editor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "Pseudónimo de E-mail" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "Fio de Comunicação E-mail" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "Erro! Não é possível criar categorias recursivas." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "Erro! Não é possível criar diretorias recursivas." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "Utilizadores Explícitos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "Extensão" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "Extensões" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "Externo" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "Arquivo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "Carregamento de Arquivo" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "Arquivos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "Os arquivos são usados para guardar conteúdo diretamente no Odoo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "Filestore" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Ícone do fonte awesome ex. fa-tasks" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "Configurações Gerais" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "Grupo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "Nome do Grupo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "Utilizadores do Grupo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "Grupos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "Tem Mensagem" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "Recursos Humanos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "ID" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"ID do registo ascendente que armazena o pseudónimo (Ex.: projeto que " +"armazena o pseudónimo de criação de tarefas)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "Ícone" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "URL do Icone" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Ícone para indicar uma exceção na atividade." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"Se um arquivo for definido como arquivado, ele não será exibido, mas ele " +"ainda existe." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se estiver marcado, tem novas mensagens que requerem a sua atenção." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se estiver marcado, algumas mensagens têm um erro na entrega." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" +"Se definido, diretorias e arquivos só estarão disponíveis para a empresa " +"selecionada." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"Se definido, será este o conteúdo a ser enviado automaticamente para " +"utilizadores não autorizados em vez da mensagem predefinida." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "Imagem" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "Imagem 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "Imagem 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "Imagem 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "Imagem 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" +"Indique se as diretorias e arquivos também são criados automaticamente no " +"processo de composição de e-mail" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "Indica se as diretorias e arquivos estão ocultos por predefinição." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" +"Indica se a diretoria é um diretoria raiz.\n" +" Um diretoria raiz tem um objeto para configurações, enquanto uma " +"diretoria com um\n" +" ascendente definido herda as configurações do seu ascendente." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "Herdar Grupos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "Herdar permissões desde registo vinculado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "Acesso à Criação Herdado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "Acesso à Desvinculação Herdado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "Acesso à Gravação Herdado" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "Interno" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "Recursos Internos/Humanos" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "Anexos inválidos!" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "Faturas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "É Seguidor" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "É Diretoria Raiz" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "Não é possível alterar o armazenamento." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "Concluído" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "Última Atualização" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "Modelos Vinculados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "Modelo de anexos vinculado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "Registro ID de Anexos vinculados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "Bloquear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "Bloqueado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "Bloqueado por" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "Gerente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "Migração Manual de Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "Erro na Entrega de Mensagem" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "Meta Informação" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "Migrar" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" +"Migrar arquivo %(index)s de %(record_count)s [ %(dms_file_migration)s ]" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "Migrar Arquivos" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "Migração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "Estado da Migração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "Modelo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "Data de modificação" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo da Minha Atividade" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "Minhas Diretorias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "Meus Documentos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "Meus Arquivos" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "Nome" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "Nova Diretoria Raiz" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "Novo Armazenamento" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "Notícias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Prazo da Próxima Atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Próxima Atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Atividade Seguinte" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "Não foi fornecido nenhum anexo" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "Não Feito" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "Não são resultados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de Ações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "Número de erros" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensagens que requerem acção" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensagens com um erro de entrega" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "Somente os gerentes podem executar essa ação." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"ID opcional de um fio de comunicação (registro) ao qual todas as mensagens " +"recebidas serão anexadas, mesmo que não lhe tenham respondido. Se definido, " +"isto desabilitará completamente a criação de novos registros." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "Organizando" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "Categoria Ascendente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "Diretoria Ascendente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "Grupo Ascendente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "Modelo Ascendente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "Caminho Ascendente" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "ID do Fio de Comunicação de Registo Ascendente" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "O grupo ascendente '%(parent)s' é descendente de '%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"Modelo ascendente que armazena o pseudónimo. O modelo que armazena a " +"referência ao pseudónimo não é necessariamente o modelo determinado por " +"alias_model_id (Ex.: project (parent_model) e task (model))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "Parceiro" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "Caminho JSON" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "Nomes de Caminho" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"Política para enviar uma mensagem sobre o documento usando o MailGateway.\n" +"- todos: Qualquer um pode escrever\n" +"- parceiros: somente parceiros autenticados\n" +"- seguidores: apenas seguidores do documento relacionado ou membros dos " +"seguintes grupos\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "Portal" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "URL de Acesso ao Portal" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "Pré-visualização" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "Artigo" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "Projeto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "Acesso de Leitura" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "Gravar Grupos de Acesso" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "Registo Referenciado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "ID do Fio de Registro" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "Requer Migração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "Utilizador Responsável" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "Diretorias Raiz" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "Diretoria Raiz" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "Vendas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "Tipo de Salvaguarda" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "Analisar" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "Token de segurança" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "Configurações" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "Partilhar" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "Mostrar armazenamentos" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "Arquivos Singulares" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "Tamanho" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "Favorito" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "Diretorias Favoritas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "Estrelas" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estados baseados nas atividades\n" +"Vencida: Ultrapassada a data planeada\n" +"Hoje: Data da atividade é a de hoje\n" +"Planeada: Atividades futuras." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "Armazenamento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "O Armazenamento está Oculto" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "Armazenamentos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "Os armazenamentos são usados para configurar os seus Documentos." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "Subcategorias" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "Subdiretorias" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "Subdiretoria" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "Sistema" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "Etiqueta" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "Já existe uma etiqueta com este nome!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "Etiquetas" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "As etiquetas são usadas para categorizar documentos." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "Etiquetas..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "Informação Técnica" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "O campo ativo permite que oculte a categoria sem a remover." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "O campo ativo permite que oculte a etiqueta sem a remover." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "O nome da diretoria é inválido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "O arquivo tem uma extensão de arquivo proibida." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "O nome do arquivo é inválido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "O tamanho máximo de upload é %s MB." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"O modelo (Odoo Document Kind) ao qual este pseudónimo corresponde. Qualquer " +"e-mail de entrada que não responda a um registo existente criará um novo " +"registo deste modelo (Ex.: uma Tarefa de Projeto)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"O nome do pseudónimo de e-mail, ex.: 'jobs' se quiser receber emails de " +"" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "O nome do grupo deve ser único!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "Esta diretoria precisa de ser associada a um registo." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "Total de Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "Total de Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "Total de Subdiretorias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "Viajando" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "Tipo" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de atividade de exceção registada." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "Acesso à Desvinculação" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "Desbloquear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "Desempacotar e-mails como" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "Carregar" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "Carregar Arquivo" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "Carregue o seu primeiro Arquivo." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "Utilizador" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "Utilizadores" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "Fatura de Fornecedor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "Visualizações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "Mensagens do Website" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "Histórico de comunicação do website" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "Acesso à Gravação" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "Deve selecionar uma diretoria primeiro" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "elementos(s)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe,msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "mail.catchall.domínio" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_directory.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_directory.png" + +#~ msgid "/dms/static/lib/img/banner/documents_onboarding_file.png" +#~ msgstr "/dms/static/lib/img/banner/documents_onboarding_file.png" + +#~ msgid "" +#~ "\n" +#~ " Archive" +#~ msgstr "" +#~ "\n" +#~ " Arquivar" + +#~ msgid "" +#~ "\n" +#~ " Unarchive" +#~ msgstr "" +#~ "\n" +#~ " Desarquivar" + +#~ msgid "" +#~ "\n" +#~ " Download" +#~ msgstr "" +#~ "\n" +#~ " Transferir" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Files" +#~ msgstr "" +#~ "\n" +#~ " Arquivos" + +#~ msgid "" +#~ "\n" +#~ " Directories" +#~ msgstr "" +#~ "\n" +#~ " Diretorias" + +#~ msgid "" +#~ "\n" +#~ " Lock" +#~ msgstr "" +#~ "\n" +#~ " Trancado" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Editar" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Editar" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Eliminar" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Eliminar" + +#~ msgid "" +#~ "\n" +#~ " Unlock" +#~ msgstr "" +#~ "\n" +#~ " Destrancar" + +#~ msgid "" +#~ "\n" +#~ " Storages\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " Armazenamentos\n" +#~ " " + +#~ msgid "" +#~ "File\n" +#~ " Extensions\n" +#~ " " +#~ msgstr "" +#~ "Arquivo\n" +#~ " Extensões\n" +#~ " " + +#~ msgid "File Size" +#~ msgstr "Tamanho do Arquivo" + +#, python-format +#~ msgid "A file with the same name already exists" +#~ msgstr "Já existe um arquivo com o mesmo nome" + +#, python-format +#~ msgid "A file with the same name already exists." +#~ msgstr "Já existe um arquivo com o mesmo nome." + +#~ msgid "Alias domain" +#~ msgstr "Domínio do Pseudónimo" + +#~ msgid "" +#~ "Define the maximum upload size of a\n" +#~ " file in MB" +#~ msgstr "" +#~ "Defina o tamanho máximo de carregamento de um\n" +#~ " arquivo em MB" + +#~ msgid "Dropdown menu" +#~ msgstr "Menu dropdown" + +#~ msgid "" +#~ "Indicate if directories and files access work only with related model " +#~ "access (for example, if some directories are related with any sale, only " +#~ "users with read access to these sale can acess)" +#~ msgstr "" +#~ "Indique se o acesso a diretorias e arquivos funciona apenas com o acesso " +#~ "do modelo relacionado (por exemplo, se algumas diretorias estiverem " +#~ "relacionadas a qualquer venda, somente utilizadores com acesso de leitura " +#~ "a essas vendas poderão ter acesso)" + +#, python-format +#~ msgid "It is not possible to change parent to other storage." +#~ msgstr "Não é possível alterar o ascendente para outro armazenamento." + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificação em" + +#, python-format +#~ msgid "Loading" +#~ msgstr "Carregando" + +#~ msgid "Main Attachment" +#~ msgstr "Anexo Principal" + +#~ msgid "Only admin user" +#~ msgstr "Somente utilizador admin" + +#~ msgid "Operations" +#~ msgstr "Operações" + +#~ msgid "Owner" +#~ msgstr "Proprietário" + +#~ msgid "The configuration is done!" +#~ msgstr "A configuração está feita!" + +#~ msgid "" +#~ "The owner of records created upon receiving emails on this alias. If this " +#~ "field is not set the system will attempt to find the right owner based on " +#~ "the sender (From) address, or will use the Administrator account if no " +#~ "system user is found for that address." +#~ msgstr "" +#~ "O dono dos registos criados depois da receção de e-mails com este " +#~ "pseudónimo. Se este campo não estiver ativo, o sistema vai tentar " +#~ "encontrar o dono correto com base no endereço do remetente (De), ou então " +#~ "utilizará a conta de Administrador se não for encontrado nenhum " +#~ "utilizador no sistema com esse endereço." + +#~ msgid "" +#~ "The save type is used to determine how a file is saved by the\n" +#~ " system. If you change this setting, you can migrate existing " +#~ "files\n" +#~ " manually by triggering the action." +#~ msgstr "" +#~ "O tipo de salvaguarda é usado para determinar como um arquivo é guardado " +#~ "pelo\n" +#~ " sistema. Se alterar esta configuração, poderá migrar arquivos " +#~ "existentes\n" +#~ " manualmente, desencadeando a ação." + +#, python-format +#~ msgid "Viewer" +#~ msgstr "Visualizador" + +#~ msgid "action_close_documents_onboarding" +#~ msgstr "action_close_documents_onboarding" + +#~ msgid "o_onboarding_blue" +#~ msgstr "o_onboarding_blue" + +#~ msgid "o_onboarding_orange" +#~ msgstr "o_onboarding_orange" + +#~ msgid "res.company" +#~ msgstr "res.company" diff --git a/dms/i18n/pt_BR.po b/dms/i18n/pt_BR.po new file mode 100644 index 000000000..fd1c83051 --- /dev/null +++ b/dms/i18n/pt_BR.po @@ -0,0 +1,2502 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-01-05 17:34+0000\n" +"Last-Translator: Adriano Prado \n" +"Language-Team: none\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" +" Defina como os e-mails recebidos são processados:\n" +"\n" +" - Arquivos únicos: o e-mail é anexado ao diretório e\n" +" todos os anexos são criados como arquivos.\n" +"\n" +" - Subdiretório: Um novo subdiretório é criado para cada " +"email\n" +" e o email é anexado a este subdiretório. Os anexos\n" +" são criados como arquivos do subdiretório.\n" +" " + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "%s Arquivos" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "%s Sub-diretórios" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" +"@\n" +" @ " + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "Documentos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" +"Um dicionário Python que será avaliado para fornecer valores padrão ao criar " +"novos registros para este alias." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "Um diretório não pode ser raiz e ter um diretório superior." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "Um diretório deve ter um diretório superior." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "Um diretório deve ter modelo no armazenamento de anexos." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "Já existe um diretório com o mesmo nome." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "Um arquivo deve ter modelo e ID de recurso no armazenamento de anexos." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "Um diretório raiz precisa ter um armazenamento." + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "Mixin Sgd abstrato" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "Aceitar e-mails de" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "Grupos de Acesso" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "Informações de Acesso" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "Aviso de acesso" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "Contabilidade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "Ação Necessária" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "Ações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "Ativo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "Atividades" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoração de exceção de atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "Situação da Atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "Ícone Tipo Atividade" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "Add um novo Diretório." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "Add um novo Arquivo." + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "Admin" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "Apelido" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "Apelido Contato Segurança" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "Nome Alternativo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "Configuração Apelido" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "Extração de Alias-Mail" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "Modelo com alias" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "Tudo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "Todos os Arquivos" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "Ocorreu um erro durante o carregamento" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "Apps" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "Arquivado" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "Arquivos Arquivados" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "Anexo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "Cont. Anexos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "Arquivo Anexado" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "Base" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "Cancelar" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "Categorias" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "Categorias são usadas para categorizar documentos." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "Categoria" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "O nome da categoria já existe!" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "Categorias Inferiores" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "Grupos Inferiores" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "Clique para adicionar um novo diretório." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "Clique para adicionar um novo arquivo." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "Clique para criar uma novo marcador." + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "Fechado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "Cor" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "Índice Cores" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "Empresas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "Empresa" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "Grupos completos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "Nome completo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "Diretórios completos" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "Configurações" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "Configuração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "Conteúdo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "Conteúdo Binário" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "Arquivo de conteúdo" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "Contrato" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "Contratos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "# Diretórios" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "# Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "# Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "# Título dos Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "# Subcategorias" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "# Subdiretórios" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "# Título dos Subdiretórios" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "# Marcadores" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "# Usuários" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "Criar" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "Permissão de Criação" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "Criar Diretório" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "Criar Armazenamento" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "Criar uma nova Categoria." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "Crie um novo Armazenamento de Documentos." + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "Crie um novo diretório raiz." + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "Crie um novo objeto de Armazenamento." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "Crie arquivos a partir de anexos de mensagens" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "Data Criação" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "Tipo de Salvamento Atual" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "Mensagem Devolvida Personalizada" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "Cliente" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "Fatura Cliente" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "URL do Portal do Cliente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "SGD" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "Mixin de segurança SGD" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "Banco de Dados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "Valores Padrão" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "Defina extensões de arquivo proibidas" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" +"Define uma lista de extensões de arquivo proibidas. (Exemplo: 'exe,msi')" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "Define o tamanho máximo de upload em MB. Padrão (25 MB)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "Permissão de Exclusão" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "Diretórios" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" +"Os diretórios podem ser usados para estruturar e organizar\n" +" arquivos diretamente no Odoo." + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "Diretório" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "Nome Exibição" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "Categoria Documento" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "Marcador Documento" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "Documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "Estado do Diretório de Integração de Documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "Estado do Arquivo de Integração de Documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "Estado da Integração de Documentos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "Estado de Armazenamento da Integração de Documentos" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "Feito" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "Editor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "Apelido de E-mail" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "Tópico do e-mail" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "Erro! Você não pode criar categorias recursivas." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "Erro! Você não pode criar diretórios recursivos." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "Usuários Explícitos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "Extensão" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "Extensões" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "Externo" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "Arquivo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "Carregamento de Arquivo" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "Arquivos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "Arquivos são usados para salvar conteúdo diretamente no Odoo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "Armazenamento de Arquivos" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Parceiros)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Ícone da Fonte awesome e.x. fa-tasks" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "Configurações Gerais" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "Grupo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "Agrupar Por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "Nome do Grupo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "Usuários do Grupo" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "Grupos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "Tem Menssagem" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "Recursos Humanos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "ID" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" +"ID do registro superior que contém o alias (exemplo: projeto que contém o " +"alias de criação da tarefa)" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "Ícone" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "Ícone URL" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Ícone para indicar uma atividade de exceção." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" +"Se um arquivo estiver definido como arquivado, ele não será exibido, mas " +"ainda existirá." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se marcada, novas mensagens requerem sua atenção." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se marcada, algumas mensagens apresentam um erro de entrega." + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" +"Se definido, os diretórios e arquivos estarão disponíveis apenas para a " +"empresa selecionada." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" +"Se definido, esse conteúdo será enviado automaticamente para usuários não " +"autorizados, em vez da mensagem padrão." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "Imagem" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "Imagem 1024" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "Imagem 128" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "Imagem 256" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "Imagem 512" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" +"Indica se diretórios e arquivos também são criados automaticamente no " +"processo de composição de mensagens" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "Indica se diretórios e arquivos estão ocultos por padrão." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" +"Indica se o diretório é um diretório raiz.\n" +" Um diretório raiz possui um objeto de configurações, enquanto um " +"diretório setado com\n" +" pai herda as configurações de seu pai." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "Herdar Grupos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "Herdar permissões do registro relacionado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "Permissão de Criação Herdada" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "Acesso de Desvinculação Herdado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "Permissão de Escrita Herdada" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "Interno" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "Interno/Recursos Humanos" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "Anexos Inválidos!" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "Faturas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "É Seguidor" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "É Diretório Raiz" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "Não é possível alterar o armazenamento." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "Concluído" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "Última Atualização" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "Modelos Vinculados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "Modelo de anexos vinculados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "Anexo Vinculado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "Bloquear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "Bloqueado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "Bloqueado por" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "Gerente" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "Migração Manual de Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "Erro na entrega de mensagens" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "Mensagens" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "Meta Informação" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "Migrar" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" +"Migrar arquivo %(index)s de %(record_count)s [ %(dms_file_migration)s ]" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "Migrar Arquivos" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "Migração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "Status da Migração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "Modelo" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "Data Modificação" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Prazo da minha Atividade" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "Meus Diretórios" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "Meus Documentos" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "Meus Arquivos" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "Nome" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "Novo Diretório Raiz" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "Novo Armazenamento" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "Novos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Prazo para Próxima Atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "Resumo da Próxima Atividade" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo da Próxima Atividade" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "Nenhum anexo foi fornecido" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "Não realizado" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "Sem Resultados" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de Ações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "Número de erros" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Número de mensagens que exigem ação" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensagens com erro de entrega" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "Somente os gerentes podem executar esta ação." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" +"ID opcional de um tópico (registro) ao qual todas as mensagens recebidas " +"serão anexadas, mesmo que não tenham respondido. Se definido, isso " +"desabilitará completamente a criação de novos registros." + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "Organizando" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "Categoria Superior" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "Diretório Superior" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "Grupo Superior" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "Modelo Superior" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "Caminho Superior" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "ID do tópico do registro superior" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "O grupo superior '%(parent)s' é filho de '%(current)s'." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" +"Modelo pai que contém o alias. O modelo que contém a referência de alias não " +"é necessariamente o modelo fornecido por alias_model_id (exemplo: projeto " +"(modelo_pai) e tarefa (modelo))" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "Parceiro" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "Caminho Json" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" +"Política para postar uma mensagem no documento usando o mailgateway.\n" +"- todos: todos podem postar\n" +"- parceiros: apenas parceiros autenticados\n" +"- seguidores: apenas seguidores do documento relacionado ou membros dos " +"canais seguintes\n" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "Portal" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "URL do Portal de Acesso" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "Visualização" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "Produto" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "Projeto" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "Permissão de Leitura" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "Registro Referenciado" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "Requer Migração" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "Usuário Responsável" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "Diretórios Raiz" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "Vendas" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "Salvar Como" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "Procurar" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "Token de Segurança" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "Configurações" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "Compartilhar" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "Mostrar armazenamentos" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "Arquivos Únicos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "Tamanho" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "Favorito" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "Diretórios Favoritos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "Favoritos" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Status baseado em atividades\n" +"Atrasado: a data de vencimento já passou\n" +"Hoje: a data da atividade é hoje\n" +"Planejado: Atividades futuras." + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "Armazenamento" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "Armazenamento está Oculto" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "Armazenamentos" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "Os armazenamentos são usados para configurar seus Documentos." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "Subcategorias" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "Subdiretórios" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "Subdiretório" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "Sistema" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "Marcador" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "O nome do marcador já existe!" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "Marcadores" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "Marcadores são usadas para categorizar documentos." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "Marcadores..." + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "Informação Técnica" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "O campo ativo permite ocultar a categoria sem removê-la." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "O campo ativo permite ocultar o marcador sem removê-lo." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "O nome do diretório é inválido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "O arquivo tem uma extensão proibida." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "O nome do arquivo é inválido." + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "O tamanho máximo de upload é %s MB." + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" +"O modelo (Tipo de Documento Odoo) ao qual este alias corresponde. Qualquer e-" +"mail recebido que não responda a um registro existente causará a criação de " +"um novo registro deste modelo (por exemplo, uma Tarefa de Projeto)" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" +"O nome do alias de e-mail, por ex. 'empregos' se você quiser receber e-mails " +"para " + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "O nome do grupo deve ser único!" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "Este diretório precisa estar associado a um registro." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "Total de Elementos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "Total de Arquivos" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "Total de Subdiretórios" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "Viajando" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "Tipo" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de atividade de exceção registrada." + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "Desvincular Permissão" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "Desbloquear" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "Descompacte e-mails como" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "Carregar" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "Carregar Arquivo" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "Carregue seu primeiro arquivo." + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "Usuário" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "Usuários" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "Fatura Fornecedor" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "Visualizações" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "Mensagens do Site" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "Histórico de comunicação do Site" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "Permissão de Gravação" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "Você deve selecionar um diretório primeiro" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "elemento(s)" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "exe,msi" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" + +#~ msgid "" +#~ "\n" +#~ " Archive" +#~ msgstr "" +#~ "\n" +#~ " Arquivar" + +#~ msgid "" +#~ "\n" +#~ " Unarchive" +#~ msgstr "" +#~ "\n" +#~ " Desarquivar" + +#~ msgid "" +#~ "\n" +#~ " Download" +#~ msgstr "" +#~ "\n" +#~ " Baixar" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Open" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Files" +#~ msgstr "" +#~ "\n" +#~ " Abrir" + +#~ msgid "" +#~ "\n" +#~ " Directories" +#~ msgstr "" +#~ "\n" +#~ " Diretórios" + +#~ msgid "" +#~ "\n" +#~ " Lock" +#~ msgstr "" +#~ "\n" +#~ " Bloquear" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Editar" + +#~ msgid "" +#~ "\n" +#~ " Edit" +#~ msgstr "" +#~ "\n" +#~ " Editar" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Excluir" + +#~ msgid "" +#~ "\n" +#~ " Delete" +#~ msgstr "" +#~ "\n" +#~ " Excluir" + +#~ msgid "" +#~ "\n" +#~ " Unlock" +#~ msgstr "" +#~ "\n" +#~ " Destravar" + +#~ msgid "" +#~ "\n" +#~ " Storages\n" +#~ " " +#~ msgstr "" +#~ "\n" +#~ " Armazenamentos\n" +#~ " " + +#~ msgid "" +#~ "File\n" +#~ " Extensions\n" +#~ " " +#~ msgstr "" +#~ "File\n" +#~ " Extensões\n" +#~ " " + +#~ msgid "File Size" +#~ msgstr "Tamanho do arquivo" + +#, python-format +#~ msgid "A file with the same name already exists" +#~ msgstr "Já existe um arquivo com o mesmo nome" + +#, python-format +#~ msgid "A file with the same name already exists." +#~ msgstr "Já existe um arquivo com o mesmo nome." + +#~ msgid "Alias domain" +#~ msgstr "Domínio alternativo" + +#~ msgid "" +#~ "Define the maximum upload size of a\n" +#~ " file in MB" +#~ msgstr "" +#~ "Defina o tamanho máximo de carregamento de um\n" +#~ " arquivo em MB" + +#~ msgid "Dropdown menu" +#~ msgstr "Menu Suspenso" + +#~ msgid "" +#~ "Indicate if directories and files access work only with related model " +#~ "access (for example, if some directories are related with any sale, only " +#~ "users with read access to these sale can acess)" +#~ msgstr "" +#~ "Indica se o acesso a diretórios e arquivos funciona apenas com acesso de " +#~ "modelo relacionado (por exemplo, se alguns diretórios estiverem " +#~ "relacionados a alguma venda, apenas usuários com acesso de leitura a " +#~ "essas vendas poderão acessar)" + +#, python-format +#~ msgid "It is not possible to change parent to other storage." +#~ msgstr "Não é possível alterar o pai para outro armazenamento." + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificação em" + +#, python-format +#~ msgid "Loading" +#~ msgstr "Carregando" + +#~ msgid "Main Attachment" +#~ msgstr "Anexo Principal" + +#~ msgid "Only admin user" +#~ msgstr "Somente usuário administrador" + +#~ msgid "Operations" +#~ msgstr "Operações" + +#~ msgid "Owner" +#~ msgstr "Proprietário" + +#~ msgid "The configuration is done!" +#~ msgstr "A configuração está feita!" + +#~ msgid "" +#~ "The owner of records created upon receiving emails on this alias. If this " +#~ "field is not set the system will attempt to find the right owner based on " +#~ "the sender (From) address, or will use the Administrator account if no " +#~ "system user is found for that address." +#~ msgstr "" +#~ "O proprietário dos registros criados ao receber e-mails neste alias. Se " +#~ "este campo não estiver definido, o sistema tentará encontrar o " +#~ "proprietário correto com base no endereço do remetente (De) ou usará a " +#~ "conta de Administrador se nenhum usuário do sistema for encontrado para " +#~ "esse endereço." + +#~ msgid "" +#~ "The save type is used to determine how a file is saved by the\n" +#~ " system. If you change this setting, you can migrate existing " +#~ "files\n" +#~ " manually by triggering the action." +#~ msgstr "" +#~ "O tipo de salvamento é usado para determinar como um arquivo é salvo " +#~ "pelo\n" +#~ " sistema. Se você alterar essa configuração, poderá migrar os " +#~ "arquivos existentes\n" +#~ " manualmente acionando a ação." + +#, python-format +#~ msgid "Viewer" +#~ msgstr "Visualizador" + +#, python-format +#~ msgid "Error has not been raised" +#~ msgstr "O erro não foi levantado" diff --git a/dms/i18n/ru.po b/dms/i18n/ru.po new file mode 100644 index 000000000..b34bf26e2 --- /dev/null +++ b/dms/i18n/ru.po @@ -0,0 +1,2247 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * dms +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_process +msgid "" +" Define how incoming emails are processed:\n" +"\n" +" - Single Files: The email gets attached to the directory " +"and\n" +" all attachments are created as files.\n" +"\n" +" - Subdirectory: A new subdirectory is created for each " +"email\n" +" and the mail is attached to this subdirectory. The " +"attachments\n" +" are created as files of the subdirectory.\n" +" " +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Files" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "%s Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Archive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unarchive" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Download" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "" +"\n" +" ATTENTION: Tips to keep in mind before moving " +"files:
\n" +" - This change cannot be undone.
\n" +" - Remember that the permissions of the files are those " +"of the folder that contains it, therefore, it is possible that when you " +"change it, the permissions will also change.
\n" +" Make this change at your own risk." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Open" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "" +"\n" +" Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Lock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Edit" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "" +"\n" +" Delete" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "" +"\n" +" Unlock" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "" +"@\n" +" @ " +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Operations" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_defaults +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory can't be a root and have a parent directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have a parent directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory has to have model in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A directory with the same name already exists." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file must have model and resource ID in attachment storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "A file with the same name already exists in this directory." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "A root directory has to have a storage." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_abstract_dms_mixin +msgid "Abstract Dms Mixin" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Accept Emails from" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_access_groups +#: model:ir.ui.menu,name:dms.menu_dms_access_groups +msgid "Access Groups" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Access Information" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_warning +#: model:ir.model.fields,field_description:dms.field_dms_file__access_warning +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__access_warning +msgid "Access warning" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_07_demo +msgid "Accounting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Actions" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__active +#: model:ir.model.fields,field_description:dms.field_dms_tag__active +msgid "Active" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_ids +msgid "Activities" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_state +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_state +msgid "Activity State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "Add a new Directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +msgid "Add a new File." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_wizard_dms_share__note +msgid "Add extra content to display in the email" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_01_demo +msgid "Admin" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_id +msgid "Alias" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_contact +msgid "Alias Contact Security" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain_id +msgid "Alias Domain" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_domain +msgid "Alias Domain Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_full_name +msgid "Alias Email" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_name +msgid "Alias Name" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Alias Setting" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_status +msgid "Alias Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_status +msgid "Alias status assessed on the last message received." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Alias-Mail-Extraction" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_model_id +msgid "Aliased Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "All" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "All Files" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "An error occurred during the upload" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_06_demo +msgid "Apps" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__active +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Archived" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Archived Files" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Are you sure? All files will be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model,name:dms.model_ir_attachment +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__attachment +#, python-format +msgid "Attachment" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_attachment_count +#: model:ir.model.fields,field_description:dms.field_dms_file__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__attachment_id +msgid "Attachment File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_base +msgid "Base" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Cancel" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_category +#: model:ir.ui.menu,name:dms.menu_dms_category +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Categories" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Categories are used to categorize Documents." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__category_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__category_id +#: model:ir.model.fields,field_description:dms.field_dms_file__category_id +#: model:ir.model.fields,field_description:dms.field_dms_tag__category_id +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Category" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_category_name_uniq +msgid "Category name already exists!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__checksum +msgid "Checksum/SHA1" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__child_category_ids +msgid "Child Categories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__child_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Child Groups" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +msgid "Click to add a new directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Click to add a new file." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Click to create a new tag." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__closed +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__closed +msgid "Closed" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__color +#: model:ir.model.fields,field_description:dms.field_dms_directory__color +#: model:ir.model.fields,field_description:dms.field_dms_file__color +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Color" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_tag__color +msgid "Color Index" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_company +msgid "Companies" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__company_id +#: model:ir.model.fields,field_description:dms.field_dms_file__company_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__company_id +msgid "Company" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Complete Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__complete_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__complete_name +msgid "Complete Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__complete_directory_ids +msgid "Complete directories" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config +msgid "Configuration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content +msgid "Content" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_binary +msgid "Content Binary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__content_file +msgid "Content File" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_11_demo +msgid "Contract" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_03_demo +msgid "Contracts" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_category__count_directories +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_directories +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_directories +msgid "Count Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_elements +msgid "Count Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_files +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files_title +#: model:ir.model.fields,field_description:dms.field_dms_storage__count_storage_files +#: model:ir.model.fields,field_description:dms.field_dms_tag__count_files +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__count_files +msgid "Count Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_files +msgid "Count Files Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_categories +msgid "Count Subcategories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories_title +msgid "Count Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_directories +msgid "Count Subdirectories Title" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__count_tags +msgid "Count Tags" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__count_users +msgid "Count Users" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_new_form +msgid "Create" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_create +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_create +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_create +msgid "Create Access" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_create_directory +msgid "Create Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_document_storage +msgid "Create Storage" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_category +msgid "Create a new Category." +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_document_storage +msgid "Create a new Document Storage." +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_create_directory +msgid "Create a new Root Directory." +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Create a new Storage object." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__include_message_attachments +msgid "Create files from message attachments" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_uid +msgid "Created by" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__create_date +#: model:ir.model.fields,field_description:dms.field_dms_category__create_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__create_date +#: model:ir.model.fields,field_description:dms.field_dms_file__create_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__create_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__create_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__create_date +msgid "Created on" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Creation Date" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__save_type +msgid "Current Save Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_bounced_content +msgid "Custom Bounced Message" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_01_demo +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Customer" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_08_demo +msgid "Customer Invoice" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__access_url +#: model:ir.model.fields,help:dms.field_dms_file__access_url +msgid "Customer Portal URL" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +msgid "DMS" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_security_mixin +msgid "DMS Security Mixin" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_mixins_thumbnail +msgid "DMS thumbnail and icon mixin" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__database +#, python-format +msgid "Database" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_defaults +msgid "Default Values" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define forbidden file extensions" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Define the maximum upload size of a file in MB" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Defines a list of forbidden file extensions. (Example: 'exe,msi')" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_res_config_settings__documents_binary_max_size +msgid "Defines the maximum upload size in MB. Default (25MB)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_unlink +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_unlink +msgid "Delete Access" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_storage +#: model:ir.actions.act_window,name:dms.action_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_access_group__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_category__directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_directory_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__directory_ids +#: model:ir.ui.menu,name:dms.menu_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_directories_storage +#: model_terms:ir.actions.act_window,help:dms.action_dms_directory +msgid "" +"Directories can be used to structure and organize\n" +" files directly in Odoo." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_directory +#: model:ir.model.fields,field_description:dms.field_dms_file__directory_id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__directory_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_create_directory +msgid "Directory" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__display_name +#: model:ir.model.fields,field_description:dms.field_dms_category__display_name +#: model:ir.model.fields,field_description:dms.field_dms_directory__display_name +#: model:ir.model.fields,field_description:dms.field_dms_file__display_name +#: model:ir.model.fields,field_description:dms.field_dms_storage__display_name +#: model:ir.model.fields,field_description:dms.field_dms_tag__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__display_name +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__display_name +msgid "Display Name" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_category +msgid "Document Category" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_document_storage +msgid "Document Storage Created!" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_tag +msgid "Document Tag" +msgstr "" + +#. module: dms +#: model:ir.module.category,name:dms.category_dms_security +#: model:ir.ui.menu,name:dms.main_menu_dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms_breadcrumbs +#: model_terms:ir.ui.view,arch_db:dms.portal_my_home_dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Documents" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_directory_state +msgid "Documents Onboarding Directory State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_file_state +msgid "Documents Onboarding File State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_state +msgid "Documents Onboarding State" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_company__documents_onboarding_storage_state +msgid "Documents Onboarding Storage State" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__done +msgid "Done" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_lock_editor +msgid "Editor" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_email +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Email Alias" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_domain +msgid "Email domain e.g. 'example.com' in 'odoo@example.com'" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_category.py:0 +#, python-format +msgid "Error! You cannot create recursive categories." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "Error! You cannot create recursive directories." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__explicit_user_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Explicit Users" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__extension +msgid "Extension" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_forbidden_extensions +msgid "Extensions" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_05_demo +msgid "External" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_file +#: model:onboarding.onboarding.step,title:dms.onboarding_step_upload_file +msgid "File" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Extensions" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding,name:dms.onboarding_onboarding_dms_file +msgid "File Onboarding" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Size" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "File Upload" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_ir_binary +msgid "File streaming helper model for controllers" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_file +#: model:ir.actions.act_window,name:dms.action_dms_file_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_storage_migration +#: model:ir.actions.act_window,name:dms.action_dms_file_wizard_selector +#: model:ir.actions.act_window,name:dms.action_dms_files_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_directory +#: model:ir.actions.act_window,name:dms.action_dms_files_storage +#: model:ir.model.fields,field_description:dms.field_dms_category__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__file_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__storage_file_ids +#: model:ir.model.fields,field_description:dms.field_dms_tag__file_ids +#: model:ir.ui.menu,name:dms.menu_dms_file +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Files" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_file +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_file_storage_migration +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_all_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_directory +#: model_terms:ir.actions.act_window,help:dms.action_dms_files_storage +msgid "Files are used to save content directly in Odoo." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#: model:ir.model.fields.selection,name:dms.selection__dms_storage__save_type__file +#, python-format +msgid "Filestore" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_upload_file +msgid "First File Uploaded!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_follower_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_partner_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_type_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_settings_general +#: model:ir.ui.menu,name:dms.menu_dms_settings_general +msgid "General Settings" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Group" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_search +msgid "Group By" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__name +msgid "Group Name" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__users +msgid "Group Users" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__group_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__group_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__has_message +#: model:ir.model.fields,field_description:dms.field_dms_file__has_message +msgid "Has Message" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_02_demo +msgid "Human Resource" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__id +#: model:ir.model.fields,field_description:dms.field_dms_category__id +#: model:ir.model.fields,field_description:dms.field_dms_directory__id +#: model:ir.model.fields,field_description:dms.field_dms_file__id +#: model:ir.model.fields,field_description:dms.field_dms_storage__id +#: model:ir.model.fields,field_description:dms.field_dms_tag__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__id +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__id +msgid "ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_thread_id +msgid "" +"ID of the parent record holding the alias (example: project holding the task " +"creation alias)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_exception_icon +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_kanban +msgid "Icon" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_file__icon_url +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__icon_url +msgid "Icon URL" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_icon +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_file__active +msgid "If a file is set to archived, it is not displayed, but still exists." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__company_id +#: model:ir.model.fields,help:dms.field_dms_directory__company_id +#: model:ir.model.fields,help:dms.field_dms_file__company_id +#: model:ir.model.fields,help:dms.field_dms_storage__company_id +msgid "" +"If set, directories and files will only be available for the selected " +"company." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_bounced_content +msgid "" +"If set, this content will automatically be sent out to unauthorized users " +"instead of the default message." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1920 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1920 +msgid "Image" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_1024 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_1024 +msgid "Image 1024" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_128 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_128 +msgid "Image 128" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_256 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_256 +msgid "Image 256" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_file__image_512 +#: model:ir.model.fields,field_description:dms.field_dms_mixins_thumbnail__image_512 +msgid "Image 512" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,help:dms.field_dms_storage__inherit_access_from_parent_record +msgid "" +"Indicate if directories and files access work only with related model access " +"(for example, if some directories are related with any sale, only users with " +"read access to these sale can access)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_storage__include_message_attachments +msgid "" +"Indicate if directories and files auto-create in mail composition process too" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,help:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,help:dms.field_dms_file__is_hidden +#: model:ir.model.fields,help:dms.field_dms_storage__is_hidden +msgid "Indicates if directories and files are hidden by default." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__is_root_directory +msgid "" +"Indicates if the directory is a root directory.\n" +" A root directory has a settings object, while a directory with a " +"set\n" +" parent inherits the settings form its parent." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__inherit_group_ids +msgid "Inherit Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_inherit_access_from_parent_record +#: model:ir.model.fields,field_description:dms.field_dms_storage__inherit_access_from_parent_record +msgid "Inherit permissions from related record" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_create +msgid "Inherited Create Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_unlink +msgid "Inherited Unlink Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_inclusive_write +msgid "Inherited Write Access" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_01_demo +msgid "Internal" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Internal / Human Resource" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Invalid attachments!" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Invoices" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_is_follower +#: model:ir.model.fields,field_description:dms.field_dms_file__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_root_directory +msgid "Is Root Directory" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change the storage." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "It is not possible to change to a parent with other storage." +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__just_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__just_done +msgid "Just done" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_category__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_file__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_uid +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_uid +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__write_date +#: model:ir.model.fields,field_description:dms.field_dms_category__write_date +#: model:ir.model.fields,field_description:dms.field_dms_directory__write_date +#: model:ir.model.fields,field_description:dms.field_dms_file__write_date +#: model:ir.model.fields,field_description:dms.field_dms_storage__write_date +#: model:ir.model.fields,field_description:dms.field_dms_tag__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_file_move__write_date +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__write_date +msgid "Last Updated on" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Last update" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__share_link +msgid "Link" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__allowed_model_ids +#: model:ir.model.fields,field_description:dms.field_dms_storage__model_ids +msgid "Linked Models" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_model +#: model:ir.model.fields,field_description:dms.field_dms_file__res_model +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_model +msgid "Linked attachments model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__res_id +#: model:ir.model.fields,field_description:dms.field_dms_file__res_id +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__res_id +msgid "Linked attachments record ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_incoming_local +msgid "Local-part based incoming detection" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Lock" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__is_locked +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Locked" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__locked_by +msgid "Locked By" +msgstr "" + +#. module: dms +#: model:res.groups,name:dms.group_dms_manager +msgid "Manager" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Manual File Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__message_ids +msgid "Messages" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Meta Information" +msgstr "" + +#. module: dms +#: model:ir.actions.server,name:dms.action_dms_attachment_migrate +msgid "Migrate" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Migrate File %(index)s of %(record_count)s [ %(dms_file_migration)s ]" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Migrate Files" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.menu_dms_file_migration +msgid "Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__migration +msgid "Migration Status" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__model_id +#: model:ir.model.fields,field_description:dms.field_dms_storage__model +msgid "Model" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "Modification Date" +msgstr "" + +#. module: dms +#: model:ir.actions.server,name:dms.action_wizard_dms_file_move +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Move" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_file_move_act_window +msgid "Move files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__my_activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "My Directories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "My Documents" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +msgid "My Files" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/controllers/portal.py:0 +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__name +#: model:ir.model.fields,field_description:dms.field_dms_category__name +#: model:ir.model.fields,field_description:dms.field_dms_directory__name +#: model:ir.model.fields,field_description:dms.field_dms_file__name +#: model:ir.model.fields,field_description:dms.field_dms_storage__name +#: model:ir.model.fields,field_description:dms.field_dms_tag__name +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#, python-format +msgid "Name" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directory_new +#: model:ir.actions.act_window,name:dms.action_dms_file_new +msgid "New Root Directory" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage_new +msgid "New Storage" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_06_demo +msgid "News" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_date_deadline +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_summary +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_type_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "No attachment was provided" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_directory_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_file_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_state__not_done +#: model:ir.model.fields.selection,name:dms.selection__res_company__documents_onboarding_storage_state__not_done +msgid "Not done" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "Not results" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__note +msgid "Note" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,field_description:dms.field_dms_file__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_needaction_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__message_has_error_counter +#: model:ir.model.fields,help:dms.field_dms_file__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding +msgid "Onboarding" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_create_directory +msgid "Onboarding Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_upload_file +msgid "Onboarding File" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_onboarding_onboarding_step +msgid "Onboarding Step" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,step_image_alt:dms.onboarding_step_document_storage +msgid "Onboarding Storage" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "Only files in the same root directory can be moved." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/storage.py:0 +#, python-format +msgid "Only managers can execute this action." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_force_thread_id +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_organizing +msgid "Organizing" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_id +msgid "Parent Category" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_id +msgid "Parent Directory" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_group_id +msgid "Parent Group" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_model_id +msgid "Parent Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_category__parent_path +#: model:ir.model.fields,field_description:dms.field_dms_directory__parent_path +msgid "Parent Path" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_parent_thread_id +msgid "Parent Record Thread ID" +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/access_groups.py:0 +#, python-format +msgid "Parent group '%(parent)s' is child of '%(current)s'." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_parent_model_id +msgid "" +"Parent model holding the alias. The model holding the alias reference is not " +"necessarily the model given by alias_model_id (example: project " +"(parent_model) and task (model))" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_02_demo +msgid "Partner" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_json +msgid "Path Json" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__path_names +msgid "Path Names" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact +msgid "" +"Policy to post a message on the document using the mailgateway.\n" +"- everyone: everyone can post\n" +"- partners: only authenticated partners\n" +"- followers: only followers of the related document or members of following " +"channels\n" +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_02_demo +#: model:dms.tag,name:dms.tag_05_demo +msgid "Portal" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_url +#: model:ir.model.fields,field_description:dms.field_dms_file__access_url +msgid "Portal Access URL" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/fields/preview_binary/preview_record.xml:0 +#, python-format +msgid "Preview" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_10_demo +msgid "Product" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_03_demo +msgid "Project" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_read +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_read +msgid "Read Access" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__partner_ids +msgid "Recipients" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_access_group +msgid "Record Access Groups" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_file__record_ref +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__record_ref +msgid "Record Referenced" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_force_thread_id +msgid "Record Thread ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__resource_ref +msgid "Related Document" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_id +msgid "Related Document ID" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_wizard_dms_share__res_model +msgid "Related Document Model" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__require_migration +msgid "Require Migration" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__activity_user_id +#: model:ir.model.fields,field_description:dms.field_dms_file__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_storage__root_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Root Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__root_directory_id +#: model:ir.model.fields,field_description:dms.field_dms_file__root_directory_id +msgid "Root Directory" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,done_text:dms.onboarding_step_create_directory +msgid "Root Directory Created!" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_04_demo +msgid "Sales" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,field_description:dms.field_dms_storage__save_type +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_search +msgid "Save Type" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Scan" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__access_token +#: model:ir.model.fields,field_description:dms.field_dms_file__access_token +msgid "Security Token" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Settings" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.wizard_dms_directory_share_action +#: model:ir.actions.act_window,name:dms.wizard_dms_file_share_action +msgid "Share" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Show storages" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__files +msgid "Single Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__size +#: model:ir.model.fields,field_description:dms.field_dms_file__size +#: model:ir.model.fields,field_description:dms.field_res_config_settings__documents_binary_max_size +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_migration_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_tree +#: model_terms:ir.ui.view,arch_db:dms.view_dms_storage_form +msgid "Size" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__human_size +#: model:ir.model.fields,field_description:dms.field_dms_file__human_size +msgid "Size (human readable)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__starred +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Starred" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +msgid "Starred Directories" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__user_star_ids +msgid "Stars" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_state +#: model:ir.model.fields,help:dms.field_dms_file__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_dms_storage +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_directory__storage_id +#: model:ir.model.fields,field_description:dms.field_dms_file__storage_id +#: model:onboarding.onboarding.step,title:dms.onboarding_step_document_storage +#: model_terms:ir.ui.view,arch_db:dms.search_dms_directory +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file +#: model_terms:ir.ui.view,arch_db:dms.search_dms_file_migration +msgid "Storage" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_abstract_dms_mixin__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_directory__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_file__is_hidden +#: model:ir.model.fields,field_description:dms.field_dms_storage__is_hidden +msgid "Storage is Hidden" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_storage +#: model:ir.ui.menu,name:dms.menu_dms_storage +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "Storages" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_storage +msgid "Storages are used to configure your Documents." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Subcategories" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_directories_all_directory +#: model:ir.actions.act_window,name:dms.action_dms_directories_directory +#: model:ir.model.fields,field_description:dms.field_dms_directory__child_directory_ids +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "Subdirectories" +msgstr "" + +#. module: dms +#: model:ir.model.fields.selection,name:dms.selection__dms_directory__alias_process__directory +msgid "Subdirectory" +msgstr "" + +#. module: dms +#: model:ir.ui.menu,name:dms.cat_menu_dms_config_system +msgid "System" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_tag_form +msgid "Tag" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_tag_name_uniq +msgid "Tag name already exists!" +msgstr "" + +#. module: dms +#: model:ir.actions.act_window,name:dms.action_dms_tag +#: model:ir.model.fields,field_description:dms.field_dms_category__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_directory__tag_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__tag_ids +#: model:ir.ui.menu,name:dms.menu_dms_tag +#: model_terms:ir.ui.view,arch_db:dms.view_dms_category_form +msgid "Tags" +msgstr "" + +#. module: dms +#: model_terms:ir.actions.act_window,help:dms.action_dms_tag +msgid "Tags are used to categorize Documents." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_new_form +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Tags..." +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Technical Information" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_category__active +msgid "The active field allows you to hide the category without removing it." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_tag__active +msgid "The active field allows you to hide the tag without removing it." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "The directory name is invalid." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file has a forbidden file extension." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The file name is invalid." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/dms_file.py:0 +#, python-format +msgid "The maximum upload size is %s MB." +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_model_id +msgid "" +"The model (Odoo Document Kind) to which this alias corresponds. Any incoming " +"email that does not reply to an existing record will cause the creation of a " +"new record of this model (e.g. a Project Task)" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__alias_name +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"" +msgstr "" + +#. module: dms +#: model:ir.model.constraint,message:dms.constraint_dms_access_group_name_uniq +msgid "The name of the group must be unique!" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_abstract_dms_mixin__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_directory__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_file__storage_id_save_type +#: model:ir.model.fields,help:dms.field_dms_storage__save_type +msgid "" +"The save type is used to determine how a file is saved by the system. If you " +"change this setting, you can migrate existing files manually by triggering " +"the action." +msgstr "" + +#. module: dms +#. odoo-python +#: code:addons/dms/models/directory.py:0 +#, python-format +msgid "This directory needs to be associated to a record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_elements +msgid "Total Elements" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_files +msgid "Total Files" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__count_total_directories +msgid "Total Subdirectories" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.wizard_dms_file_move_form_view +msgid "Total files" +msgstr "" + +#. module: dms +#: model:dms.category,name:dms.category_04_demo +msgid "Traveling" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_file__mimetype +msgid "Type" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__activity_exception_decoration +#: model:ir.model.fields,help:dms.field_dms_file__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_unlink +msgid "Unlink Access" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_file_form +msgid "Unlock" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__alias_process +msgid "Unpack Emails as" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/file_kanban_controller.xml:0 +#: code:addons/dms/static/src/js/views/file_kanban_renderer.xml:0 +#: code:addons/dms/static/src/js/views/file_list_renderer.xml:0 +#, python-format +msgid "Upload" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,button_text:dms.onboarding_step_upload_file +msgid "Upload File" +msgstr "" + +#. module: dms +#: model:onboarding.onboarding.step,description:dms.onboarding_step_upload_file +msgid "Upload your first File." +msgstr "" + +#. module: dms +#: model:dms.access.group,name:dms.access_group_03_demo +#: model:res.groups,name:dms.group_dms_user +msgid "User" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_access_groups_form +msgid "Users" +msgstr "" + +#. module: dms +#: model:dms.tag,name:dms.tag_09_demo +msgid "Vendor Bill" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_kanban +msgid "Views" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,field_description:dms.field_dms_file__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: dms +#: model:ir.model.fields,help:dms.field_dms_directory__website_message_ids +#: model:ir.model.fields,help:dms.field_dms_file__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_file_move +msgid "Wizard Dms File Move" +msgstr "" + +#. module: dms +#: model:ir.model,name:dms.model_wizard_dms_share +msgid "Wizard for sharing DMS records" +msgstr "" + +#. module: dms +#: model:ir.model.fields,field_description:dms.field_dms_access_group__perm_write +#: model:ir.model.fields,field_description:dms.field_dms_directory__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_file__permission_write +#: model:ir.model.fields,field_description:dms.field_dms_security_mixin__permission_write +msgid "Write Access" +msgstr "" + +#. module: dms +#. odoo-javascript +#: code:addons/dms/static/src/js/views/dms_file_upload.esm.js:0 +#, python-format +msgid "You must select a directory first" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.portal_my_dms +msgid "element(s)" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.res_config_settings_view_form +msgid "exe,msi" +msgstr "" + +#. module: dms +#: model_terms:ir.ui.view,arch_db:dms.view_dms_directory_form +msgid "mail.catchall.domain" +msgstr "" diff --git a/dms/models/__init__.py b/dms/models/__init__.py new file mode 100644 index 000000000..024566e4f --- /dev/null +++ b/dms/models/__init__.py @@ -0,0 +1,23 @@ +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from . import access_groups +from . import base +from . import mixins_thumbnail +from . import dms_security_mixin +from . import abstract_dms_mixin + +from . import storage +from . import directory +from . import dms_file + +from . import onboarding_onboarding +from . import onboarding_onboarding_step +from . import dms_category +from . import tag + +from . import res_company +from . import res_config_settings +from . import ir_attachment +from . import ir_binary +from . import mail_thread diff --git a/dms/models/abstract_dms_mixin.py b/dms/models/abstract_dms_mixin.py new file mode 100644 index 000000000..a20145878 --- /dev/null +++ b/dms/models/abstract_dms_mixin.py @@ -0,0 +1,57 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class AbstractDmsMixin(models.AbstractModel): + _name = "abstract.dms.mixin" + _description = "Abstract Dms Mixin" + + name = fields.Char(required=True, index="btree") + # Only defined to prevent error in other fields that related it + storage_id = fields.Many2one( + comodel_name="dms.storage", string="Storage", store=True, copy=True + ) + is_hidden = fields.Boolean( + string="Storage is Hidden", + related="storage_id.is_hidden", + readonly=True, + store=True, + ) + company_id = fields.Many2one( + related="storage_id.company_id", + comodel_name="res.company", + string="Company", + readonly=True, + store=True, + index="btree", + ) + storage_id_save_type = fields.Selection(related="storage_id.save_type", store=False) + color = fields.Integer(default=0) + category_id = fields.Many2one( + comodel_name="dms.category", + context={"dms_category_show_path": True}, + string="Category", + ) + + @api.model + def search_panel_select_range(self, field_name, **kwargs): + """Add context to display short folder name.""" + _self = self.with_context( + directory_short_name=True, skip_sanitized_parent_hierarchy=True + ) + return super(AbstractDmsMixin, _self).search_panel_select_range( + field_name, **kwargs + ) + + def _search_panel_sanitized_parent_hierarchy(self, records, parent_name, ids): + if self.env.context.get("skip_sanitized_parent_hierarchy"): + all_ids = [value["id"] for value in records] + # Prevent error if user not access to parent record + for value in records: + if value["parent_id"] and value["parent_id"][0] not in all_ids: + value["parent_id"] = False + return records + return super()._search_panel_sanitized_parent_hierarchy( + records=records, parent_name=parent_name, ids=ids + ) diff --git a/dms/models/access_groups.py b/dms/models/access_groups.py new file mode 100644 index 000000000..e0476008e --- /dev/null +++ b/dms/models/access_groups.py @@ -0,0 +1,176 @@ +# Copyright 2017-2019 MuK IT GmbH +# Copyright 2020 RGB Consulting +# Copyright 2024 Timothée Vannier - Subteno (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class DmsAccessGroups(models.Model): + _name = "dms.access.group" + _description = "Record Access Groups" + _parent_store = True + _parent_name = "parent_group_id" + + name = fields.Char(string="Group Name", required=True, translate=True) + parent_path = fields.Char(index="btree") + + # Permissions written directly on this group + perm_create = fields.Boolean(string="Create Access") + perm_write = fields.Boolean(string="Write Access") + perm_unlink = fields.Boolean(string="Unlink Access") + + # Permissions computed including parent group + perm_inclusive_create = fields.Boolean( + string="Inherited Create Access", + compute="_compute_inclusive_permissions", + store=True, + recursive=True, + ) + perm_inclusive_write = fields.Boolean( + string="Inherited Write Access", + compute="_compute_inclusive_permissions", + store=True, + recursive=True, + ) + perm_inclusive_unlink = fields.Boolean( + string="Inherited Unlink Access", + compute="_compute_inclusive_permissions", + store=True, + recursive=True, + ) + + directory_ids = fields.Many2many( + comodel_name="dms.directory", + relation="dms_directory_groups_rel", + string="Directories", + column1="gid", + column2="aid", + auto_join=True, + readonly=True, + ) + complete_directory_ids = fields.Many2many( + comodel_name="dms.directory", + relation="dms_directory_complete_groups_rel", + column1="gid", + column2="aid", + string="Complete directories", + auto_join=True, + readonly=True, + ) + count_users = fields.Integer(compute="_compute_users", store=True) + count_directories = fields.Integer(compute="_compute_count_directories") + parent_group_id = fields.Many2one( + comodel_name="dms.access.group", + string="Parent Group", + ondelete="cascade", + index="btree", + ) + + child_group_ids = fields.One2many( + comodel_name="dms.access.group", + inverse_name="parent_group_id", + string="Child Groups", + ) + group_ids = fields.Many2many( + comodel_name="res.groups", + relation="dms_access_group_groups_rel", + column1="gid", + column2="rid", + string="Groups", + ) + explicit_user_ids = fields.Many2many( + comodel_name="res.users", + relation="dms_access_group_explicit_users_rel", + column1="gid", + column2="uid", + string="Explicit Users", + ) + users = fields.Many2many( + comodel_name="res.users", + relation="dms_access_group_users_rel", + column1="gid", + column2="uid", + string="Group Users", + compute="_compute_users", + auto_join=True, + store=True, + recursive=True, + ) + + @api.depends("directory_ids") + def _compute_count_directories(self): + for record in self: + record.count_directories = len(record.directory_ids) + + _sql_constraints = [ + ("name_uniq", "unique (name)", "The name of the group must be unique!") + ] + + @api.depends( + "parent_group_id.perm_inclusive_create", + "parent_group_id.perm_inclusive_unlink", + "parent_group_id.perm_inclusive_write", + "parent_path", + "perm_create", + "perm_unlink", + "perm_write", + ) + def _compute_inclusive_permissions(self): + """Provide full permissions inheriting from parent recursively.""" + for one in self: + one.update( + { + f"perm_inclusive_{perm}": ( + one[f"perm_{perm}"] + or one.parent_group_id[f"perm_inclusive_{perm}"] + ) + for perm in ("create", "unlink", "write") + } + ) + + @api.model + def default_get(self, fields_list): + res = super().default_get(fields_list) + if res.get("explicit_user_ids"): + res["explicit_user_ids"] = res["explicit_user_ids"] + [self.env.uid] + else: + res["explicit_user_ids"] = [(6, 0, [self.env.uid])] + return res + + @api.depends( + "parent_group_id", + "parent_group_id.users", + "group_ids", + "group_ids.users", + "explicit_user_ids", + ) + def _compute_users(self): + for record in self: + users = ( + record.group_ids.users + | record.explicit_user_ids + | record.parent_group_id.users + ) + record.update({"users": users, "count_users": len(users)}) + + def copy(self, default=None): + default = dict(default or {}) + default["name"] = _("%s (copy)") % self.name + return super().copy(default=default) + + @api.constrains("parent_path") + def _check_parent_recursiveness(self): + """ + Forbid recursive relationships. + """ + for one in self.filtered("parent_group_id"): + if str(one.id) in one.parent_path.split("/"): + raise ValidationError( + _("Parent group '%(parent)s' is child of '%(current)s'.") + % { + "parent": one.parent_group_id.display_name, + "current": one.display_name, + } + ) diff --git a/dms/models/base.py b/dms/models/base.py new file mode 100644 index 000000000..13183f4df --- /dev/null +++ b/dms/models/base.py @@ -0,0 +1,32 @@ +# Copyright 2021 Tecnativa - Jairo Llopis +# Copyright 2024 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import models + + +class Base(models.AbstractModel): + _inherit = "base" + + def unlink(self): + """Cascade DMS related resources removal. + Avoid executing in ir.* models (ir.mode, ir.model.fields, etc), in transient + models and in the models we want to check.""" + result = super().unlink() + if ( + not self._name.startswith("ir.") + and not self.is_transient() + and self._name not in ("dms.file", "dms.directory") + ): + domain = [("res_model", "=", self._name), ("res_id", "in", self.ids)] + # Has to check if existing before unlinking, because even if the search + # returns an empty recordset, it will still call the unlink method on it. + # This can result in an infinite loop and a recursion depth error. + files = self.env["dms.file"].sudo().search(domain) + if files: + files.unlink() + directories = self.env["dms.directory"].sudo().search(domain) + if directories: + directories.unlink() + return result diff --git a/dms/models/directory.py b/dms/models/directory.py new file mode 100644 index 000000000..6a31d8340 --- /dev/null +++ b/dms/models/directory.py @@ -0,0 +1,769 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2021 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import ast +import base64 +import logging +import os +from ast import literal_eval +from collections import defaultdict +from typing import Literal # noqa # pylint: disable=unused-import + +from odoo import _, api, fields, models, tools +from odoo.exceptions import UserError, ValidationError +from odoo.osv.expression import AND, OR +from odoo.tools import consteq, human_size + +from ..tools.file import check_name, unique_name + +_logger = logging.getLogger(__name__) +_path = os.path.dirname(os.path.dirname(__file__)) + + +class DmsDirectory(models.Model): + _name = "dms.directory" + _description = "Directory" + + _inherit = [ + "portal.mixin", + "dms.security.mixin", + "dms.mixins.thumbnail", + "mail.thread", + "mail.activity.mixin", + "mail.alias.mixin", + "abstract.dms.mixin", + ] + + _rec_name = "complete_name" + _order = "complete_name" + + _parent_store = True + _parent_name = "parent_id" + _directory_field = _parent_name + + parent_path = fields.Char(index="btree") + is_root_directory = fields.Boolean( + default=False, + help="""Indicates if the directory is a root directory. + A root directory has a settings object, while a directory with a set + parent inherits the settings form its parent.""", + ) + + # Override acording to defined in AbstractDmsMixin + storage_id = fields.Many2one( + compute="_compute_storage_id", + compute_sudo=True, + readonly=False, + comodel_name="dms.storage", + string="Storage", + ondelete="restrict", + auto_join=True, + store=True, + ) + parent_id = fields.Many2one( + comodel_name="dms.directory", + string="Parent Directory", + domain="[('permission_create', '=', True)]", + ondelete="restrict", + # Access to a directory doesn't necessarily mean access its parent, so + # prefetching this field could lead to misleading access errors + prefetch=False, + index="btree", + store=True, + readonly=False, + compute="_compute_parent_id", + copy=True, + default=lambda self: self._default_parent_id(), + ) + + root_directory_id = fields.Many2one( + "dms.directory", "Root Directory", compute="_compute_root_id", store=True + ) + + def _default_parent_id(self): + context = self.env.context + if context.get("active_model") == self._name and context.get("active_id"): + return context["active_id"] + else: + return False + + group_ids = fields.Many2many( + comodel_name="dms.access.group", + relation="dms_directory_groups_rel", + column1="aid", + column2="gid", + string="Groups", + ) + complete_group_ids = fields.Many2many( + comodel_name="dms.access.group", + relation="dms_directory_complete_groups_rel", + column1="aid", + column2="gid", + string="Complete Groups", + compute="_compute_groups", + readonly=True, + store=True, + compute_sudo=True, + recursive=True, + ) + complete_name = fields.Char( + compute="_compute_complete_name", store=True, recursive=True + ) + child_directory_ids = fields.One2many( + comodel_name="dms.directory", + inverse_name="parent_id", + string="Subdirectories", + auto_join=False, + copy=True, + ) + + tag_ids = fields.Many2many( + comodel_name="dms.tag", + relation="dms_directory_tag_rel", + domain="""[ + '|', ['category_id', '=', False], + ['category_id', 'child_of', category_id]] + """, + column1="did", + column2="tid", + string="Tags", + compute="_compute_tags", + readonly=False, + store=True, + ) + + user_star_ids = fields.Many2many( + comodel_name="res.users", + relation="dms_directory_star_rel", + column1="did", + column2="uid", + string="Stars", + ) + + starred = fields.Boolean( + compute="_compute_starred", + inverse="_inverse_starred", + search="_search_starred", + ) + + file_ids = fields.One2many( + comodel_name="dms.file", + inverse_name="directory_id", + string="Files", + auto_join=False, + copy=True, + ) + + count_directories = fields.Integer( + compute="_compute_count_directories", string="Count Subdirectories Title" + ) + + count_files = fields.Integer( + compute="_compute_count_files", string="Count Files Title" + ) + + count_directories_title = fields.Char( + compute="_compute_count_directories", string="Count Subdirectories" + ) + + count_files_title = fields.Char( + compute="_compute_count_files", string="Count Files" + ) + + count_elements = fields.Integer(compute="_compute_count_elements") + + count_total_directories = fields.Integer( + compute="_compute_count_total_directories", string="Total Subdirectories" + ) + + count_total_files = fields.Integer( + compute="_compute_count_total_files", string="Total Files" + ) + + count_total_elements = fields.Integer( + compute="_compute_count_total_elements", string="Total Elements" + ) + + size = fields.Float(compute="_compute_size") + human_size = fields.Char( + compute="_compute_human_size", string="Size (human readable)" + ) + + inherit_group_ids = fields.Boolean(string="Inherit Groups", default=True) + + alias_process = fields.Selection( + selection=[("files", "Single Files"), ("directory", "Subdirectory")], + required=True, + default="directory", + string="Unpack Emails as", + help="""\ + Define how incoming emails are processed:\n + - Single Files: The email gets attached to the directory and + all attachments are created as files.\n + - Subdirectory: A new subdirectory is created for each email + and the mail is attached to this subdirectory. The attachments + are created as files of the subdirectory. + """, + ) + + @api.model + def _get_domain_by_access_groups(self, operation): + """Special rules for directories.""" + self_filter = [ + ("storage_id_inherit_access_from_parent_record", "=", False), + ("id", "in", self._get_access_groups_query(operation)), + ] + # Upstream only filters by parent directory + result = super()._get_domain_by_access_groups(operation) + if operation == "create": + # When creating, I need create access in parent directory, or + # self-create permission if it's a root directory + result = OR( + [ + [("is_root_directory", "=", False)] + result, + [("is_root_directory", "=", True)] + self_filter, + ] + ) + else: + # In other operations, I only need self access + result = self_filter + return result + + def _compute_access_url(self): + res = super()._compute_access_url() + for item in self: + item.access_url = f"/my/dms/directory/{item.id}" + return res + + def check_access_token(self, access_token=False): + res = False + if access_token: + items = ( + self.env["dms.directory"] + .sudo() + .search([("access_token", "=", access_token)]) + ) + if items: + item = items[0] + if item.id == self.id: + return True + # sudo because the user might not usually have access to the record but + # now the token is valid. + directory_item = self.sudo() + while directory_item.parent_id: + if directory_item.id == item.id: + return True + directory_item = directory_item.parent_id + # Fix last level + if directory_item.id == item.id: + return True + return res + + @api.model + def _get_parent_categories(self, access_token): + self.ensure_one() + directories = [] + current_directory = self + while current_directory: + directories.insert(0, current_directory) + if ( + ( + access_token + and current_directory.access_token + and consteq(current_directory.access_token, access_token) + ) + or not access_token + and current_directory.check_access("read") + ): + return directories + current_directory = current_directory.parent_id + if access_token: + # Reaching here means we didn't find the directory accessible by this token + return [self] + return directories + + def _get_own_root_directories(self): + res = self.env["dms.directory"].search_read( + [("is_hidden", "=", False)], ["parent_id"] + ) + all_ids = [value["id"] for value in res] + res_ids = [] + for item in res: + if not item["parent_id"] or item["parent_id"][0] not in all_ids: + res_ids.append(item["id"]) + return res_ids + + allowed_model_ids = fields.Many2many( + related="storage_id.model_ids", + comodel_name="ir.model", + ) + model_id = fields.Many2one( + comodel_name="ir.model", + domain="[('id', 'in', allowed_model_ids)]", + compute="_compute_model_id", + inverse="_inverse_model_id", + string="Model", + store=True, + ) + storage_id_save_type = fields.Selection( + related="storage_id.save_type", + related_sudo=True, + readonly=True, + store=False, + prefetch=False, + ) + storage_id_inherit_access_from_parent_record = fields.Boolean( + related="storage_id.inherit_access_from_parent_record", + related_sudo=True, + store=True, + ) + + @api.depends("res_model") + def _compute_model_id(self): + for record in self: + if not record.res_model: + record.model_id = False + continue + record.model_id = ( + self.env["ir.model"].sudo().search([("model", "=", record.res_model)]) + ) + + def _inverse_model_id(self): + for record in self: + record.res_model = record.model_id.model + + def toggle_starred(self): + updates = defaultdict(set) + for record in self: + vals = {"starred": not record.starred} + updates[tools.frozendict(vals)].add(record.id) + for vals, ids in updates.items(): + self.browse(ids).write(dict(vals)) + self.flush_recordset() + + # SearchPanel + @api.model + def search_panel_select_range(self, field_name, **kwargs): + context = {} + if field_name == "parent_id": + context["directory_short_name"] = True + return super( + DmsDirectory, self.with_context(**context) + ).search_panel_select_range(field_name, **kwargs) + + @api.model + def search_panel_select_multi_range(self, field_name, **kwargs): + return super( + DmsDirectory, self.with_context(category_short_name=True) + ).search_panel_select_multi_range(field_name, **kwargs) + + # Actions + def action_save_onboarding_directory_step(self): + self.env.user.company_id.set_onboarding_step_done( + "documents_onboarding_directory_state" + ) + + # SearchPanel + @api.model + def _search_panel_directory(self, **kwargs): + search_domain = (kwargs.get("search_domain", []),) + if search_domain and len(search_domain): + for domain in search_domain[0]: + if domain[0] == "parent_id": + return domain[1], domain[2] + return None, None + + # Search + @api.model + def _search_starred(self, operator, operand): + if operator == "=" and operand: + return [("user_star_ids", "in", [self.env.uid])] + return [("user_star_ids", "not in", [self.env.uid])] + + @api.depends("name", "parent_id.complete_name") + def _compute_complete_name(self): + for category in self: + if category.parent_id: + category.complete_name = ( + f"{category.parent_id.complete_name} / {category.name}" + ) + else: + category.complete_name = category.name + + @api.depends("parent_id") + def _compute_storage_id(self): + for record in self: + if record.parent_id: + record.storage_id = record.parent_id.storage_id + else: + # HACK: Not needed in v14 due to odoo/odoo#64359 + record.storage_id = record.storage_id + + @api.depends("user_star_ids") + def _compute_starred(self): + for record in self: + record.starred = self.env.user in record.user_star_ids + + @api.depends("child_directory_ids") + def _compute_count_directories(self): + for record in self: + directories = len(record.child_directory_ids) + record.count_directories = directories + record.count_directories_title = _("%s Subdirectories") % directories + + @api.depends("file_ids") + def _compute_count_files(self): + for record in self: + files = len(record.file_ids) + record.count_files = files + record.count_files_title = _("%s Files") % files + + @api.depends("child_directory_ids", "file_ids") + def _compute_count_elements(self): + for record in self: + record.count_elements = record.count_files + record.count_directories + + def _compute_count_total_directories(self): + for record in self: + count = ( + self.search_count([("id", "child_of", record.id)]) if record.id else 0 + ) + record.count_total_directories = count - 1 if count > 0 else 0 + + def _compute_count_total_files(self): + model = self.env["dms.file"] + for record in self: + # Prevent error in some NewId cases + record.count_total_files = ( + model.search_count([("directory_id", "child_of", record.id)]) + if record.id + else 0 + ) + + def _compute_count_total_elements(self): + for record in self: + record.count_total_elements = ( + record.count_total_files + record.count_total_directories + ) + + def _compute_size(self): + sudo_model = self.env["dms.file"].sudo() + for record in self: + # Avoid NewId + if not record.id: + record.size = 0 + continue + recs = sudo_model.search_read( + domain=[("directory_id", "child_of", record.id)], + fields=["size"], + ) + record.size = sum(rec.get("size", 0) for rec in recs) + + @api.depends("size") + def _compute_human_size(self): + for item in self: + item.human_size = human_size(item.size) if item.size else False + + @api.depends( + "group_ids", + "inherit_group_ids", + "parent_id.complete_group_ids", + "parent_path", + ) + def _compute_groups(self): + """Get all DMS security groups affecting this directory.""" + for one in self: + groups = one.group_ids + if one.inherit_group_ids: + groups |= one.parent_id.complete_group_ids + self.complete_group_ids = groups + + # View + @api.depends("is_root_directory") + def _compute_parent_id(self): + for record in self: + if record.is_root_directory: + record.parent_id = None + else: + # HACK: Not needed in v14 due to odoo/odoo#64359 + record.parent_id = record.parent_id + + @api.depends("is_root_directory", "parent_id") + def _compute_root_id(self): + for record in self: + if record.is_root_directory: + record.root_directory_id = record + else: + # recursively check all parent nodes up to the root directory + if not record.parent_id.root_directory_id: + record.parent_id._compute_root_id() + record.root_directory_id = record.parent_id.root_directory_id + + @api.depends("category_id") + def _compute_tags(self): + for record in self: + tags = record.tag_ids.filtered( + lambda rec, record=record: not rec.category_id + or rec.category_id == record.category_id + ) + record.tag_ids = tags + + @api.onchange("storage_id") + def _onchange_storage_id(self): + for record in self: + if ( + record.storage_id.save_type == "attachment" + and record.storage_id.inherit_access_from_parent_record + ): + record.group_ids = False + + @api.onchange("model_id") + def _onchange_model_id(self): + self._inverse_model_id() + + # Constrains + @api.constrains("parent_id") + def _check_directory_recursion(self): + if self._has_cycle(): + raise ValidationError(_("Error! You cannot create recursive directories.")) + return True + + @api.constrains("storage_id", "model_id") + def _check_storage_id_attachment_model_id(self): + for record in self.filtered( + lambda directory: directory.storage_id.save_type == "attachment" + ): + if not record.model_id: + raise ValidationError( + _("A directory has to have model in attachment storage.") + ) + if not record.is_root_directory and not record.res_id: + raise ValidationError( + _("This directory needs to be associated to a record.") + ) + + @api.constrains("is_root_directory", "storage_id") + def _check_directory_storage(self): + for record in self: + if record.is_root_directory and not record.storage_id: + raise ValidationError(_("A root directory has to have a storage.")) + + @api.constrains("is_root_directory", "parent_id") + def _check_directory_parent(self): + for record in self: + if record.is_root_directory and record.parent_id: + raise ValidationError( + _("A directory can't be a root and have a parent directory.") + ) + if not record.is_root_directory and not record.parent_id: + raise ValidationError(_("A directory has to have a parent directory.")) + + @api.constrains("name") + def _check_name(self): + for record in self: + if self.env.context.get("check_name", True) and not check_name(record.name): + raise ValidationError(_("The directory name is invalid.")) + if record.is_root_directory: + children = record.sudo().storage_id.root_directory_ids + else: + children = record.sudo().parent_id.child_directory_ids + + if children.filtered( + lambda child, record=record: child.name == record.name + and child != record + ): + raise ValidationError( + _("A directory with the same name already exists.") + ) + + # Create, Update, Delete + def _inverse_starred(self): + starred_records = self.env["dms.directory"].sudo() + not_starred_records = self.env["dms.directory"].sudo() + for record in self: + if not record.starred and self.env.user in record.user_star_ids: + starred_records |= record + elif record.starred and self.env.user not in record.user_star_ids: + not_starred_records |= record + not_starred_records.write({"user_star_ids": [(4, self.env.uid)]}) + starred_records.write({"user_star_ids": [(3, self.env.uid)]}) + + def copy(self, default=None): + self.ensure_one() + default = dict(default or []) + if "parent_id" in default: + parent_directory = self.browse(default.get("parent_id")) + names = parent_directory.sudo().child_directory_ids.mapped("name") + elif self.is_root_directory: + names = self.sudo().storage_id.root_directory_ids.mapped("name") + else: + names = self.sudo().parent_id.child_directory_ids.mapped("name") + default.update({"name": unique_name(self.name, names)}) + return super().copy(default) + + def _alias_get_creation_values(self): + values = super()._alias_get_creation_values() + values["alias_model_id"] = self.env["ir.model"].sudo()._get("dms.directory").id + if self.id: + values["alias_defaults"] = defaults = ast.literal_eval( + self.alias_defaults or "{}" + ) + defaults["parent_id"] = self.id + return values + + @api.model + def message_new(self, msg_dict, custom_values=None): + custom_values = custom_values if custom_values is not None else {} + parent_directory_id = custom_values.get("parent_id") + parent_directory = self.sudo().browse(parent_directory_id) + if not parent_directory_id or not parent_directory.exists(): + raise ValueError("No directory could be found!") + if parent_directory.alias_process == "files": + parent_directory._process_message(msg_dict) + return parent_directory + names = parent_directory.child_directory_ids.mapped("name") + slug = self.env["ir.http"]._slug + subject = slug(msg_dict.get("subject", _("Alias-Mail-Extraction"))) + defaults = dict( + {"name": unique_name(subject, names, escape_suffix=True)}, **custom_values + ) + directory = super().message_new(msg_dict, custom_values=defaults) + directory._process_message(msg_dict) + return directory + + def message_update(self, msg_dict, update_vals=None): + self._process_message(msg_dict, extra_values=update_vals) + return super().message_update(msg_dict, update_vals=update_vals) + + def _process_message(self, msg_dict, extra_values=False): + names = self.sudo().file_ids.mapped("name") + for attachment in msg_dict["attachments"]: + uname = unique_name(attachment.fname, names, escape_suffix=True) + vals = { + "directory_id": self.id, + "name": uname, + } + try: + vals["content"] = base64.b64encode(attachment.content) + except Exception: + vals["content"] = attachment.content + self.env["dms.file"].sudo().create(vals) + names.append(uname) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + if vals.get("parent_id", False): + parent = self.browse([vals["parent_id"]]) + data = next(iter(parent.sudo().read(["storage_id"])), {}) + vals["storage_id"] = self._convert_to_write(data).get("storage_id") + # Hack to prevent error related to mail_message parent not exists in some cases + ctx = dict(self.env.context).copy() + ctx.update({"default_parent_id": False}) + self.env.registry.clear_cache() + res = super(DmsDirectory, self.with_context(**ctx)).create(vals_list) + return res + + def write(self, vals): + if any(k in vals.keys() for k in ["storage_id", "parent_id"]): + for item in self: + new_storage_id = vals.get("storage_id", item.storage_id.id) + new_parent_id = vals.get("parent_id", item.parent_id.id) + old_storage_id = ( + item.storage_id or item.root_directory_id.storage_id + ).id + if new_parent_id: + if old_storage_id != self.browse(new_parent_id).storage_id.id: + raise UserError( + _( + "It is not possible to change to a parent " + "with other storage." + ) + ) + elif old_storage_id != new_storage_id: + raise UserError(_("It is not possible to change the storage.")) + # Groups part + if any(key in vals for key in ["group_ids", "inherit_group_ids"]): + res = super().write(vals) + domain = [("id", "child_of", self.ids)] + records = self.sudo().search(domain) + records.modified(["group_ids"]) + records.flush_recordset() + else: + res = super().write(vals) + return res + + def unlink(self): + """Custom cascade unlink. + + Cannot rely on DB backend's cascade because subfolder and subfile unlinks + must check custom permissions implementation. + """ + self.file_ids.unlink() + if self.child_directory_ids: + self.child_directory_ids.unlink() + return super(DmsDirectory, self.exists()).unlink() + + @api.model + def _search_panel_domain_image( + self, field_name, domain, set_count=False, limit=False + ): + """We need to overwrite function from directories because odoo only return + records with children (very weird for user perspective). + All records are returned now. + """ + if field_name == "parent_id": + res = {} + for item in self.search_read( + domain=domain, fields=["id", "name", "count_directories"] + ): + res[item["id"]] = { + "id": item["id"], + "display_name": item["name"], + "__count": item["count_directories"], + } + return res + return super()._search_panel_domain_image( + field_name=field_name, domain=domain, set_count=set_count, limit=limit + ) + + def action_dms_directories_all_directory(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id( + "dms.action_dms_directory" + ) + domain = AND( + [ + literal_eval(action["domain"].strip()), + [("parent_id", "child_of", self.id)], + ] + ) + action["display_name"] = self.name + action["domain"] = domain + action["context"] = dict( + self.env.context, + default_parent_id=self.id, + searchpanel_default_parent_id=self.id, + ) + return action + + def action_dms_files_all_directory(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id("dms.action_dms_file") + domain = AND( + [ + literal_eval(action["domain"].strip()), + [("directory_id", "child_of", self.id)], + ] + ) + action["display_name"] = self.name + action["domain"] = domain + action["context"] = dict( + self.env.context, + default_directory_id=self.id, + searchpanel_default_directory_id=self.id, + ) + return action diff --git a/dms/models/dms_category.py b/dms/models/dms_category.py new file mode 100644 index 000000000..5900f4d93 --- /dev/null +++ b/dms/models/dms_category.py @@ -0,0 +1,104 @@ +# Copyright 2020 Creu Blanca +# Copyright 2017-2019 MuK IT GmbH +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import logging + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + +_logger = logging.getLogger(__name__) + + +class DMSCategory(models.Model): + _name = "dms.category" + _description = "Document Category" + + _parent_store = True + _parent_name = "parent_id" + + _order = "complete_name asc" + _rec_name = "complete_name" + + name = fields.Char(required=True, translate=True) + active = fields.Boolean( + default=True, + help="The active field allows you to hide the category without removing it.", + ) + complete_name = fields.Char( + compute="_compute_complete_name", store=True, recursive=True + ) + parent_id = fields.Many2one( + string="Parent Category", + comodel_name="dms.category", + ondelete="cascade", + index="btree", + ) + child_category_ids = fields.One2many( + string="Child Categories", + comodel_name="dms.category", + inverse_name="parent_id", + ) + parent_path = fields.Char(index="btree") + tag_ids = fields.One2many( + string="Tags", comodel_name="dms.tag", inverse_name="category_id" + ) + directory_ids = fields.One2many( + string="Directories", + comodel_name="dms.directory", + inverse_name="category_id", + readonly=True, + ) + file_ids = fields.One2many( + string="Files", + comodel_name="dms.file", + inverse_name="category_id", + readonly=True, + ) + count_categories = fields.Integer( + string="Count Subcategories", compute="_compute_count_categories" + ) + count_tags = fields.Integer(compute="_compute_count_tags") + count_directories = fields.Integer(compute="_compute_count_directories") + count_files = fields.Integer(compute="_compute_count_files") + + _sql_constraints = [ + ("name_uniq", "unique (name)", "Category name already exists!"), + ] + + @api.depends("name", "parent_id.complete_name") + def _compute_complete_name(self): + for category in self: + if category.parent_id: + category.complete_name = ( + f"{category.parent_id.complete_name} / {category.name}" + ) + else: + category.complete_name = category.name + + @api.depends("child_category_ids") + def _compute_count_categories(self): + for record in self: + record.count_categories = len(record.child_category_ids) + + @api.depends("tag_ids") + def _compute_count_tags(self): + for record in self: + record.count_tags = len(record.tag_ids) + + @api.depends("directory_ids") + def _compute_count_directories(self): + for record in self: + record.count_directories = len(record.directory_ids) + + @api.depends("file_ids") + def _compute_count_files(self): + for record in self: + record.count_files = len(record.file_ids) + + @api.constrains("parent_id") + def _check_category_recursion(self): + if self._has_cycle(): + raise ValidationError(_("Error! You cannot create recursive categories.")) + return True diff --git a/dms/models/dms_file.py b/dms/models/dms_file.py new file mode 100644 index 000000000..2b419e452 --- /dev/null +++ b/dms/models/dms_file.py @@ -0,0 +1,661 @@ +# Copyright 2020 Antoni Romera +# Copyright 2017-2019 MuK IT GmbH +# Copyright 2021 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import base64 +import hashlib +import json +import logging +from collections import defaultdict + +from PIL import Image + +from odoo import _, api, fields, models, tools +from odoo.exceptions import UserError, ValidationError +from odoo.osv import expression +from odoo.tools import consteq, human_size +from odoo.tools.mimetypes import guess_mimetype + +from ..tools import file + +_logger = logging.getLogger(__name__) + + +class DMSFile(models.Model): + _name = "dms.file" + _description = "File" + + _inherit = [ + "portal.mixin", + "dms.security.mixin", + "dms.mixins.thumbnail", + "mail.thread", + "mail.activity.mixin", + "abstract.dms.mixin", + ] + + _order = "name asc" + + # Database + active = fields.Boolean( + string="Archived", + default=True, + help="If a file is set to archived, it is not displayed, but still exists.", + ) + directory_id = fields.Many2one( + comodel_name="dms.directory", + string="Directory", + domain="[('permission_create', '=', True)]", + context={"dms_directory_show_path": True}, + ondelete="restrict", + auto_join=True, + required=True, + index="btree", + tracking=True, # Leave log if "moved" to another directory + ) + root_directory_id = fields.Many2one(related="directory_id.root_directory_id") + # Override acording to defined in AbstractDmsMixin + storage_id = fields.Many2one( + related="directory_id.storage_id", + readonly=True, + prefetch=False, + ) + + path_names = fields.Char( + compute="_compute_path", + compute_sudo=True, + readonly=True, + store=False, + ) + + path_json = fields.Text( + compute="_compute_path", + compute_sudo=True, + readonly=True, + store=False, + ) + + tag_ids = fields.Many2many( + comodel_name="dms.tag", + relation="dms_file_tag_rel", + column1="fid", + column2="tid", + domain="['|', ('category_id', '=', False),('category_id', '=?', category_id)]", + string="Tags", + ) + + content = fields.Binary( + compute="_compute_content", + inverse="_inverse_content", + attachment=False, + prefetch=False, + required=True, + store=False, + ) + + extension = fields.Char(compute="_compute_extension", readonly=True, store=True) + + mimetype = fields.Char( + compute="_compute_mimetype", string="Type", readonly=True, store=True + ) + + size = fields.Float(readonly=True) + human_size = fields.Char( + readonly=True, + string="Size (human readable)", + compute="_compute_human_size", + store=True, + ) + + checksum = fields.Char(string="Checksum/SHA1", readonly=True, index="btree") + + content_binary = fields.Binary(attachment=False, prefetch=False) + + save_type = fields.Char( + compute="_compute_save_type", + string="Current Save Type", + prefetch=False, + ) + + migration = fields.Char( + compute="_compute_migration", + string="Migration Status", + readonly=True, + prefetch=False, + compute_sudo=True, + store=True, + ) + require_migration = fields.Boolean( + compute="_compute_migration", store=True, compute_sudo=True + ) + content_file = fields.Binary(attachment=True, prefetch=False) + + # Extend inherited field(s) + image_1920 = fields.Image(compute="_compute_image_1920", store=True, readonly=False) + + @api.depends("mimetype", "content") + def _compute_image_1920(self): + """Provide thumbnail automatically if possible.""" + for one in self.filtered("mimetype"): + # Image.MIME provides a dict of mimetypes supported by Pillow, + # SVG is not present in the dict but is also a supported image format + # lacking a better solution, it's being added manually + # Some component modifies the PIL dictionary by adding PDF as a valid + # image type, so it must be explicitly excluded. + if one.mimetype != "application/pdf" and one.mimetype in ( + *Image.MIME.values(), + "image/svg+xml", + ): + one.image_1920 = one.content + + def check_access(self, operation): + self.mapped("directory_id").check_access(operation) + return super().check_access(operation) + + def _compute_access_url(self): + res = super()._compute_access_url() + for item in self: + item.access_url = f"/my/dms/file/{item.id}/download" + return res + + def check_access_token(self, access_token=False): + if not access_token: + return False + + if self.access_token and consteq(self.access_token, access_token): + return True + + items = ( + self.env["dms.directory"] + .sudo() + .search([("access_token", "=", access_token)]) + ) + if items: + item = items[0] + if self.directory_id.id == item.id: + return True + directory_item = self.directory_id + while directory_item.parent_id: + if directory_item.id == self.directory_id.id: + return True + directory_item = directory_item.parent_id + # Fix last level + if directory_item.id == self.directory_id.id: + return True + return False + + res_model = fields.Char( + string="Linked attachments model", related="directory_id.res_model" + ) + res_id = fields.Integer( + string="Linked attachments record ID", related="directory_id.res_id" + ) + attachment_id = fields.Many2one( + comodel_name="ir.attachment", + string="Attachment File", + prefetch=False, + ondelete="cascade", + ) + + def get_human_size(self): + return human_size(self.size) + + # Helper + @api.model + def _get_checksum(self, binary): + return hashlib.sha1(binary or b"").hexdigest() + + @api.model + def _get_content_inital_vals(self): + return {"content_binary": False, "content_file": False} + + def _update_content_vals(self, vals, binary): + new_vals = vals.copy() + new_vals.update( + { + "checksum": self._get_checksum(binary), + "size": binary and len(binary) or 0, + } + ) + if self.storage_id.save_type in ["file", "attachment"]: + new_vals["content_file"] = self.content + else: + new_vals["content_binary"] = self.content and binary + return new_vals + + @api.model + def _get_binary_max_size(self): + return int( + self.env["ir.config_parameter"] + .sudo() + .get_param("dms.binary_max_size", default=25) + ) + + @api.model + def _get_forbidden_extensions(self): + get_param = self.env["ir.config_parameter"].sudo().get_param + extensions = get_param("dms.forbidden_extensions", default="") + return [extension.strip() for extension in extensions.split(",")] + + def _get_icon_placeholder_name(self): + return self.extension and f"file_{self.extension}.svg" or "" + + # Actions + def action_migrate(self, should_logging=True): + record_count = len(self) + index = 1 + for dms_file in self: + if should_logging: + _logger.info( + _( + "Migrate File %(index)s of %(record_count)s [ %(" + "dms_file_migration)s ]", + index=index, + record_count=record_count, + dms_file_migration=dms_file.migration, + ) + ) + index += 1 + dms_file.write( + { + "content": dms_file.with_context(**{}).content, + "storage_id": dms_file.directory_id.storage_id.id, + } + ) + + def action_save_onboarding_file_step(self): + self.env.user.company_id.set_onboarding_step_done( + "documents_onboarding_file_state" + ) + + def action_wizard_dms_file_move(self): + items = self.browse(self.env.context.get("active_ids")) + root_directories = items.mapped("root_directory_id") + if len(root_directories) > 1: + raise UserError(_("Only files in the same root directory can be moved.")) + result = self.env["ir.actions.act_window"]._for_xml_id( + "dms.wizard_dms_file_move_act_window" + ) + result["context"] = dict(self.env.context) + return result + + # SearchPanel + @api.model + def _search_panel_directory(self, **kwargs): + search_domain = (kwargs.get("search_domain", []),) + category_domain = kwargs.get("category_domain", []) + if category_domain and len(category_domain): + return "=", category_domain[0][2] + if search_domain and len(search_domain): + for domain in search_domain[0]: + if domain[0] == "directory_id": + return domain[1], domain[2] + return None, None + + @api.model + def _search_panel_domain(self, field, operator, directory_id, comodel_domain=False): + if not comodel_domain: + comodel_domain = [] + files_ids = self.search([("directory_id", operator, directory_id)]).ids + return expression.AND([comodel_domain, [(field, "in", files_ids)]]) + + @api.model + def search_panel_select_range(self, field_name, **kwargs): + """This method is overwritten to make it 'similar' to v13. + The goal is that the directory searchpanel shows all directories + (even if some folders have no files). + """ + if field_name != "directory_id": + context = {} + if field_name == "category_id": + context["category_short_name"] = True + return super( + DMSFile, self.with_context(**context) + ).search_panel_select_range(field_name, **kwargs) + + domain = [("is_hidden", "=", False)] + # If we pass by context something, we filter more about it we filter + # the directories of the files, or we show all of them + if self.env.context.get("active_model") == "dms.directory": + active_id = self.env.context.get("active_id") + files = self.env["dms.file"].search( + [("directory_id", "child_of", active_id)] + ) + all_directory_ids = [] + for file_record in files: + directory = file_record.directory_id + while directory: + all_directory_ids.append(directory.id) + directory = directory.parent_id + domain.append(("id", "in", all_directory_ids)) + # Get all possible directories + comodel_records = ( + self.env["dms.directory"] + .with_context(directory_short_name=True) + .search_read(domain, ["display_name", "parent_id"]) + ) + all_record_ids = [rec["id"] for rec in comodel_records] + field_range = {} + enable_counters = kwargs.get("enable_counters") + for record in comodel_records: + record_id = record["id"] + parent = record["parent_id"] + record_values = { + "id": record_id, + "display_name": record["display_name"], + # If the parent directory is not in all the records we should not + # set parent_id because the user does not have access to parent. + "parent_id": ( + parent[0] if parent and parent[0] in all_record_ids else False + ), + } + if enable_counters: + record_values["__count"] = 0 + field_range[record_id] = record_values + if enable_counters: + res = super().search_panel_select_range(field_name, **kwargs) + for item in res["values"]: + if item["id"] in field_range: + field_range[item["id"]]["__count"] = item["__count"] + return {"parent_field": "parent_id", "values": list(field_range.values())} + + @api.model + def search_panel_select_multi_range(self, field_name, **kwargs): + operator, directory_id = self._search_panel_directory(**kwargs) + if field_name == "tag_ids": + sql_query = """ + SELECT t.name AS name, t.id AS id, c.name AS group_name, + c.id AS group_id, COUNT(r.fid) AS count + FROM dms_tag t + JOIN dms_category c ON t.category_id = c.id + LEFT JOIN dms_file_tag_rel r ON t.id = r.tid + WHERE %(filter_by_file_ids)s IS FALSE OR r.fid = ANY(%(file_ids)s) + GROUP BY c.name, c.id, t.name, t.id + ORDER BY c.name, c.id, t.name, t.id; + """ + file_ids = [] + if directory_id: + file_ids = self.search([("directory_id", operator, directory_id)]).ids + self.env.cr.execute( + sql_query, + {"file_ids": file_ids, "filter_by_file_ids": bool(directory_id)}, + ) + return self.env.cr.dictfetchall() + if directory_id and field_name in ["directory_id", "category_id"]: + comodel_domain = kwargs.pop("comodel_domain", []) + directory_comodel_domain = self._search_panel_domain( + "file_ids", operator, directory_id, comodel_domain + ) + return super( + DMSFile, self.with_context(directory_short_name=True) + ).search_panel_select_multi_range( + field_name, comodel_domain=directory_comodel_domain, **kwargs + ) + return super( + DMSFile, self.with_context(directory_short_name=True) + ).search_panel_select_multi_range(field_name, **kwargs) + + # Read + @api.depends("name", "directory_id", "directory_id.parent_path") + def _compute_path(self): + model = self.env["dms.directory"] + for record in self: + path_names = [record.display_name] + path_json = [ + { + "model": record._name, + "name": record.display_name, + "id": isinstance(record.id, int) and record.id or 0, + } + ] + current_dir = record.directory_id + while current_dir: + path_names.insert(0, current_dir.name) + path_json.insert( + 0, + { + "model": model._name, + "name": current_dir.name, + "id": current_dir._origin.id, + }, + ) + current_dir = current_dir.parent_id + record.update( + { + "path_names": "/".join(path_names) if all(path_names) else "", + "path_json": json.dumps(path_json), + } + ) + + @api.depends("name", "mimetype", "content") + def _compute_extension(self): + for record in self: + record.extension = file.guess_extension( + record.name, record.mimetype, record.content + ) + + @api.depends("content") + def _compute_mimetype(self): + for record in self: + binary = base64.b64decode(record.content or "") + record.mimetype = guess_mimetype(binary) + + @api.depends("size") + def _compute_human_size(self): + for item in self: + item.human_size = human_size(item.size) + + @api.depends("content_binary", "content_file", "attachment_id") + def _compute_content(self): + bin_size = self.env.context.get("bin_size", False) + for record in self: + if record.content_file: + context = {"human_size": True} if bin_size else {"base64": True} + record.content = record.with_context(**context).content_file + elif record.content_binary: + record.content = ( + record.content_binary + if bin_size + else base64.b64encode(record.content_binary) + ) + elif record.attachment_id: + context = {"human_size": True} if bin_size else {"base64": True} + record.content = record.with_context(**context).attachment_id.datas + + @api.depends("content_binary", "content_file") + def _compute_save_type(self): + for record in self: + if record.content_file: + record.save_type = "file" + else: + record.save_type = "database" + + @api.depends("storage_id", "storage_id.save_type") + def _compute_migration(self): + storage_model = self.env["dms.storage"] + save_field = storage_model._fields["save_type"] + values = save_field._description_selection(self.env) + selection = {value[0]: value[1] for value in values} + for record in self: + storage_type = record.storage_id.save_type + if storage_type == "attachment" or storage_type == record.save_type: + record.migration = selection.get(storage_type) + record.require_migration = False + else: + storage_label = selection.get(storage_type) + file_label = selection.get(record.save_type) + record.migration = f"{file_label} > {storage_label}" + record.require_migration = True + + # View + @api.onchange("category_id") + def _change_category(self): + self.tag_ids = self.tag_ids.filtered( + lambda rec: not rec.category_id or rec.category_id == self.category_id + ) + + # Constrains + @api.constrains("storage_id", "res_model", "res_id") + def _check_storage_id_attachment_res_model(self): + for record in self: + if record.storage_id.save_type == "attachment" and not ( + record.res_model and record.res_id + ): + raise ValidationError( + _("A file must have model and resource ID in attachment storage.") + ) + + @api.constrains("name") + def _check_name(self): + for record in self: + if not file.check_name(record.name): + raise ValidationError(_("The file name is invalid.")) + files = record.sudo().directory_id.file_ids + if files.filtered( + lambda file, record=record: file.name == record.name and file != record + ): + raise ValidationError( + _("A file with the same name already exists in this directory.") + ) + + @api.constrains("extension") + def _check_extension(self): + if self.filtered( + lambda rec: rec.extension + and rec.extension in self._get_forbidden_extensions() + ): + raise ValidationError(_("The file has a forbidden file extension.")) + + @api.constrains("size") + def _check_size(self): + if self.filtered( + lambda rec: rec.size > self._get_binary_max_size() * 1024 * 1024 + ): + raise ValidationError( + _("The maximum upload size is %s MB.") % self._get_binary_max_size() + ) + + # Create, Update, Delete + def _inverse_content(self): + updates = defaultdict(set) + for record in self: + values = self._get_content_inital_vals() + binary = base64.b64decode(record.content or "") + values = record._update_content_vals(values, binary) + updates[tools.frozendict(values)].add(record.id) + for vals, ids in updates.items(): + self.browse(ids).write(dict(vals)) + + def _create_model_attachment(self, vals): + res_vals = vals.copy() + directory_id = False + if "directory_id" in res_vals: + directory_id = res_vals["directory_id"] + elif self.env.context.get("active_id"): + directory_id = self.env.context.get("active_id") + elif self.env.context.get("default_directory_id"): + directory_id = self.env.context.get("default_directory_id") + directory = self.env["dms.directory"].browse(directory_id) + if ( + directory.res_model + and directory.res_id + and directory.storage_id_save_type == "attachment" + ): + attachment = ( + self.env["ir.attachment"] + .with_context(dms_file=True) + .create( + { + "name": vals["name"], + "datas": vals["content"], + "res_model": directory.res_model, + "res_id": directory.res_id, + } + ) + ) + res_vals["attachment_id"] = attachment.id + res_vals["res_model"] = attachment.res_model + res_vals["res_id"] = attachment.res_id + del res_vals["content"] + return res_vals + + def copy(self, default=None): + self.ensure_one() + default = dict(default or []) + names = self.sudo().directory_id.file_ids.mapped("name") + if "directory_id" in default: + directory = self.env["dms.directory"].browse( + default.get("directory_id", False) + ) + names = directory.sudo().file_ids.mapped("name") + default.update({"name": file.unique_name(self.name, names, self.extension)}) + return super().copy(default) + + @api.model_create_multi + def create(self, vals_list): + new_vals_list = [] + for vals in vals_list: + if "attachment_id" not in vals: + vals = self._create_model_attachment(vals) + new_vals_list.append(vals) + return super().create(new_vals_list) + + # ---------------------------------------------------------- + # Locking fields and functions + locked_by = fields.Many2one(comodel_name="res.users") + + is_locked = fields.Boolean(compute="_compute_locked", string="Locked") + + is_lock_editor = fields.Boolean(compute="_compute_locked", string="Editor") + + # ---------------------------------------------------------- + # Locking + # ---------------------------------------------------------- + + def lock(self): + self.write({"locked_by": self.env.uid}) + + def unlock(self): + self.write({"locked_by": None}) + + # Read, View + @api.depends("locked_by") + def _compute_locked(self): + for record in self: + if record.locked_by.exists(): + record.update( + { + "is_locked": True, + "is_lock_editor": record.locked_by.id == record.env.uid, + } + ) + else: + record.update({"is_locked": False, "is_lock_editor": False}) + + def get_attachment_object(self, attachment): + return { + "name": attachment.name, + "datas": attachment.datas, + "res_model": attachment.res_model, + "mimetype": attachment.mimetype, + } + + @api.model + def get_dms_files_from_attachments(self, attachment_ids=None): + """Get the dms files from uploaded attachments. + :return: An Array of dms files. + """ + if not attachment_ids: + raise UserError(_("No attachment was provided")) + + attachments = self.env["ir.attachment"].browse(attachment_ids) + + if any( + attachment.res_id or attachment.res_model != "dms.file" + for attachment in attachments + ): + raise UserError(_("Invalid attachments!")) + + return [self.get_attachment_object(attachment) for attachment in attachments] diff --git a/dms/models/dms_security_mixin.py b/dms/models/dms_security_mixin.py new file mode 100644 index 000000000..64e10d1dc --- /dev/null +++ b/dms/models/dms_security_mixin.py @@ -0,0 +1,300 @@ +# Copyright 2020 Creu Blanca +# Copyright 2021 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from logging import getLogger + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError +from odoo.osv.expression import ( + FALSE_DOMAIN, + NEGATIVE_TERM_OPERATORS, + OR, + TRUE_DOMAIN, +) +from odoo.tools import SQL + +_logger = getLogger(__name__) + + +class DmsSecurityMixin(models.AbstractModel): + _name = "dms.security.mixin" + _description = "DMS Security Mixin" + + _OPERATION_CONDITIONS = { + "create": "AND dag.perm_inclusive_create = TRUE", + "read": "", # No additional condition for 'read' + "unlink": "AND dag.perm_inclusive_unlink = TRUE", + "write": "AND dag.perm_inclusive_write = TRUE", + } + + # Submodels must define this field that points to the owner dms.directory + _directory_field = "directory_id" + + res_model = fields.Char( + string="Linked attachments model", index="btree", store=True + ) + res_id = fields.Integer( + string="Linked attachments record ID", index="btree", store=True + ) + record_ref = fields.Reference( + string="Record Referenced", + compute="_compute_record_ref", + selection=lambda self: self._get_ref_selection(), + ) + permission_read = fields.Boolean( + compute="_compute_permissions", + search="_search_permission_read", + string="Read Access", + ) + permission_create = fields.Boolean( + compute="_compute_permissions", + search="_search_permission_create", + string="Create Access", + ) + permission_write = fields.Boolean( + compute="_compute_permissions", + search="_search_permission_write", + string="Write Access", + ) + permission_unlink = fields.Boolean( + compute="_compute_permissions", + search="_search_permission_unlink", + string="Delete Access", + ) + + @api.model + def _get_ref_selection(self): + models = self.env["ir.model"].sudo().search([]) + return [(model.model, model.name) for model in models] + + @api.depends("res_model", "res_id") + def _compute_record_ref(self): + for record in self: + record.record_ref = False + if record.res_model and record.res_id: + record.record_ref = f"{record.res_model},{record.res_id}" + + def _compute_permissions(self): + """ + Get permissions for the current record. + """ + + # Update according to presence when applying ir.rule + self.invalidate_recordset() + if self.env.su: + self.update( + { + "permission_create": True, + "permission_read": True, + "permission_unlink": True, + "permission_write": True, + } + ) + return + + creatable = self._filtered_access("create") + readable = self._filtered_access("read") + unlinkable = self._filtered_access("unlink") + writeable = self._filtered_access("write") + for one in self: + one.update( + { + "permission_create": bool(one & creatable), + "permission_read": bool(one & readable), + "permission_unlink": bool(one & unlinkable), + "permission_write": bool(one & writeable), + } + ) + + @api.model + def _get_domain_by_inheritance(self, operation): + """Get domain for inherited accessible records.""" + if self.env.su: + return [] + inherited_access_field = "storage_id_inherit_access_from_parent_record" + if self._name != "dms.directory": + inherited_access_field = f"{self._directory_field}.{inherited_access_field}" + inherited_access_domain = [ + ("storage_id_save_type", "=", "attachment"), + (inherited_access_field, "=", True), + ] + domains = [] + # Get all used related records + related_groups = self.sudo().read_group( + domain=inherited_access_domain + [("res_model", "!=", False)], + fields=["res_id:array_agg"], + groupby=["res_model"], + ) + for group in related_groups: + try: + model = self.env[group["res_model"]] + except KeyError: + # The model might not be registered. + # This is normal if you are upgrading the database. + # Otherwise, you probably have garbage DMS data. + # These records will be accessible by DB users only. + domains.append( + [ + ("res_model", "=", group["res_model"]), + (True, "=", self.env.user.has_group("base.group_user")), + ] + ) + continue + # Check model access only once per batch + if not model.check_access(operation): + continue + domains.append([("res_model", "=", model._name), ("res_id", "=", False)]) + # Check record access in batch too + res_ids = [i for i in group["res_id"] if i] # Hack to remove None res_id + # Apply exists to skip records that do not exist. (e.g. a res.partner + # deleted by database). + model_records = model.browse(res_ids).exists() + related_ok = model_records._filtered_access(operation) + if not related_ok: + continue + domains.append( + [("res_model", "=", model._name), ("res_id", "in", related_ok.ids)] + ) + result = inherited_access_domain + OR(domains) + return result + + @api.model + def _get_access_groups_query(self, operation): + """Return the query to select access groups.""" + # Strict validation + if operation not in self._OPERATION_CONDITIONS: + raise ValidationError(_(f"Invalid operation: {operation}")) + + base_sql = """( + SELECT + dir_group_rel.aid + FROM + dms_directory_complete_groups_rel AS dir_group_rel + INNER JOIN dms_access_group AS dag + ON dir_group_rel.gid = dag.id + INNER JOIN dms_access_group_users_rel AS users + ON users.gid = dag.id + WHERE + users.uid = %s + )""" + if operation == "read": + sql = SQL( + base_sql, + self.env.uid, + ) + else: + base_sql = f"""( + SELECT + dir_group_rel.aid + FROM + dms_directory_complete_groups_rel AS dir_group_rel + INNER JOIN dms_access_group AS dag + ON dir_group_rel.gid = dag.id + INNER JOIN dms_access_group_users_rel AS users + ON users.gid = dag.id + WHERE + users.uid = %s {self._OPERATION_CONDITIONS[operation]} + )""" + sql = SQL( + base_sql, + self.env.uid, + ) + return sql + + @api.model + def _get_domain_by_access_groups(self, operation): + """Get domain for records accessible applying DMS access groups.""" + result = [ + ( + f"{self._directory_field}.storage_id_inherit_access_from_parent_record", + "=", + False, + ), + ( + self._directory_field, + "in", + self._get_access_groups_query(operation), + ), + ] + return result + + @api.model + def _get_permission_domain(self, operator, value, operation): + """Abstract logic for searching computed permission fields.""" + _self = self + # HACK ir.rule domain is always computed with sudo, so if this check is + # true, we can assume safely that you're checking permissions + if self.env.su and value == self.env.uid: + _self = self.sudo(False) + value = bool(value) + # Tricky one, to know if you want to search + # positive or negative access + positive = (operator not in NEGATIVE_TERM_OPERATORS) == bool(value) + if _self.env.su: + # You're SUPERUSER_ID + return TRUE_DOMAIN if positive else FALSE_DOMAIN + + result = OR( + [ + _self._get_domain_by_access_groups(operation), + _self._get_domain_by_inheritance(operation), + ] + ) + + if not positive: + result.insert(0, "!") + return result + + @api.model + def _search_permission_create(self, operator, value): + return self._get_permission_domain(operator, value, "create") + + @api.model + def _search_permission_read(self, operator, value): + return self._get_permission_domain(operator, value, "read") + + @api.model + def _search_permission_unlink(self, operator, value): + return self._get_permission_domain(operator, value, "unlink") + + @api.model + def _search_permission_write(self, operator, value): + return self._get_permission_domain(operator, value, "write") + + def _filtered_access_no_recursion(self, operation: str): + """This method is just the same as _filtered_access + but it can not be called withoud super due to + recursion error. + + """ + if self and not self.env.su and (result := self._check_access(operation)): + return self - result[0] + return self + + def _filtered_access(self, operation): + # Only kept to not break inheritance; see next comment + result = super()._filtered_access(operation) + # HACK Always fall back to applying rules by SQL. + # Upstream `_filtered_access()` doesn't use computed fields + # search methods. Thus, it will take the `[('permission_{operation}', + # '=', user.id)]` rule literally. Obviously that will always fail + # because `self[f"permission_{operation}"]` will always be a `bool`, + # while `user.id` will always be an `int`. + result |= self._filtered_access_no_recursion(operation) + return result + + @api.model_create_multi + def create(self, vals_list): + # Create as sudo to avoid testing creation permissions before DMS security + # groups are attached (otherwise nobody would be able to create) + res = super(DmsSecurityMixin, self.sudo()).create(vals_list) + # Need to flush now, so all groups are stored in DB and the SELECT used + # to check access works + res.flush_recordset() + # Go back to the original sudo state and check we really had creation permission + res = res.sudo(self.env.su) + res.check_access("create") + return res diff --git a/dms/models/ir_attachment.py b/dms/models/ir_attachment.py new file mode 100644 index 000000000..dbd4d4119 --- /dev/null +++ b/dms/models/ir_attachment.py @@ -0,0 +1,101 @@ +# Copyright 2021 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +from odoo import api, models +from odoo.tools import ormcache + + +class IrAttachment(models.Model): + _inherit = "ir.attachment" + + def _get_dms_directories(self, res_model, res_id): + domain = [ + ("res_model", "=", res_model), + ("res_id", "=", res_id), + ("storage_id.save_type", "=", "attachment"), + ] + if self.env.context.get("attaching_to_record"): + domain += [("storage_id.include_message_attachments", "=", True)] + return self.env["dms.directory"].search(domain) + + def _dms_directories_create(self): + items = self.sudo()._get_dms_directories(self.res_model, False) + for item in items: + model_item = self.env[self.res_model].browse(self.res_id) + ir_model_item = ( + self.env["ir.model"].sudo().search([("model", "=", self.res_model)]) + ) + self.env["dms.directory"].sudo().with_context(check_name=False).create( + { + "name": model_item.display_name, + "model_id": ir_model_item.id, + "res_model": self.res_model, + "res_id": self.res_id, + "parent_id": item.id, + "storage_id": item.storage_id.id, + } + ) + + @ormcache("model") + def _dms_operations_from_model(self, model): + # Apply sudo to prevent ir.rule from being applied. + item = self.env["dms.storage"].sudo().search([("model_ids.model", "=", model)]) + return bool(item) + + def _dms_operations(self): + """Perform the operation only if there is a storage with linked models. + The directory (dms.directory) linked to the record (if it does not exist) + and the file (dms.file) with the linked attachment would be created. + """ + for attachment in self: + if ( + not attachment.res_model + or not attachment.res_id + or ( + attachment.res_model + and not self._dms_operations_from_model(attachment.res_model) + ) + ): + continue + directories = attachment._get_dms_directories( + attachment.res_model, attachment.res_id + ) + if not directories: + attachment._dms_directories_create() + # Get dms_directories again (with items previously created) + directories = attachment._get_dms_directories( + attachment.res_model, attachment.res_id + ) + # Auto-create_files (if not exists) + for directory in directories: + dms_file_model = self.env["dms.file"].sudo() + dms_file = dms_file_model.search( + [ + ("attachment_id", "=", attachment.id), + ("directory_id", "=", directory.id), + ] + ) + if not dms_file: + dms_file_model.create( + { + "name": attachment.name, + "directory_id": directory.id, + "attachment_id": attachment.id, + "res_model": attachment.res_model, + "res_id": attachment.res_id, + } + ) + + @api.model_create_multi + def create(self, vals_list): + records = super().create(vals_list) + if not self.env.context.get("dms_file"): + records._dms_operations() + return records + + def write(self, vals): + res = super().write(vals) + if not self.env.context.get("dms_file") and self.env.context.get( + "attaching_to_record" + ): + self._dms_operations() + return res diff --git a/dms/models/ir_binary.py b/dms/models/ir_binary.py new file mode 100644 index 000000000..79ebcb48a --- /dev/null +++ b/dms/models/ir_binary.py @@ -0,0 +1,19 @@ +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo import models + + +class IrBinary(models.AbstractModel): + _inherit = "ir.binary" + + def _find_record_check_access(self, record, access_token, field): + if record._name in ("dms.file", "dms.directory"): + if record.sudo().check_access_token(access_token): + # sudo because the user might not usually have access to the record but + # now the token is valid. + # Used to display the icon in the portal. + return record.sudo() + + return super()._find_record_check_access(record, access_token, field) diff --git a/dms/models/mail_thread.py b/dms/models/mail_thread.py new file mode 100644 index 000000000..4e6514d7d --- /dev/null +++ b/dms/models/mail_thread.py @@ -0,0 +1,15 @@ +# Copyright 2021 Tecnativa - Jairo Llopis +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). + +from odoo import models + + +class MailThread(models.AbstractModel): + _inherit = "mail.thread" + + def _process_attachments_for_post(self, attachments, attachment_ids, message_data): + """Indicate to DMS that we're attaching a message to a record.""" + _self = self.with_context(attaching_to_record=True) + return super(MailThread, _self)._process_attachments_for_post( + attachments, attachment_ids, message_data + ) diff --git a/dms/models/mixins_thumbnail.py b/dms/models/mixins_thumbnail.py new file mode 100644 index 000000000..ebaed83d6 --- /dev/null +++ b/dms/models/mixins_thumbnail.py @@ -0,0 +1,49 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import os + +from odoo import api, fields, models +from odoo.tools.misc import file_path + + +class Thumbnail(models.AbstractModel): + _name = "dms.mixins.thumbnail" + _inherit = "image.mixin" + _description = "DMS thumbnail and icon mixin" + + icon_url = fields.Char(string="Icon URL", compute="_compute_icon_url") + + def _get_icon_disk_path(self): + """Get the local disk path to record icon.""" + name = self._get_icon_placeholder_name() + folders = ["dms", "static", "icons"] + + try: + path = file_path(os.path.join(*folders, name)) + except FileNotFoundError: + return file_path(os.path.join(*folders, "file_unknown.svg")) + + return path or file_path(os.path.join(*folders, "file_unknown.svg")) + + def _get_icon_placeholder_name(self): + return "folder.svg" + + def _get_icon_url(self): + """Obtain URL to record icon.""" + local_path = self._get_icon_disk_path() + icon_name = os.path.basename(local_path) + return f"/dms/static/icons/{icon_name}" + + @api.depends("image_128") + def _compute_icon_url(self): + """Get icon static file URL.""" + for one in self: + # Get URL to thumbnail or to the default icon by file extension + one.icon_url = ( + f"/web/image/{one._name}/{one.id}/image_128/128x128?crop=1" + if one.image_128 + else f"{one._get_icon_url()}?crop=1" + ) diff --git a/dms/models/onboarding_onboarding.py b/dms/models/onboarding_onboarding.py new file mode 100644 index 000000000..803d9e9b0 --- /dev/null +++ b/dms/models/onboarding_onboarding.py @@ -0,0 +1,16 @@ +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo import api, models + + +class OnboardingOnboarding(models.Model): + _inherit = "onboarding.onboarding" + + # ---------------------------------------------------------- + # Actions + # ---------------------------------------------------------- + @api.model + def action_close_panel_dms_file(self): + self.action_close_panel("dms.onboarding_onboarding_dms_file") diff --git a/dms/models/onboarding_onboarding_step.py b/dms/models/onboarding_onboarding_step.py new file mode 100644 index 000000000..3345bb356 --- /dev/null +++ b/dms/models/onboarding_onboarding_step.py @@ -0,0 +1,50 @@ +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + + +from odoo import api, models + + +class OnboardingOnboardingStep(models.Model): + _inherit = "onboarding.onboarding.step" + + # ---------------------------------------------------------- + # Actions + # ---------------------------------------------------------- + @api.model + def action_open_documents_onboarding_storage(self): + """ + Open the form to create a new storage from the onboarding panel. + """ + return self.env.ref("dms.action_dms_storage_new").read()[0] + + @api.model + def action_open_documents_onboarding_directory(self): + """ + Open the form to create a new directory from the onboarding panel. + """ + storage = self.env["dms.storage"].search([], order="create_date desc", limit=1) + action = self.env.ref("dms.action_dms_directory_new").read()[0] + action["context"] = { + **self.env.context, + **{ + "default_is_root_directory": True, + "default_storage_id": storage and storage.id, + }, + } + return action + + @api.model + def action_open_documents_onboarding_file(self): + """ + Open the form to create a new file from the onboarding panel. + """ + directory = self.env["dms.directory"].search( + [], order="create_date desc", limit=1 + ) + action = self.env.ref("dms.action_dms_file_new").read()[0] + action["context"] = { + **self.env.context, + **{"default_directory_id": directory and directory.id}, + } + return action diff --git a/dms/models/res_company.py b/dms/models/res_company.py new file mode 100644 index 000000000..0262a3bd2 --- /dev/null +++ b/dms/models/res_company.py @@ -0,0 +1,86 @@ +# Copyright 2020 Creu Blanca +# Copyright 2017-2019 MuK IT GmbH +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import logging + +from odoo import api, fields, models + +_logger = logging.getLogger(__name__) + + +class ResCompany(models.Model): + _inherit = "res.company" + + documents_onboarding_state = fields.Selection( + selection=[ + ("not_done", "Not done"), + ("just_done", "Just done"), + ("done", "Done"), + ("closed", "Closed"), + ], + default="not_done", + ) + documents_onboarding_storage_state = fields.Selection( + selection=[ + ("not_done", "Not done"), + ("just_done", "Just done"), + ("done", "Done"), + ("closed", "Closed"), + ], + default="not_done", + ) + documents_onboarding_directory_state = fields.Selection( + selection=[ + ("not_done", "Not done"), + ("just_done", "Just done"), + ("done", "Done"), + ("closed", "Closed"), + ], + default="not_done", + ) + documents_onboarding_file_state = fields.Selection( + selection=[ + ("not_done", "Not done"), + ("just_done", "Just done"), + ("done", "Done"), + ("closed", "Closed"), + ], + default="not_done", + ) + + # Functions + def get_and_update_documents_onboarding_state(self): + step_states = [ + "documents_onboarding_storage_state", + "documents_onboarding_directory_state", + "documents_onboarding_file_state", + ] + onboarding_state = "documents_onboarding_state" + old_values = {} + all_done = True + + for step_state in step_states: + old_values[step_state] = self[step_state] + if self[step_state] == "just_done": + self[step_state] = "done" + all_done = all_done and self[step_state] == "done" + + if all_done: + old_values[onboarding_state] = ( + "just_done" if self[onboarding_state] == "not_done" else "done" + ) + self[onboarding_state] = "done" + + return old_values + + # Actions + @api.model + def action_close_documents_onboarding(self): + self.env.user.company_id.documents_onboarding_state = "closed" + + def set_onboarding_step_done(self, step): + self.ensure_one() + if self[step] == "not_done": + self[step] = "just_done" diff --git a/dms/models/res_config_settings.py b/dms/models/res_config_settings.py new file mode 100644 index 000000000..e1e00fc97 --- /dev/null +++ b/dms/models/res_config_settings.py @@ -0,0 +1,21 @@ +# Copyright 2020 Creu Blanca +# Copyright 2017-2019 MuK IT GmbH +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + documents_binary_max_size = fields.Integer( + string="Size", + help="Defines the maximum upload size in MB. Default (25MB)", + config_parameter="dms.binary_max_size", + ) + + documents_forbidden_extensions = fields.Char( + string="Extensions", + help="Defines a list of forbidden file extensions. (Example: 'exe,msi')", + config_parameter="dms.forbidden_extensions", + ) diff --git a/dms/models/storage.py b/dms/models/storage.py new file mode 100644 index 000000000..cbc74cf01 --- /dev/null +++ b/dms/models/storage.py @@ -0,0 +1,133 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2021 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import logging + +from odoo import _, api, fields, models +from odoo.exceptions import AccessError + +_logger = logging.getLogger(__name__) + + +class Storage(models.Model): + _name = "dms.storage" + _description = "Storage" + + name = fields.Char(required=True) + save_type = fields.Selection( + selection=[ + ("database", "Database"), + ("file", "Filestore"), + ("attachment", "Attachment"), + ], + default="database", + required=True, + help="The save type is used to determine how a file is saved by the system. " + "If you change this setting, you can migrate existing files manually by " + "triggering the action.", + ) + company_id = fields.Many2one( + comodel_name="res.company", + string="Company", + default=lambda self: self.env.company, + help="If set, directories and files will only be available for " + "the selected company.", + ) + is_hidden = fields.Boolean( + string="Storage is Hidden", + default=False, + help="Indicates if directories and files are hidden by default.", + ) + root_directory_ids = fields.One2many( + comodel_name="dms.directory", + inverse_name="storage_id", + string="Root Directories", + auto_join=False, + readonly=False, + copy=False, + ) + storage_directory_ids = fields.One2many( + comodel_name="dms.directory", + inverse_name="storage_id", + string="Directories", + auto_join=False, + readonly=True, + copy=False, + ) + storage_file_ids = fields.One2many( + comodel_name="dms.file", + inverse_name="storage_id", + string="Files", + auto_join=False, + readonly=True, + copy=False, + ) + count_storage_directories = fields.Integer( + compute="_compute_count_storage_directories", string="Count Directories" + ) + count_storage_files = fields.Integer( + compute="_compute_count_storage_files", string="Count Files" + ) + model_ids = fields.Many2many("ir.model", string="Linked Models") + inherit_access_from_parent_record = fields.Boolean( + string="Inherit permissions from related record", + default=False, + help="Indicate if directories and files access work only with " + "related model access (for example, if some directories are related " + "with any sale, only users with read access to these sale can access)", + ) + include_message_attachments = fields.Boolean( + string="Create files from message attachments", + default=False, + help="Indicate if directories and files auto-create in mail " + "composition process too", + ) + model = fields.Char(search="_search_model", store=False) + + def _search_model(self, operator, value): + allowed_items = self.env["ir.model"].sudo().search([("model", operator, value)]) + return [("model_ids", "in", allowed_items.ids)] + + @api.onchange("save_type") + def _onchange_save_type(self): + for record in self: + if record.save_type == "attachment": + record.inherit_access_from_parent_record = True + + # Actions + def action_storage_migrate(self): + if self.save_type != "attachment": + if not self.env.user.has_group("dms.group_dms_manager"): + raise AccessError(_("Only managers can execute this action.")) + files = self.env["dms.file"].with_context(active_test=False).sudo() + + for record in self: + domain = [ + ("require_migration", "=", True), + ("storage_id", "=", record.id), + ] + files.search(domain).action_migrate() + + def action_save_onboarding_storage_step(self): + self.env.user.company_id.set_onboarding_step_done( + "documents_onboarding_storage_state" + ) + + # Read, View + @api.depends("storage_directory_ids") + def _compute_count_storage_directories(self): + for record in self: + record.count_storage_directories = len(record.storage_directory_ids) + + @api.depends("storage_file_ids") + def _compute_count_storage_files(self): + for record in self: + record.count_storage_files = len(record.storage_file_ids) + + def write(self, values): + res = super().write(values) + if "model_ids" in values: + self.env.registry.clear_cache() + return res diff --git a/dms/models/tag.py b/dms/models/tag.py new file mode 100644 index 000000000..25dfb9a57 --- /dev/null +++ b/dms/models/tag.py @@ -0,0 +1,59 @@ +# Copyright 2020 RGB Consulting +# Copyright 2017-2019 MuK IT GmbH +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import logging + +from odoo import api, fields, models + +_logger = logging.getLogger(__name__) + + +class Tag(models.Model): + _name = "dms.tag" + _description = "Document Tag" + + name = fields.Char(required=True, translate=True) + active = fields.Boolean( + default=True, + help="The active field allows you " "to hide the tag without removing it.", + ) + category_id = fields.Many2one( + comodel_name="dms.category", + context={"dms_category_show_path": True}, + string="Category", + ondelete="set null", + ) + color = fields.Integer(string="Color Index", default=10) + directory_ids = fields.Many2many( + comodel_name="dms.directory", + relation="dms_directory_tag_rel", + column1="tid", + column2="did", + string="Directories", + readonly=True, + ) + file_ids = fields.Many2many( + comodel_name="dms.file", + relation="dms_file_tag_rel", + column1="tid", + column2="fid", + string="Files", + readonly=True, + ) + count_directories = fields.Integer(compute="_compute_count_directories") + count_files = fields.Integer(compute="_compute_count_files") + + _sql_constraints = [ + ("name_uniq", "unique (name, category_id)", "Tag name already exists!"), + ] + + @api.depends("directory_ids") + def _compute_count_directories(self): + for rec in self: + rec.count_directories = len(rec.directory_ids) + + @api.depends("file_ids") + def _compute_count_files(self): + for rec in self: + rec.count_files = len(rec.file_ids) diff --git a/dms/pyproject.toml b/dms/pyproject.toml new file mode 100644 index 000000000..4231d0ccc --- /dev/null +++ b/dms/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/dms/readme/CONFIGURE.md b/dms/readme/CONFIGURE.md new file mode 100644 index 000000000..7443be667 --- /dev/null +++ b/dms/readme/CONFIGURE.md @@ -0,0 +1,59 @@ +# Configuration + +To configure this module, you need to: + +## 1. Create a storage +1. Go to *Documents -\> Configuration -\> Storages*. + +2. Create a new document storage. You can choose between three options on `Save Type`: + - `Database`: Store the files on the database as a field + - `Attachment`: Store the files as attachments + - `File`: Store the files on the file system + +## 2. Create an access group +1. Next, create an administrative access group. Go to *Configuration -\> Access Groups*. + - Create a new group, name it appropriately, and turn on all three + permissions (Create, Write and Unlink. Read is implied and always + enabled). + - Add any other top-level administrative users to the group if + needed (your user should already be there). + - You can create other groups in here later for fine-grained access + control. + +## 3. Create a directory +1. Afterward, go to *Documents -\> Directories*. + +2. Create a new directory, mark it as root and select the previously created setting. + - Select the *Groups* tab and add your administrative group created + above. + If your directory was already created before the group, you can also add it in the + access groups (*Configuration -\> Access Groups*). + +3. In the directory settings, you can also add other access groups (created above) that will be able to: + - read + - create + - write + - delete + +# Migration + +If you need to modify the storage `Save Type` you might want to migrate +the file data. To achieve it, you need to: + +1. Go to *Documents -\> Configuration -\> Storage* and select the + storage you want to modify +2. Modify the save type +3. Press the button Migrate files if you want to migrate all the files + at once +4. Press the button Manual File Migration to specify files one by one + +You can check all the files that still need to be migrated from all +storages and migrate them manually on *Documents -\> Configuration -\> +Migration* + +# File Wizard Selection + +There is an action called `action_dms_file_wizard_selector` to open a +wizard to list files in kanban view. This can be used (example +dms_attachment_link module) to add a button in kanban view with the +action we need. diff --git a/dms/readme/CONTRIBUTORS.md b/dms/readme/CONTRIBUTORS.md new file mode 100644 index 000000000..a319c249a --- /dev/null +++ b/dms/readme/CONTRIBUTORS.md @@ -0,0 +1,16 @@ +- Mathias Markl \<\> +- Enric Tobella \<\> +- Antoni Romera +- Gelu Boros \<\> +- [Tecnativa](https://www.tecnativa.com): + - Víctor Martínez + - Pedro M. Baeza + - Jairo Llopis +- [Elego](https://www.elegosoft.com): + - Yu Weng \<\> + - Philip Witte \<\> + - Khanh Bui \<\> +- [Subteno](https://www.subteno.com): + - Timothée Vannier <> +- [Kencove](https://www.kencove.com): + - Mohamed Alkobrosli <> diff --git a/dms/readme/CREDITS.md b/dms/readme/CREDITS.md new file mode 100644 index 000000000..a1fe32cc7 --- /dev/null +++ b/dms/readme/CREDITS.md @@ -0,0 +1,6 @@ +Some pictures are based on or inspired by: + +- [Roundicons](https://www.flaticon.com/authors/roundicons) +- [Smashicons](https://www.flaticon.com/authors/smashicons) +- [EmojiOne](https://github.com/EmojiTwo/emojitwo) : Portal DMS icon +- [GitHub Octicons](https://github.com/primer/octicons/) : The main DMS icon diff --git a/dms/readme/DESCRIPTION.md b/dms/readme/DESCRIPTION.md new file mode 100644 index 000000000..30699df55 --- /dev/null +++ b/dms/readme/DESCRIPTION.md @@ -0,0 +1,9 @@ +DMS is a module for creating, managing and viewing document files +directly within Odoo. This module is only the basis for an entire +ecosystem of apps that extend and seamlessly integrate with the document +management system. + +This module adds portal functionality for directories and files for +allowed users, both portal or internal users. You can get as well a +tokenized link from a directory or a file for sharing it with any +anonymous user. diff --git a/dms/readme/INSTALL.md b/dms/readme/INSTALL.md new file mode 100644 index 000000000..c8eb8aba7 --- /dev/null +++ b/dms/readme/INSTALL.md @@ -0,0 +1,4 @@ +## Preview + +`python-magic` library is recommended to be installed for having whole +support to get proper file types and file preview. diff --git a/dms/readme/ROADMAP.md b/dms/readme/ROADMAP.md new file mode 100644 index 000000000..27f7de77f --- /dev/null +++ b/dms/readme/ROADMAP.md @@ -0,0 +1,21 @@ +- Files preview in portal +- Allow to download folder in portal and create zip file with all + content +- Save in cache own_root directories and update in every + create/write/unlink function +- Add a migration procedure for converting an storage to attachment one + for populating existing records with attachments as folders +- Add a link from attachment view in chatter to linked documents +- If Inherit permissions from related record (the + inherit_access_from_parent_record field from storage) is changed when + directories already exist, inconsistencies may occur because groups + defined in the directories and subdirectories will still exist, all + groups in these directories should be removed before changing. +- Since portal users can read `dms.storage` records, if your module + extends this model to another storage backend that needs using + secrets, remember to forbid access to the secrets fields by other + means. It would be nice to be able to remove that rule at some point. +- Searchpanel in files: Highlight items (shading) without records when + filtering something (by name for example). +- Accessing the clipboard (for example copy share link of file/directory) + is limited to secure connections. It also happens in any part of Odoo. diff --git a/dms/readme/USAGE.md b/dms/readme/USAGE.md new file mode 100644 index 000000000..115fee86e --- /dev/null +++ b/dms/readme/USAGE.md @@ -0,0 +1,11 @@ +The best way to manage the documents is to switch to the Documents view. +Existing documents can be managed there and new documents can be +created. + +## Portal functionality + +You can add any portal user to DMS access groups, and then allow that +group in directories, so they will see in the portal such directories +and their files. Another possibility is to click on "Share" button +inside a directory or a file for obtaining a tokenized link for single +access to that resource, no matter if logged or not. diff --git a/dms/security/ir.model.access.csv b/dms/security/ir.model.access.csv new file mode 100644 index 000000000..f192f9808 --- /dev/null +++ b/dms/security/ir.model.access.csv @@ -0,0 +1,27 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink + +access_dms_tag_user,dms_tag_user,model_dms_tag,group_dms_user,1,1,1,1 +access_dms_category_user,dms_category_user,model_dms_category,group_dms_user,1,1,1,1 + +access_dms_storage_base_user,dms_storage_base_user,model_dms_storage,base.group_user,1,0,0,0 +access_dms_storage_portal,dms_storage_portal,model_dms_storage,base.group_portal,1,0,0,0 +access_dms_storage_user,dms_storage_user,model_dms_storage,group_dms_user,1,0,0,0 +access_dms_storage_manager,dms_storage_manager,model_dms_storage,group_dms_manager,1,1,1,1 + +access_dms_directory_public,dms_directory_public,model_dms_directory,base.group_public,1,0,0,0 +access_dms_directory_portal,dms_directory_portal,model_dms_directory,base.group_portal,1,0,0,0 +access_dms_directory_base_user,dms_directory_base_user,model_dms_directory,base.group_user,1,0,0,0 +access_dms_directory_user,dms_directory_user,model_dms_directory,group_dms_user,1,1,1,1 + +access_dms_file_public,dms_file_public,model_dms_file,base.group_public,1,0,0,0 +access_dms_file_portal,dms_file_portal,model_dms_file,base.group_portal,1,0,0,0 +access_dms_file_base_user,dms_file_base_user,model_dms_file,base.group_user,1,0,0,0 +access_dms_file_user,dms_file_user,model_dms_file,group_dms_user,1,1,1,1 + +access_dms_access_group_public,access_dms_access_group_public,model_dms_access_group,base.group_public,1,0,0,0 +access_dms_access_group_portal,access_dms_access_group_portal,model_dms_access_group,base.group_portal,1,0,0,0 +access_security_access_groups_user,access_security_access_groups_user,model_dms_access_group,base.group_user,1,0,0,0 +access_security_access_groups_dms_user,access_security_access_groups_dms_user,model_dms_access_group,group_dms_user,1,1,1,1 + +access_wizard_dms_file_move,access_wizard_dms_file_move,model_wizard_dms_file_move,group_dms_user,1,1,1,1 +access_wizard_dms_share,access_wizard_dms_share,model_wizard_dms_share,group_dms_manager,1,1,1,0 diff --git a/dms/security/security.xml b/dms/security/security.xml new file mode 100644 index 000000000..01e82a29a --- /dev/null +++ b/dms/security/security.xml @@ -0,0 +1,191 @@ + + + + + Documents + + + User + + + + + Manager + + + + + + DMS Storage multi-company + + + ['|',('company_id','=',False),('company_id','in',company_ids)] + + + DMS Directory multi-company + + + ['|',('company_id','=',False),('company_id','in',company_ids)] + + + File multi-company + + + ['|',('company_id','=',False),('company_id','in',company_ids)] + + + Locked files are only modified by locker user. + + + + + + + + ['|', ('locked_by', '=', False), ('locked_by', '=', user.id)] + + + DMS users can only edit and delete their own groups. + + + + + + + [('create_uid','=',user.id)] + + + DMS Managers can edit and delete all groups. + + + + + + + [(1 ,'=', 1)] + + + + Basic users cannot access hidden storage + + + + + + + [('is_hidden', '=', False)] + + + Managers can access hidden storage + + + + + + + [('is_hidden', '=', True)] + + + + Apply computed create permissions. + + + + + + + [('permission_create', '=', True)] + + + Apply computed read permissions. + + + + + + + [('permission_read', '=', True)] + + + Apply computed unlink permissions. + + + + + + + [('permission_unlink', '=', True)] + + + Apply computed write permissions. + + + + + + + [('permission_write', '=', True)] + + + Apply computed create permissions. + + + + + + + [('permission_create', '=', True)] + + + Apply computed read permissions. + + + + + + + [('permission_read', '=', True)] + + + Apply computed unlink permissions. + + + + + + + [('permission_unlink', '=', True)] + + + Apply computed write permissions. + + + + + + + [('permission_write', '=', True)] + + diff --git a/dms/static/description/icon.png b/dms/static/description/icon.png new file mode 100644 index 000000000..26d62db69 Binary files /dev/null and b/dms/static/description/icon.png differ diff --git a/dms/static/description/icon.svg b/dms/static/description/icon.svg new file mode 100644 index 000000000..663c409de --- /dev/null +++ b/dms/static/description/icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/dms/static/description/index.html b/dms/static/description/index.html new file mode 100644 index 000000000..7abec759e --- /dev/null +++ b/dms/static/description/index.html @@ -0,0 +1,614 @@ + + + + + +Document Management System + + + +
+

Document Management System

+ + +

Beta License: LGPL-3 OCA/dms Translate me on Weblate Try me on Runboat

+

DMS is a module for creating, managing and viewing document files +directly within Odoo. This module is only the basis for an entire +ecosystem of apps that extend and seamlessly integrate with the document +management system.

+

This module adds portal functionality for directories and files for +allowed users, both portal or internal users. You can get as well a +tokenized link from a directory or a file for sharing it with any +anonymous user.

+

Table of contents

+ +
+

Installation

+
+

Preview

+

python-magic library is recommended to be installed for having whole +support to get proper file types and file preview.

+
+
+ +
+

Configuration

+

To configure this module, you need to:

+
+

1. Create a storage

+
    +
  1. Go to Documents -> Configuration -> Storages.
  2. +
  3. Create a new document storage. You can choose between three options +on Save Type:
      +
    • Database: Store the files on the database as a field
    • +
    • Attachment: Store the files as attachments
    • +
    • File: Store the files on the file system
    • +
    +
  4. +
+
+
+

2. Create an access group

+
    +
  1. Next, create an administrative access group. Go to Configuration -> +Access Groups.
      +
    • Create a new group, name it appropriately, and turn on all three +permissions (Create, Write and Unlink. Read is implied and always +enabled).
    • +
    • Add any other top-level administrative users to the group if needed +(your user should already be there).
    • +
    • You can create other groups in here later for fine-grained access +control.
    • +
    +
  2. +
+
+
+

3. Create a directory

+
    +
  1. Afterward, go to Documents -> Directories.
  2. +
  3. Create a new directory, mark it as root and select the previously +created setting.
      +
    • Select the Groups tab and add your administrative group created +above. If your directory was already created before the group, you +can also add it in the access groups (Configuration -> Access +Groups).
    • +
    +
  4. +
  5. In the directory settings, you can also add other access groups +(created above) that will be able to:
      +
    • read
    • +
    • create
    • +
    • write
    • +
    • delete
    • +
    +
  6. +
+
+
+
+

Migration

+

If you need to modify the storage Save Type you might want to +migrate the file data. To achieve it, you need to:

+
    +
  1. Go to Documents -> Configuration -> Storage and select the storage +you want to modify
  2. +
  3. Modify the save type
  4. +
  5. Press the button Migrate files if you want to migrate all the files +at once
  6. +
  7. Press the button Manual File Migration to specify files one by one
  8. +
+

You can check all the files that still need to be migrated from all +storages and migrate them manually on Documents -> Configuration -> +Migration

+
+
+

File Wizard Selection

+

There is an action called action_dms_file_wizard_selector to open a +wizard to list files in kanban view. This can be used (example +dms_attachment_link module) to add a button in kanban view with the +action we need.

+
+
+

Usage

+

The best way to manage the documents is to switch to the Documents view. +Existing documents can be managed there and new documents can be +created.

+
+

Portal functionality

+

You can add any portal user to DMS access groups, and then allow that +group in directories, so they will see in the portal such directories +and their files. Another possibility is to click on “Share” button +inside a directory or a file for obtaining a tokenized link for single +access to that resource, no matter if logged or not.

+
+
+
+

Known issues / Roadmap

+
    +
  • Files preview in portal
  • +
  • Allow to download folder in portal and create zip file with all +content
  • +
  • Save in cache own_root directories and update in every +create/write/unlink function
  • +
  • Add a migration procedure for converting an storage to attachment one +for populating existing records with attachments as folders
  • +
  • Add a link from attachment view in chatter to linked documents
  • +
  • If Inherit permissions from related record (the +inherit_access_from_parent_record field from storage) is changed when +directories already exist, inconsistencies may occur because groups +defined in the directories and subdirectories will still exist, all +groups in these directories should be removed before changing.
  • +
  • Since portal users can read dms.storage records, if your module +extends this model to another storage backend that needs using +secrets, remember to forbid access to the secrets fields by other +means. It would be nice to be able to remove that rule at some point.
  • +
  • Searchpanel in files: Highlight items (shading) without records when +filtering something (by name for example).
  • +
  • Accessing the clipboard (for example copy share link of +file/directory) is limited to secure connections. It also happens in +any part of Odoo.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • MuK IT
  • +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

Some pictures are based on or inspired by:

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/dms project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/dms/static/description/portal_icon.svg b/dms/static/description/portal_icon.svg new file mode 100644 index 000000000..6808515b0 --- /dev/null +++ b/dms/static/description/portal_icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/dms/static/icons/file_ai.svg b/dms/static/icons/file_ai.svg new file mode 100644 index 000000000..6001633d2 --- /dev/null +++ b/dms/static/icons/file_ai.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_aj.svg b/dms/static/icons/file_aj.svg new file mode 100644 index 000000000..15960f591 --- /dev/null +++ b/dms/static/icons/file_aj.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_avi.svg b/dms/static/icons/file_avi.svg new file mode 100644 index 000000000..117a2e45c --- /dev/null +++ b/dms/static/icons/file_avi.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_c.svg b/dms/static/icons/file_c.svg new file mode 100644 index 000000000..9ace81b58 --- /dev/null +++ b/dms/static/icons/file_c.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_cbl.svg b/dms/static/icons/file_cbl.svg new file mode 100644 index 000000000..f6344b98f --- /dev/null +++ b/dms/static/icons/file_cbl.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_cc.svg b/dms/static/icons/file_cc.svg new file mode 100644 index 000000000..8e5f1d8c9 --- /dev/null +++ b/dms/static/icons/file_cc.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_coffee.svg b/dms/static/icons/file_coffee.svg new file mode 100644 index 000000000..ea45eb8bd --- /dev/null +++ b/dms/static/icons/file_coffee.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_cs.svg b/dms/static/icons/file_cs.svg new file mode 100644 index 000000000..2faa65411 --- /dev/null +++ b/dms/static/icons/file_cs.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_css.svg b/dms/static/icons/file_css.svg new file mode 100644 index 000000000..5ebb3825e --- /dev/null +++ b/dms/static/icons/file_css.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_csv.svg b/dms/static/icons/file_csv.svg new file mode 100644 index 000000000..bb37b9b11 --- /dev/null +++ b/dms/static/icons/file_csv.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_dbf.svg b/dms/static/icons/file_dbf.svg new file mode 100644 index 000000000..9553c913e --- /dev/null +++ b/dms/static/icons/file_dbf.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_dll.svg b/dms/static/icons/file_dll.svg new file mode 100644 index 000000000..e0c99af01 --- /dev/null +++ b/dms/static/icons/file_dll.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_doc.svg b/dms/static/icons/file_doc.svg new file mode 100644 index 000000000..833d1c721 --- /dev/null +++ b/dms/static/icons/file_doc.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_docx.svg b/dms/static/icons/file_docx.svg new file mode 100644 index 000000000..b1160efcd --- /dev/null +++ b/dms/static/icons/file_docx.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_dwg.svg b/dms/static/icons/file_dwg.svg new file mode 100644 index 000000000..f3008372f --- /dev/null +++ b/dms/static/icons/file_dwg.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_eml.svg b/dms/static/icons/file_eml.svg new file mode 100644 index 000000000..065ff7e13 --- /dev/null +++ b/dms/static/icons/file_eml.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_eps.svg b/dms/static/icons/file_eps.svg new file mode 100644 index 000000000..b767a36d3 --- /dev/null +++ b/dms/static/icons/file_eps.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_exe.svg b/dms/static/icons/file_exe.svg new file mode 100644 index 000000000..e79009c32 --- /dev/null +++ b/dms/static/icons/file_exe.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_f.svg b/dms/static/icons/file_f.svg new file mode 100644 index 000000000..e742e363e --- /dev/null +++ b/dms/static/icons/file_f.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_fla.svg b/dms/static/icons/file_fla.svg new file mode 100644 index 000000000..02bb98fb4 --- /dev/null +++ b/dms/static/icons/file_fla.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_gif.svg b/dms/static/icons/file_gif.svg new file mode 100644 index 000000000..71c64f5cc --- /dev/null +++ b/dms/static/icons/file_gif.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_go.svg b/dms/static/icons/file_go.svg new file mode 100644 index 000000000..efa4ad898 --- /dev/null +++ b/dms/static/icons/file_go.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_groovy.svg b/dms/static/icons/file_groovy.svg new file mode 100644 index 000000000..10ee7c136 --- /dev/null +++ b/dms/static/icons/file_groovy.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_html.svg b/dms/static/icons/file_html.svg new file mode 100644 index 000000000..7b57d5325 --- /dev/null +++ b/dms/static/icons/file_html.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_iso.svg b/dms/static/icons/file_iso.svg new file mode 100644 index 000000000..9a3abba40 --- /dev/null +++ b/dms/static/icons/file_iso.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_java.svg b/dms/static/icons/file_java.svg new file mode 100644 index 000000000..ce4d9d644 --- /dev/null +++ b/dms/static/icons/file_java.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_jpg.svg b/dms/static/icons/file_jpg.svg new file mode 100644 index 000000000..96732375c --- /dev/null +++ b/dms/static/icons/file_jpg.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_js.svg b/dms/static/icons/file_js.svg new file mode 100644 index 000000000..c510c1858 --- /dev/null +++ b/dms/static/icons/file_js.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_json.svg b/dms/static/icons/file_json.svg new file mode 100644 index 000000000..7e97918f0 --- /dev/null +++ b/dms/static/icons/file_json.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_less.svg b/dms/static/icons/file_less.svg new file mode 100644 index 000000000..1f44ccc55 --- /dev/null +++ b/dms/static/icons/file_less.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_md.svg b/dms/static/icons/file_md.svg new file mode 100644 index 000000000..145c81bbd --- /dev/null +++ b/dms/static/icons/file_md.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_mov.svg b/dms/static/icons/file_mov.svg new file mode 100644 index 000000000..3cc578172 --- /dev/null +++ b/dms/static/icons/file_mov.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_mp3.svg b/dms/static/icons/file_mp3.svg new file mode 100644 index 000000000..a28f5e575 --- /dev/null +++ b/dms/static/icons/file_mp3.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_mp4.svg b/dms/static/icons/file_mp4.svg new file mode 100644 index 000000000..67f6fab69 --- /dev/null +++ b/dms/static/icons/file_mp4.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_odp.svg b/dms/static/icons/file_odp.svg new file mode 100644 index 000000000..0238d643d --- /dev/null +++ b/dms/static/icons/file_odp.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_ods.svg b/dms/static/icons/file_ods.svg new file mode 100644 index 000000000..ac3c19c7d --- /dev/null +++ b/dms/static/icons/file_ods.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_odt.svg b/dms/static/icons/file_odt.svg new file mode 100644 index 000000000..0340ca2f2 --- /dev/null +++ b/dms/static/icons/file_odt.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_pdf.svg b/dms/static/icons/file_pdf.svg new file mode 100644 index 000000000..f4063eb21 --- /dev/null +++ b/dms/static/icons/file_pdf.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_php.svg b/dms/static/icons/file_php.svg new file mode 100644 index 000000000..0402747b2 --- /dev/null +++ b/dms/static/icons/file_php.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_ppt.svg b/dms/static/icons/file_ppt.svg new file mode 100644 index 000000000..b3a1ea7c7 --- /dev/null +++ b/dms/static/icons/file_ppt.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_pptx.svg b/dms/static/icons/file_pptx.svg new file mode 100644 index 000000000..0d5c5b85c --- /dev/null +++ b/dms/static/icons/file_pptx.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_psd.svg b/dms/static/icons/file_psd.svg new file mode 100644 index 000000000..818ef7ecb --- /dev/null +++ b/dms/static/icons/file_psd.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_py.svg b/dms/static/icons/file_py.svg new file mode 100644 index 000000000..068dcbca5 --- /dev/null +++ b/dms/static/icons/file_py.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_rar.svg b/dms/static/icons/file_rar.svg new file mode 100644 index 000000000..7cd14c57a --- /dev/null +++ b/dms/static/icons/file_rar.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_raw.svg b/dms/static/icons/file_raw.svg new file mode 100644 index 000000000..20347f4bd --- /dev/null +++ b/dms/static/icons/file_raw.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_rtf.svg b/dms/static/icons/file_rtf.svg new file mode 100644 index 000000000..a7de37b26 --- /dev/null +++ b/dms/static/icons/file_rtf.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_sass.svg b/dms/static/icons/file_sass.svg new file mode 100644 index 000000000..d84424676 --- /dev/null +++ b/dms/static/icons/file_sass.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_sc.svg b/dms/static/icons/file_sc.svg new file mode 100644 index 000000000..c067be487 --- /dev/null +++ b/dms/static/icons/file_sc.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_sh.svg b/dms/static/icons/file_sh.svg new file mode 100644 index 000000000..e0c4f3e24 --- /dev/null +++ b/dms/static/icons/file_sh.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_svg.svg b/dms/static/icons/file_svg.svg new file mode 100644 index 000000000..dfad09a0a --- /dev/null +++ b/dms/static/icons/file_svg.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_tar.svg b/dms/static/icons/file_tar.svg new file mode 100644 index 000000000..5bbacc09f --- /dev/null +++ b/dms/static/icons/file_tar.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_ttf.svg b/dms/static/icons/file_ttf.svg new file mode 100644 index 000000000..06809a5c2 --- /dev/null +++ b/dms/static/icons/file_ttf.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_txt.svg b/dms/static/icons/file_txt.svg new file mode 100644 index 000000000..a4160ec92 --- /dev/null +++ b/dms/static/icons/file_txt.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_unknown.svg b/dms/static/icons/file_unknown.svg new file mode 100644 index 000000000..a48144a6d --- /dev/null +++ b/dms/static/icons/file_unknown.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_wav.svg b/dms/static/icons/file_wav.svg new file mode 100644 index 000000000..e36f05b6a --- /dev/null +++ b/dms/static/icons/file_wav.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_xls.svg b/dms/static/icons/file_xls.svg new file mode 100644 index 000000000..ad9f2dd05 --- /dev/null +++ b/dms/static/icons/file_xls.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_xlsx.svg b/dms/static/icons/file_xlsx.svg new file mode 100644 index 000000000..abfb50bf7 --- /dev/null +++ b/dms/static/icons/file_xlsx.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_xml.svg b/dms/static/icons/file_xml.svg new file mode 100644 index 000000000..19e77d2f7 --- /dev/null +++ b/dms/static/icons/file_xml.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/file_zip.svg b/dms/static/icons/file_zip.svg new file mode 100644 index 000000000..73ed3273c --- /dev/null +++ b/dms/static/icons/file_zip.svg @@ -0,0 +1 @@ + diff --git a/dms/static/icons/folder.svg b/dms/static/icons/folder.svg new file mode 100644 index 000000000..90547b0ad --- /dev/null +++ b/dms/static/icons/folder.svg @@ -0,0 +1 @@ + diff --git a/dms/static/lib/img/banner/documents_onboarding_directory.png b/dms/static/lib/img/banner/documents_onboarding_directory.png new file mode 100644 index 000000000..d79387705 Binary files /dev/null and b/dms/static/lib/img/banner/documents_onboarding_directory.png differ diff --git a/dms/static/lib/img/banner/documents_onboarding_file.png b/dms/static/lib/img/banner/documents_onboarding_file.png new file mode 100644 index 000000000..ac830fa6b Binary files /dev/null and b/dms/static/lib/img/banner/documents_onboarding_file.png differ diff --git a/dms/static/src/js/fields/path_json/path_owl.esm.js b/dms/static/src/js/fields/path_json/path_owl.esm.js new file mode 100644 index 000000000..199ae9802 --- /dev/null +++ b/dms/static/src/js/fields/path_json/path_owl.esm.js @@ -0,0 +1,53 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {Component, onWillUpdateProps} from "@odoo/owl"; +import {registry} from "@web/core/registry"; +import {_t} from "@web/core/l10n/translation"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; +import {useService} from "@web/core/utils/hooks"; + +class DmsPathField extends Component { + setup() { + super.setup(); + this.action = useService("action"); + this.formatData(this.props); + onWillUpdateProps((nextProps) => this.formatData(nextProps)); + } + + formatData(props) { + const path_json = props.record.data && props.record.data.path_json; + this.data = JSON.parse(path_json || "[]"); + } + + _onNodeClicked(event) { + event.preventDefault(); + this.action.doAction({ + type: "ir.actions.act_window", + res_model: $(event.currentTarget).data("model"), + res_id: $(event.currentTarget).data("id"), + views: [[false, "form"]], + target: "current", + context: {}, + }); + } +} + +DmsPathField.template = "dms.DmsPathField"; +DmsPathField.props = { + ...standardFieldProps, +}; + +const dmsPathField = { + component: DmsPathField, + displayName: _t("Dms Path Field"), + supportedTypes: ["text"], + extractProps: () => { + return {}; + }, +}; + +registry.category("fields").add("path_json", dmsPathField); diff --git a/dms/static/src/js/fields/path_json/path_owl.xml b/dms/static/src/js/fields/path_json/path_owl.xml new file mode 100644 index 000000000..b2a8e7c70 --- /dev/null +++ b/dms/static/src/js/fields/path_json/path_owl.xml @@ -0,0 +1,30 @@ + + + + + + + + / + + + + + + / + + + + + + + diff --git a/dms/static/src/js/fields/preview_binary/preview_record.esm.js b/dms/static/src/js/fields/preview_binary/preview_record.esm.js new file mode 100644 index 000000000..a476c1857 --- /dev/null +++ b/dms/static/src/js/fields/preview_binary/preview_record.esm.js @@ -0,0 +1,47 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {BinaryField} from "@web/views/fields/binary/binary_field"; +import {registry} from "@web/core/registry"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; +import {useFileViewer} from "@web/core/file_viewer/file_viewer_hook"; +import {useService} from "@web/core/utils/hooks"; +import {_t} from "@web/core/l10n/translation"; + +export class PreviewRecordField extends BinaryField { + setup() { + super.setup(); + this.store = useService("mail.store"); + this.fileViewer = useFileViewer(); + } + + onFilePreview() { + const self = this; + const attachment = this.store.Attachment.insert({ + id: self.props.record.resId, + filename: self.props.record.data.display_name || "", + name: self.props.record.data.display_name || "", + mimetype: self.props.record.data.mimetype, + model_name: self.props.record.resModel, + }); + this.fileViewer.open(attachment); + } +} + +PreviewRecordField.template = "dms.FilePreviewField"; +PreviewRecordField.props = { + ...standardFieldProps, +}; + +const previewRecordField = { + component: PreviewRecordField, + displayName: _t("Preview Record"), + supportedTypes: ["binary"], + extractProps: () => { + return {}; + }, +}; +registry.category("fields").add("preview_binary", previewRecordField); diff --git a/dms/static/src/js/fields/preview_binary/preview_record.xml b/dms/static/src/js/fields/preview_binary/preview_record.xml new file mode 100644 index 000000000..796e74707 --- /dev/null +++ b/dms/static/src/js/fields/preview_binary/preview_record.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + diff --git a/dms/static/src/js/views/file_kanban_record.esm.js b/dms/static/src/js/views/file_kanban_record.esm.js new file mode 100644 index 000000000..d05161bdf --- /dev/null +++ b/dms/static/src/js/views/file_kanban_record.esm.js @@ -0,0 +1,61 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {KanbanRecord} from "@web/views/kanban/kanban_record"; +import {useFileViewer} from "@web/core/file_viewer/file_viewer_hook"; +import {useService} from "@web/core/utils/hooks"; + +const videoReadableTypes = ["x-matroska", "mp4", "webm"]; +const audioReadableTypes = ["mp3", "ogg", "wav", "aac", "mpa", "flac", "m4a"]; + +export class FileKanbanRecord extends KanbanRecord { + setup() { + super.setup(); + this.store = useService("mail.store"); + this.fileViewer = useFileViewer(); + } + + isVideo(mimetype) { + return videoReadableTypes.includes(mimetype); + } + + isAudio(mimetype) { + return audioReadableTypes.includes(mimetype); + } + + /** + * @override + * + * Override to open the preview upon clicking the image, if compatible. + */ + onGlobalClick(ev) { + const self = this; + + if (ev.target.closest(".o_kanban_dms_file_preview")) { + const file_type = self.props.record.data.name.split(".")[1]; + let mimetype = ""; + + if (self.isVideo(file_type)) { + mimetype = `video/${file_type}`; + } else if (self.isAudio(file_type)) { + mimetype = "audio/mpeg"; + } else { + mimetype = self.props.record.data.mimetype; + } + + const attachment = this.store.Attachment.insert({ + id: self.props.record.data.id, + filename: self.props.record.data.name, + name: self.props.record.data.name, + mimetype: mimetype, + model_name: self.props.record.resModel, + }); + this.fileViewer.open(attachment); + return; + } + return super.onGlobalClick(ev); + } +} diff --git a/dms/static/src/js/views/file_kanban_renderer.esm.js b/dms/static/src/js/views/file_kanban_renderer.esm.js new file mode 100644 index 000000000..a57fab0d4 --- /dev/null +++ b/dms/static/src/js/views/file_kanban_renderer.esm.js @@ -0,0 +1,19 @@ +/** @odoo-module */ + +// /** ******************************************************************************** +// Copyright 2020 Creu Blanca +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {FileKanbanRecord} from "./file_kanban_record.esm"; +import {KanbanRenderer} from "@web/views/kanban/kanban_renderer"; + +export class FileKanbanRenderer extends KanbanRenderer { + setup() { + super.setup(); + } +} + +FileKanbanRenderer.components = { + ...KanbanRenderer.components, + KanbanRecord: FileKanbanRecord, +}; diff --git a/dms/static/src/js/views/file_kanban_renderer.xml b/dms/static/src/js/views/file_kanban_renderer.xml new file mode 100644 index 000000000..a1bb3c4fa --- /dev/null +++ b/dms/static/src/js/views/file_kanban_renderer.xml @@ -0,0 +1,52 @@ + + + + + +
+ +
+
+
+ + + + + + + + + + +
diff --git a/dms/static/src/js/views/file_kanban_view.esm.js b/dms/static/src/js/views/file_kanban_view.esm.js new file mode 100644 index 000000000..4dc16488c --- /dev/null +++ b/dms/static/src/js/views/file_kanban_view.esm.js @@ -0,0 +1,30 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2020 Creu Blanca +// Copyright 2017-2019 MuK IT GmbH +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ + +import { + createFileDropZoneExtension, + createFileUploadExtension, +} from "./dms_file_upload.esm"; +import {FileKanbanRenderer} from "./file_kanban_renderer.esm"; +import {KanbanController} from "@web/views/kanban/kanban_controller"; +import {kanbanView} from "@web/views/kanban/kanban_view"; +import {patch} from "@web/core/utils/patch"; +import {registry} from "@web/core/registry"; + +patch(FileKanbanRenderer.prototype, createFileDropZoneExtension()); +patch(KanbanController.prototype, createFileUploadExtension()); +FileKanbanRenderer.template = "dms.KanbanRenderer"; + +export const FileKanbanView = { + ...kanbanView, + buttonTemplate: "dms.KanbanButtons", + Renderer: FileKanbanRenderer, +}; + +registry.category("views").add("file_kanban", FileKanbanView); diff --git a/dms/static/src/js/views/file_list_controller.esm.js b/dms/static/src/js/views/file_list_controller.esm.js new file mode 100644 index 000000000..4decba841 --- /dev/null +++ b/dms/static/src/js/views/file_list_controller.esm.js @@ -0,0 +1,15 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2020 Creu Blanca +// Copyright 2017-2019 MuK IT GmbH +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ + +import {ListController} from "@web/views/list/list_controller"; + +export class FileListController extends ListController { + setup() { + super.setup(...arguments); + } +} diff --git a/dms/static/src/js/views/file_list_renderer.esm.js b/dms/static/src/js/views/file_list_renderer.esm.js new file mode 100644 index 000000000..0d9962310 --- /dev/null +++ b/dms/static/src/js/views/file_list_renderer.esm.js @@ -0,0 +1,18 @@ +/** @odoo-module */ + +// /** ******************************************************************************** +// Copyright 2020 Creu Blanca +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ + +import {ListRenderer} from "@web/views/list/list_renderer"; + +export class FileListRenderer extends ListRenderer { + setup() { + super.setup(); + } +} + +FileListRenderer.components = { + ...FileListRenderer.components, +}; diff --git a/dms/static/src/js/views/file_list_renderer.xml b/dms/static/src/js/views/file_list_renderer.xml new file mode 100644 index 000000000..0b1b83418 --- /dev/null +++ b/dms/static/src/js/views/file_list_renderer.xml @@ -0,0 +1,48 @@ + + + + +
+ +
+
+
+ + + + + + + + + + + + + + +
diff --git a/dms/static/src/js/views/file_list_view.esm.js b/dms/static/src/js/views/file_list_view.esm.js new file mode 100644 index 000000000..0281dc0c8 --- /dev/null +++ b/dms/static/src/js/views/file_list_view.esm.js @@ -0,0 +1,30 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2020 Creu Blanca +// Copyright 2017-2019 MuK IT GmbH +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ + +import { + createFileDropZoneExtension, + createFileUploadExtension, +} from "./dms_file_upload.esm"; +import {FileListRenderer} from "./file_list_renderer.esm"; +import {ListController} from "@web/views/list/list_controller"; +import {listView} from "@web/views/list/list_view"; +import {patch} from "@web/core/utils/patch"; +import {registry} from "@web/core/registry"; + +patch(FileListRenderer.prototype, createFileDropZoneExtension()); +patch(ListController.prototype, createFileUploadExtension()); +FileListRenderer.template = "dms.ListRenderer"; + +export const FileListView = { + ...listView, + buttonTemplate: "dms.ListButtons", + Renderer: FileListRenderer, +}; + +registry.category("views").add("file_list", FileListView); diff --git a/dms/static/src/js/views/search_panel.esm.js b/dms/static/src/js/views/search_panel.esm.js new file mode 100644 index 000000000..67ef10604 --- /dev/null +++ b/dms/static/src/js/views/search_panel.esm.js @@ -0,0 +1,25 @@ +/** @odoo-module **/ +/* Copyright 2021-2024 Tecnativa - Víctor Martínez + * Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). + * License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */ + +import {SearchModel} from "@web/search/search_model"; + +export class DMSSearchPanel extends SearchModel { + _getCategoryDomain(excludedCategoryId) { + const domain = super._getCategoryDomain(...arguments); + for (const category of this.categories) { + if (category.id === Number(excludedCategoryId)) { + continue; + } + + if (category.activeValueId) { + domain.push([category.fieldName, "=", category.activeValueId]); + } + if (domain.length === 0 && this.resModel === "dms.directory") { + domain.push([category.fieldName, "=", false]); + } + } + return domain; + } +} diff --git a/dms/static/src/models/attachment.esm.js b/dms/static/src/models/attachment.esm.js new file mode 100644 index 000000000..74d8e94c9 --- /dev/null +++ b/dms/static/src/models/attachment.esm.js @@ -0,0 +1,89 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {Attachment} from "@mail/core/common/attachment_model"; +import {patch} from "@web/core/utils/patch"; + +patch(Attachment.prototype, { + _handleImage() { + if (this.model_name && this.model_name === "dms.file") { + return `/web/content?id=${this.id}&field=content&model=dms.file&filename_field=name&download=false`; + } + return `/web/image/${this.id}?signature=${this.checksum}`; + }, + _handlePdf() { + if (this.model_name && this.model_name === "dms.file") { + return ( + "/web/content?id=" + + this.id + + "&field=content&model=dms.file" + + "&filename_field=name" + ); + } + const pdf_lib = `/web/static/lib/pdfjs/web/viewer.html?file=`; + if ( + !this.accessToken && + this.originThread && + this.originThread.model === "mail.channel" + ) { + return `${pdf_lib}/mail/channel/${this.originThread.id}/attachment/${this.id}#pagemode=none`; + } + const accessToken = this.accessToken + ? `?access_token%3D${this.accessToken}` + : ""; + return `${pdf_lib}/web/content/${this.id}${accessToken}#pagemode=none`; + }, + _handleYoutube() { + const urlArr = this.url.split("/"); + let token = urlArr[urlArr.length - 1]; + if (token.includes("watch")) { + token = token.split("v=")[1]; + const amp = token.indexOf("&"); + if (amp !== -1) { + token = token.substring(0, amp); + } + } + return `https://www.youtube.com/embed/${token}`; + }, + get defaultSource() { + if (this.isImage) { + return this._handleImage(); + } + if (this.isPdf) { + return this._handlePdf(); + } + if (this.isUrlYoutube) { + return this._handleYoutube(); + } + if ( + !this.accessToken && + this.originThread && + this.originThread.model === "mail.channel" + ) { + return `/mail/channel/${this.originThread.id}/attachment/${this.id}`; + } + const accessToken = this.accessToken ? `?access_token=${this.accessToken}` : ""; + + if (this.model_name && this.model_name === "dms.file") { + return `/web/content?id=${this.id}&field=content&model=dms.file&filename_field=name`; + } + return `/web/content/${this.id}${accessToken}`; + }, + get downloadUrl() { + if ( + !this.accessToken && + this.originThread && + this.originThread.model === "mail.channel" + ) { + return `/mail/channel/${this.originThread.id}/attachment/${this.id}?download=true`; + } + if (this.model_name && this.model_name === "dms.file") { + return `/web/content?id=${this.id}&field=content&model=dms.file&filename_field=name&download=true`; + } + const accessToken = this.accessToken ? `access_token=${this.accessToken}&` : ""; + return `/web/content/ir.attachment/${this.id}/datas?${accessToken}download=true`; + }, +}); diff --git a/dms/static/src/models/attachment_image.esm.js b/dms/static/src/models/attachment_image.esm.js new file mode 100644 index 000000000..6ea78f49d --- /dev/null +++ b/dms/static/src/models/attachment_image.esm.js @@ -0,0 +1,35 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {LinkPreview} from "@mail/core/common/link_preview"; +import {patch} from "@web/core/utils/patch"; + +patch(LinkPreview, { + get imageUrl() { + return function compute() { + if (!this.attachment) { + return; + } + if ( + !this.attachment.accessToken && + this.attachment.originThread && + this.attachment.originThread.model === "mail.channel" + ) { + return `/mail/channel/${this.attachment.originThread.id}/image/${this.attachment.id}/${this.width}x${this.height}`; + } + const accessToken = this.attachment.accessToken + ? `?access_token=${this.attachment.accessToken}` + : ""; + if ( + this.attachment.model_name && + this.attachment.model_name === "dms.file" + ) { + return `/web/content?id=${this.attachment.id}&field=content&model=dms.file&filename_field=name&download=false`; + } + return `/web/image/${this.attachment.id}/${this.width}x${this.height}${accessToken}`; + }; + }, +}); diff --git a/dms/static/src/models/attachment_viewer_viewable.esm.js b/dms/static/src/models/attachment_viewer_viewable.esm.js new file mode 100644 index 000000000..f344f87c2 --- /dev/null +++ b/dms/static/src/models/attachment_viewer_viewable.esm.js @@ -0,0 +1,32 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {LinkPreview} from "@mail/core/common/link_preview"; +import {patch} from "@web/core/utils/patch"; + +patch(LinkPreview, { + get imageUrl() { + return function compute() { + if ( + !this.attachmentOwner.accessToken && + this.attachmentOwner.originThread && + this.attachmentOwner.originThread.model === "mail.channel" + ) { + return `/mail/channel/${this.attachmentOwner.originThread.id}/image/${this.attachmentOwner.id}`; + } + const accessToken = this.attachmentOwner.accessToken + ? `?access_token=${this.attachmentOwner.accessToken}` + : ""; + if ( + this.attachmentOwner.model_name && + this.attachmentOwner.model_name === "dms.file" + ) { + return `/web/content?id=${this.attachmentOwner.id}&field=content&model=dms.file&filename_field=name&download=false`; + } + return `/web/image/${this.attachmentOwner.id}${accessToken}`; + }; + }, +}); diff --git a/dms/static/src/scss/directory_kanban.scss b/dms/static/src/scss/directory_kanban.scss new file mode 100644 index 000000000..d8204bd9a --- /dev/null +++ b/dms/static/src/scss/directory_kanban.scss @@ -0,0 +1,53 @@ +/********************************************************************************** +* +* Copyright 2017-2019 MuK IT GmbH +* Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +* +**********************************************************************************/ + +$o-kanban-image-width: 80px; + +.mk_directory_kanban_view { + span.total_items { + margin-left: 3px; + margin-top: 3px; + } + + height: 100%; + + .o_kanban_wrapper { + max-height: $o-kanban-image-width + 1; + padding: 0 !important; + + .o_dms_directory_btn { + border-style: solid solid none none; + border-color: $gray-400; + border-width: 1px; + width: 30px; + display: flex; + justify-content: center; + align-items: center; + height: 100%; + border-radius: 0; + } + + .o_kanban_details { + .o_kanban_record_body .o_kanban_tags { + @include o-text-overflow; + } + + .oe_kanban_avatar { + margin-left: 0px; + max-width: 20px; + } + + .favorite_sign_button { + margin-top: 1px; + font-size: 1.5rem; + line-height: 20px; + margin-right: 6px; + } + } + } +} diff --git a/dms/static/src/scss/dms_common.scss b/dms/static/src/scss/dms_common.scss new file mode 100644 index 000000000..26bad8759 --- /dev/null +++ b/dms/static/src/scss/dms_common.scss @@ -0,0 +1,69 @@ +/********************************************************************************** +* +* Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +* +**********************************************************************************/ + +.mk_directory_kanban_view, +.mk_file_kanban_view { + .o_kanban_renderer { + .o_kanban_details { + position: relative; + height: 100%; + } + img:not(.oe_kanban_avatar) { + height: 79px; + } + + .o_kanban_record_bottom { + position: absolute; + bottom: var(--KanbanRecord-gap-v); + left: var(--KanbanRecord-gap-v); + right: var(--KanbanRecord-gap-v); + + .oe_kanban_bottom { + &_left, + &_right { + position: absolute; + bottom: 0; + } + + &_left { + left: 0; + } + + &_right { + right: 0; + } + } + } + } + + .o_dropdown_kanban { + .dropdown-menu { + min-width: 22rem; + + .mk_file_kanban_operations { + padding-right: 8px; + } + + .mk_file_kanban_actions { + padding-left: 8px; + } + + .fa { + min-width: 12px; + padding-right: 2px; + text-align: center; + } + + .oe_kanban_colorpicker { + max-width: none; + margin: 5px 5px; + padding: 10px 0 0 25px; + border-top: 1px solid $gray-400; + } + } + } +} diff --git a/dms/static/src/scss/file_kanban.scss b/dms/static/src/scss/file_kanban.scss new file mode 100644 index 000000000..ed2dff5a7 --- /dev/null +++ b/dms/static/src/scss/file_kanban.scss @@ -0,0 +1,70 @@ +/********************************************************************************** +* +* Copyright (c) 2017-2019 MuK IT GmbH. +* Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +* +**********************************************************************************/ + +$o-kanban-image-width: 80px; + +.mk_file_kanban_view { + height: 100%; + + .o_kanban_record { + padding: 0; + max-height: $o-kanban-image-width + 1; + + > div:nth-child(1) { + padding: 0 var(--KanbanRecord-gap-v) !important; + } + + .o_kanban_details { + height: 100%; + padding: var(--KanbanRecord-gap-v) var(--KanbanRecord-gap-v) + var(--KanbanRecord-gap-v) 0; + + .o_kanban_record_title { + font-weight: bold; + padding-right: 16px; + } + + .o_kanban_record_body { + max-height: 12px; + + .o_kanban_tags { + @include o-text-overflow; + } + } + + .oe_kanban_avatar { + margin-left: 0; + max-width: 20px; + } + + .o_dms_file_kanban_lock { + margin-top: 2px; + font-size: 1.2rem; + line-height: 20px; + margin-right: var(--KanbanRecord-gap-v); + } + } + } +} + +.o_dropzone { + width: 100%; + height: 100%; + position: absolute; + background-color: #aaaa; + z-index: 2; + left: 0; + top: 0; + + i { + justify-content: center; + display: flex; + align-items: center; + height: 100%; + } +} diff --git a/dms/static/src/scss/portal.scss b/dms/static/src/scss/portal.scss new file mode 100644 index 000000000..870da4be3 --- /dev/null +++ b/dms/static/src/scss/portal.scss @@ -0,0 +1,12 @@ +/********************************************************************************** +* +* Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +* +**********************************************************************************/ + +.o_portal_contact_img { + width: 2.3em; + height: 2.3em; + object-fit: cover; +} diff --git a/dms/static/tests/tours/dms_portal_tour.esm.js b/dms/static/tests/tours/dms_portal_tour.esm.js new file mode 100644 index 000000000..b19687331 --- /dev/null +++ b/dms/static/tests/tours/dms_portal_tour.esm.js @@ -0,0 +1,35 @@ +/** @odoo-module **/ + +// /** ******************************************************************************** +// Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// **********************************************************************************/ +import {registry} from "@web/core/registry"; + +registry.category("web_tour.tours").add("dms_portal_mail_tour", { + url: "/my/dms", + test: true, + steps: () => [ + { + trigger: ".tr_dms_directory_link:contains('Mails')", + run: "click", + }, + { + trigger: ".tr_dms_file_link:contains('Mail_01.eml')", + }, + ], +}); + +registry.category("web_tour.tours").add("dms_portal_partners_tour", { + url: "/my/dms", + test: true, + steps: () => [ + { + trigger: ".tr_dms_directory_link:contains('Mails')", + run: "click", + }, + { + trigger: ".tr_dms_file_link:contains('Mail_01.eml')", + }, + ], +}); diff --git a/dms/template/portal.xml b/dms/template/portal.xml new file mode 100644 index 000000000..a1e15b82a --- /dev/null +++ b/dms/template/portal.xml @@ -0,0 +1,140 @@ + + + + + + + diff --git a/dms/test/audio01.wav b/dms/test/audio01.wav new file mode 100644 index 000000000..2a479fc16 Binary files /dev/null and b/dms/test/audio01.wav differ diff --git a/dms/test/audio02.wav b/dms/test/audio02.wav new file mode 100644 index 000000000..179a8d3ab Binary files /dev/null and b/dms/test/audio02.wav differ diff --git a/dms/test/audio03.mp3 b/dms/test/audio03.mp3 new file mode 100644 index 000000000..397abc2e6 Binary files /dev/null and b/dms/test/audio03.mp3 differ diff --git a/dms/test/audio04.mp3 b/dms/test/audio04.mp3 new file mode 100644 index 000000000..4667276e7 Binary files /dev/null and b/dms/test/audio04.mp3 differ diff --git a/dms/test/code01.aj b/dms/test/code01.aj new file mode 100644 index 000000000..bcbd327c5 --- /dev/null +++ b/dms/test/code01.aj @@ -0,0 +1,10 @@ +// HelloWorld.java +public class HelloWorld { + public static void say(String message) { + System.out.println(message); + } + + public static void sayToPerson(String message, String name) { + System.out.println(name + ", " + message); + } +} diff --git a/dms/test/code02.sh b/dms/test/code02.sh new file mode 100644 index 000000000..35d52ff5f --- /dev/null +++ b/dms/test/code02.sh @@ -0,0 +1,9 @@ +#!/bin/bash +## +## +## Copyright 2017-2019 MuK IT GmbH +## License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +## +## +STR="Hello World!" +echo $STR diff --git a/dms/test/code03.c b/dms/test/code03.c new file mode 100644 index 000000000..36c03ec2c --- /dev/null +++ b/dms/test/code03.c @@ -0,0 +1,12 @@ +/* + * + * Copyright 2017-2019 MuK IT GmbH + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + * + */ +#include + +int main(void) +{ + printf("hello, world\n"); +} diff --git a/dms/test/code04.cc b/dms/test/code04.cc new file mode 100644 index 000000000..0b0306294 --- /dev/null +++ b/dms/test/code04.cc @@ -0,0 +1,13 @@ +/* + * + * Copyright 2017-2019 MuK IT GmbH + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + * + */ +#include + +int main() +{ + std::cout << "Hello, world!\n"; + return 0; +} diff --git a/dms/test/code05.cs b/dms/test/code05.cs new file mode 100644 index 000000000..8d94d8dee --- /dev/null +++ b/dms/test/code05.cs @@ -0,0 +1,13 @@ +// +// Copyright 2017-2019 MuK IT GmbH +// License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +// +using System; + +class Program +{ + static void Main(string[] args) + { + Console.WriteLine("Hello, world!"); + } +} diff --git a/dms/test/code06.cbl b/dms/test/code06.cbl new file mode 100644 index 000000000..b89e22a90 --- /dev/null +++ b/dms/test/code06.cbl @@ -0,0 +1,5 @@ +IDENTIFICATION DIVISION. +PROGRAM-ID. hello-world. +PROCEDURE DIVISION. + DISPLAY "Hello, world!" + . diff --git a/dms/test/code07.coffee b/dms/test/code07.coffee new file mode 100644 index 000000000..4b65a573c --- /dev/null +++ b/dms/test/code07.coffee @@ -0,0 +1 @@ +console.log "Hello, World!" diff --git a/dms/test/code08.f b/dms/test/code08.f new file mode 100644 index 000000000..bd3dfb11c --- /dev/null +++ b/dms/test/code08.f @@ -0,0 +1,3 @@ +program helloworld + print *, "Hello world!" +end program helloworld diff --git a/dms/test/code09.go b/dms/test/code09.go new file mode 100644 index 000000000..64e44c3e2 --- /dev/null +++ b/dms/test/code09.go @@ -0,0 +1,7 @@ +package main + +import "fmt" + +func main() { + fmt.Println("Hello, World") +} diff --git a/dms/test/code10.groovy b/dms/test/code10.groovy new file mode 100644 index 000000000..f821e94d4 --- /dev/null +++ b/dms/test/code10.groovy @@ -0,0 +1,7 @@ +/********************************************************************************** +* +* Copyright 2017-2019 MuK IT GmbH +* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +* +**********************************************************************************/ +println "Hello World" diff --git a/dms/test/code11.java b/dms/test/code11.java new file mode 100644 index 000000000..8678ee37a --- /dev/null +++ b/dms/test/code11.java @@ -0,0 +1,11 @@ +/********************************************************************************** +* +* Copyright 2017-2019 MuK IT GmbH +* License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +* +**********************************************************************************/ +class HelloWorldApp { + public static void main(String[] args) { + System.out.println("Hello World!"); // Prints the string to the console. + } +} diff --git a/dms/test/code12.sc b/dms/test/code12.sc new file mode 100644 index 000000000..133c2b068 --- /dev/null +++ b/dms/test/code12.sc @@ -0,0 +1,3 @@ +object HelloWorld extends App { + println("Hello, World!") + } diff --git a/dms/test/document01.pdf b/dms/test/document01.pdf new file mode 100644 index 000000000..99d31cef1 Binary files /dev/null and b/dms/test/document01.pdf differ diff --git a/dms/test/document02.doc b/dms/test/document02.doc new file mode 100644 index 000000000..9cb3f019e Binary files /dev/null and b/dms/test/document02.doc differ diff --git a/dms/test/document03.odt b/dms/test/document03.odt new file mode 100644 index 000000000..c963be926 Binary files /dev/null and b/dms/test/document03.odt differ diff --git a/dms/test/document04.rtf b/dms/test/document04.rtf new file mode 100644 index 000000000..2379b1956 --- /dev/null +++ b/dms/test/document04.rtf @@ -0,0 +1,23 @@ +{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} +{\f73\froman\fcharset238\fprq2 Times New Roman CE;}{\f74\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f76\froman\fcharset161\fprq2 Times New Roman Greek;}{\f77\froman\fcharset162\fprq2 Times New Roman Tur;} +{\f78\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f79\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f80\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f81\fswiss\fcharset238\fprq2 Arial CE;}{\f82\fswiss\fcharset204\fprq2 Arial Cyr;} +{\f84\fswiss\fcharset161\fprq2 Arial Greek;}{\f85\fswiss\fcharset162\fprq2 Arial Tur;}{\f86\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f87\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f88\fswiss\fcharset186\fprq2 Arial Baltic;}} +{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0; +\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red51\green102\blue255;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 +\fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \snext0 Normal;}{\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \b\f1\fs32\lang2057\langfe1033\kerning32\cgrid\langnp2057\langfenp1033 +\sbasedon0 \snext0 heading 1;}{\s3\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \b\f1\fs26\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 \sbasedon0 \snext0 heading 3;}{\*\cs10 \additive +Default Paragraph Font;}}{\info{\title The power of technology lies in the ability to match learning styles to the needs of individual learners}{\author Les Mason}{\operator Les Mason}{\creatim\yr2005\mo3\dy15\hr18\min11} +{\revtim\yr2005\mo3\dy15\hr18\min12}{\version1}{\edmins1}{\nofpages1}{\nofwords0}{\nofchars0}{\nofcharsws0}{\vern8203}}\paperw11906\paperh16838 \widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin +\dghspace180\dgvspace180\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1\jexpand\viewkind1\viewscale117\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule \fet0\sectd +\linex0\headery708\footery708\colsx708\endnhere\sectlinegrid360\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang +{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7 +\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain +\s1\ql \li0\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \b\f1\fs32\lang2057\langfe1033\kerning32\cgrid\langnp2057\langfenp1033 { +The power of technology lies in the ability to match learning styles to the needs of individual learners +\par }\pard\plain \ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 { +\par }\pard\plain \s3\ql \li720\ri0\sb240\sa60\keepn\widctlpar\aspalpha\aspnum\faauto\outlinelevel2\adjustright\rin0\lin720\itap0 \b\f1\fs26\lang2057\langfe1033\cgrid\langnp2057\langfenp1033 {\cf17 The more I study the more I l}{\cf17 earn. +\par The more I learn the more I know +\par The more I know the more I forget +\par The more I forget the less I know +\par So why study?}{ +\par }} diff --git a/dms/test/image01.jpg b/dms/test/image01.jpg new file mode 100644 index 000000000..586ceb89d Binary files /dev/null and b/dms/test/image01.jpg differ diff --git a/dms/test/image02.jpg b/dms/test/image02.jpg new file mode 100644 index 000000000..7467c6f61 Binary files /dev/null and b/dms/test/image02.jpg differ diff --git a/dms/test/image03.jpg b/dms/test/image03.jpg new file mode 100644 index 000000000..a35fc1ae8 Binary files /dev/null and b/dms/test/image03.jpg differ diff --git a/dms/test/image04.jpg b/dms/test/image04.jpg new file mode 100644 index 000000000..25a3abe27 Binary files /dev/null and b/dms/test/image04.jpg differ diff --git a/dms/test/mail01.eml b/dms/test/mail01.eml new file mode 100644 index 000000000..1a70357f3 --- /dev/null +++ b/dms/test/mail01.eml @@ -0,0 +1,170 @@ +Return-Path: +To: Manuel Lemos +Subject: Testing Manuel Lemos' MIME E-mail composing and sending PHP class: HTML message +From: mlemos +Reply-To: mlemos +Sender: mlemos@acm.org +X-Mailer: http://www.phpclasses.org/mimemessage $Revision: 1.63 $ (mail) +MIME-Version: 1.0 +Content-Type: multipart/mixed; boundary="652b8c4dcb00cdcdda1e16af36781caf" +Message-ID: <20050430192829.0489.mlemos@acm.org> +Date: Sat, 30 Apr 2005 19:28:29 -0300 + + +--652b8c4dcb00cdcdda1e16af36781caf +Content-Type: multipart/related; boundary="6a82fb459dcaacd40ab3404529e808dc" + + +--6a82fb459dcaacd40ab3404529e808dc +Content-Type: multipart/alternative; boundary="69c1683a3ee16ef7cf16edd700694a2f" + + +--69c1683a3ee16ef7cf16edd700694a2f +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: quoted-printable + +This is an HTML message. Please use an HTML capable mail program to read +this message. + +--69c1683a3ee16ef7cf16edd700694a2f +Content-Type: text/html; charset=ISO-8859-1 +Content-Transfer-Encoding: quoted-printable + + + +Testing Manuel Lemos' MIME E-mail composing and sending PHP class: H= +TML message + + + + + + + +
+

Testing Manuel Lemos' MIME E-mail composing and sending PHP cla= +ss: HTML message

+
+

Hello Manuel,

+This message is just to let you know that the MIME E-mail message composing and sending PHP class is working as expected.

+

Here is an image embedded in a message as a separate part:

= +
+
Than= +k you,
+mlemos

+
+ + +--69c1683a3ee16ef7cf16edd700694a2f-- + +--6a82fb459dcaacd40ab3404529e808dc +Content-Type: image/gif; name="logo.gif" +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename="logo.gif" +Content-ID: + +R0lGODlhlgAjAPMJAAAAAAAA/y8vLz8/P19fX19f339/f4+Pj4+Pz7+/v/////////////////// +/////yH5BAEAAAkALAAAAACWACMAQwT+MMlJq7046827/2AoHYChGAChAkBylgKgKClFyEl6xDMg +qLFBj3C5uXKplVAxIOxkA8BhdFCpDlMK1urMTrZWbAV8tVS5YsxtxmZHBVOSCcW9zaXyNhslVcto +RBp5NQYxLAYGLi8oSwoJBlE+BiSNj5E/PDQsmy4pAJWQLAKJY5+hXhZ2dDYldFWtNSFPiXssXnZR +k5+1pjpBiDMJUXG/Jo7DI4eKfMSmxsJ9GAUB1NXW19jZ2tvc3d7f4OHi2AgZN5vom1kk6F7s6u/p +m3Ab7AOIiCxOyZuBIv8AOeTJIaYQjiR/kKTr5GQNE3pYSjCJ9mUXClRUsLxaZGciC0X+OlpoOuQo +ZKdNJnIoKfnxRUQh6FLG0iLxIoYnJd0JEKISJyAQDodp3EUDC48oDnUY7HFI3wEDRjzycQJVZCQT +Ol7NK+G0qgtkAcOKHUu2rNmzYTVqRMt2bB49bHompSchqg6HcGeANSMxr8sEa2y2HexnSEUTuWri +SSbkYh7BgGVAnhB1b2REibESYaRoBgqIMYx59tFM9AvQffVG49P5NMZkMlHKhJPJb0knmSKZ6kSX +JtbeF3Am7ocok6c7cM7pU5xcXiJJETUz16qPrzEfaFgZpvzn7h86YV5r/1mxXeAUMVyEIpnVUGpN +RlG2ka9b3lP3pm2l6u7P+l/YLj3+RlEHbz1C0kRxSITQaAcilVBMEzmkkEQO8oSOBNg9SN+AX6hV +z1pjgJiAhwCRsY8ZIp6xj1ruqCgeGeKNGEZwLnIwzTg45qjjjjz2GEA5hAUp5JBEFmnkkSCoWEcZ +X8yohZNK1pFGPQS4hx0qNSLJlk9wCQORYu5QiMd7bUzGVyNlRiOHSlpuKdGEItHQ3HZ18beRRyws +YSY/waDTiHf/tWlWUBAJiMJ1/Z0XXU7N0FnREpKM4NChCgbyRDq9XYpOplaKopN9NMkDnBbG+UMC +QwLWIeaiglES6AjGARcPHCWoVAiatcTnGTABZoLPaPG1phccPv366mEvWEFSLnj+2QaonECwcJt/ +e1Zw3lJvVMmftBdVNQS3UngLCA85YHIQOy6JO9N4eZW7KJwtOUZmGwOMWqejwVW6RQzaikRHX3yI +osKhDAq8wmnKSmdMwNidSOof9ZG2DoV0RfTVmLFtGmNk+CoZna0HQnPHS3AhRbIeDpqmR09E0bsu +soeaw994z+rwQVInvqLenBftYjLOVphLFHhV9qsnez8AEUbQRgO737AxChjmyANxuEFHSGi7hFCV +4jxLst2N8sRJYU+SHiAKjlmCgz2IffbLI5aaQR71hnkxq1ZfHSfKata6YDCJDMAQwY7wOgzhjxgj +VFQnKB5uX4mr9qJ79pann+VcfcSzsSCd2mw5scqRRvlQ6TgcUelYhu75iPE4JejrsJOFQAG01277 +7bjnrvvuvPfu++/ABy887hfc6OPxyCevPDdAVoDA89BHL/301Fdv/fXYZ6/99tx3Pz0FEQAAOw== + +--6a82fb459dcaacd40ab3404529e808dc +Content-Type: image/gif; name="background.gif" +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename="background.gif" +Content-ID: <4c837ed463ad29c820668e835a270e8a.gif> + +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 +eZmYmZmauZmc2ZlCEQEAOw== + +--6a82fb459dcaacd40ab3404529e808dc-- + +--652b8c4dcb00cdcdda1e16af36781caf +Content-Type: text/plain; name="attachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment; filename="attachment.txt" + +VGhpcyBpcyBqdXN0IGEgcGxhaW4gdGV4dCBhdHRhY2htZW50IGZpbGUgbmFtZWQgYXR0YWNobWVu +dC50eHQgLg== + +--652b8c4dcb00cdcdda1e16af36781caf-- diff --git a/dms/test/mail02.eml b/dms/test/mail02.eml new file mode 100644 index 000000000..1427cfaea --- /dev/null +++ b/dms/test/mail02.eml @@ -0,0 +1,44 @@ +MIME-Version: 1.0 +Received: by 10.220.191.194 with HTTP; Wed, 11 May 2011 12:27:12 -0700 (PDT) +Date: Wed, 11 May 2011 13:27:12 -0600 +Delivered-To: jncjkq@gmail.com +Message-ID: +Subject: Test +From: Bill Jncjkq +To: bookmarks@jncjkq.net +Content-Type: multipart/mixed; boundary=bcaec54eecc63acce904a3050f79 + +--bcaec54eecc63acce904a3050f79 +Content-Type: multipart/alternative; boundary=bcaec54eecc63acce604a3050f77 + +--bcaec54eecc63acce604a3050f77 +Content-Type: text/plain; charset=ISO-8859-1 + +-- +Bill Jncjkq + +--bcaec54eecc63acce604a3050f77 +Content-Type: text/html; charset=ISO-8859-1 + +
--
Bill Jncjkq
+ +--bcaec54eecc63acce604a3050f77-- +--bcaec54eecc63acce904a3050f79 +Content-Type: text/html; charset=US-ASCII; name="bookmarks-really-short.html" +Content-Disposition: attachment; filename="bookmarks-really-short.html" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_gnknv6u70 + +PCFET0NUWVBFIE5FVFNDQVBFLUJvb2ttYXJrLWZpbGUtMT4KCTxIVE1MPgoJPE1FVEEgSFRUUC1F +UVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoJ +PFRpdGxlPkJvb2ttYXJrczwvVGl0bGU+Cgk8SDE+Qm9va21hcmtzPC9IMT4KCQk8RFQ+PEgzIEZP +TERFRD5UZWNoIE5ld3M8L0gzPgoJCTxETD48cD4KCQkJPERUPjxBIEhSRUY9Imh0dHA6Ly93d3cu +Y25ldC5jb20vIj5DTmV0PC9BPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL3d3dy53aXJlZC5jb20v +Ij5XaXJlZCBOZXdzPC9BPgoJCTwvREw+PHA+CgkJPERUPjxIMyBGT0xERUQ+VG9vbHMgYW5kIFJl +ZmVyZW5jZTwvSDM+CgkJPERMPjxwPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL3d3dy5tb25zdGVy +LmNvbS8iPk1vbnN0ZXIuY29tPC9BPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL3d3dy53ZWJtZC5j +b20vIj5XZWJNRDwvQT4KCQk8L0RMPjxwPgoJCTxEVD48SDMgRk9MREVEPlRyYXZlbDwvSDM+CgkJ +PERMPjxwPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL2ZvZG9ycy5jb20vIj5Gb2RvcnM8L0E+CgkJ +CTxEVD48QSBIUkVGPSJodHRwOi8vd3d3LnRyYXZlbG9jaXR5LmNvbS8iPlRyYXZlbG9jaXR5PC9B +PgoJCTwvREw+PHA+Cgk8L0RMPjxwPgo8L0hUTUw+ +--bcaec54eecc63acce904a3050f79-- diff --git a/dms/test/markdown.md b/dms/test/markdown.md new file mode 100644 index 000000000..721d2b1a4 --- /dev/null +++ b/dms/test/markdown.md @@ -0,0 +1,138 @@ +# An h1 header + +Paragraphs are separated by a blank line. + +2nd paragraph. _Italic_, **bold**, and `monospace`. Itemized lists look like: + +- this one +- that one +- the other one + +Note that --- not considering the asterisk --- the actual text content starts at +4-columns in. + +> Block quotes are written like so. +> +> They can span multiple paragraphs, if you like. + +Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all in chapters +12--14"). Three dots ... will be converted to an ellipsis. Unicode is supported. + +## An h2 header + +Here's a numbered list: + +1. first item +2. second item +3. third item + +Note again how the actual text starts at 4 columns in (4 characters from the left side). +Here's a code sample: + + # Let me re-iterate ... + for i in 1 .. 10 { do-something(i) } + +As you probably guessed, indented 4 spaces. By the way, instead of indenting the block, +you can use delimited blocks, if you like: + +``` +define foobar() { + print "Welcome to flavor country!"; +} +``` + +(which makes copying & pasting easier). You can optionally mark the delimited block for +Pandoc to syntax highlight it: + +```python +import time +# Quick, count to ten! +for i in range(10): + # (but not *too* quick) + time.sleep(0.5) + print i +``` + +### An h3 header + +Now a nested list: + +1. First, get these ingredients: + + - carrots + - celery + - lentils + +2. Boil some water. + +3. Dump everything in the pot and follow this algorithm: + + find wooden spoon + uncover pot + stir + cover pot + balance wooden spoon precariously on pot handle + wait 10 minutes + goto first step (or shut off burner when done) + + Do not bump wooden spoon or it will fall. + +Notice again how text always lines up on 4-space indents (including that last line which +continues item 3 above). + +Here's a link to [a website](http://foo.bar), to a [local doc](local-doc.html), and to a +[section heading in the current doc](#an-h2-header). Here's a footnote [^1]. + +[^1]: Footnote text goes here. + +Tables can look like this: + +size material color + +--- + +9 leather brown 10 hemp canvas natural 11 glass transparent + +Table: Shoes, their sizes, and what they're made of + +(The above is the caption for the table.) Pandoc also supports multi-line tables: + +--- + +keyword text + +--- + +red Sunsets, apples, and other red or reddish things. + +green Leaves, grass, frogs and other things it's not easy being. + +--- + +A horizontal rule follows. + +--- + +Here's a definition list: + +apples : Good for making applesauce. oranges : Citrus! tomatoes : There's no "e" in +tomatoe. + +Again, text is indented 4 spaces. (Put a blank line between each term/definition pair to +spread things out more.) + +Here's a "line block": + +| Line one | Line too | Line tree + +and images can be specified like so: + +![example image](example-image.jpg "An exemplary image") + +Inline math equations go in like so: $\omega = d\phi / dt$. Display math should get its +own line and be put in in double-dollarsigns: + +$$I = \int \rho R^{2} dV$$ + +And note that you can backslash-escape any punctuation characters which you wish to be +displayed literally, ex.: \`foo\`, \*bar\*, etc. diff --git a/dms/test/sheet01.xls b/dms/test/sheet01.xls new file mode 100644 index 000000000..795ff7c49 Binary files /dev/null and b/dms/test/sheet01.xls differ diff --git a/dms/test/sheet02.csv b/dms/test/sheet02.csv new file mode 100644 index 000000000..f9cf38669 --- /dev/null +++ b/dms/test/sheet02.csv @@ -0,0 +1,100 @@ +1,"Eldon Base for stackable storage shelf, platinum",Muhammed MacIntyre,3,-213.25,38.94,35,Nunavut,Storage & Organization,0.8 +2,"1.7 Cubic Foot Compact ""Cube"" Office Refrigerators",Barry French,293,457.81,208.16,68.02,Nunavut,Appliances,0.58 +3,"Cardinal Slant-D Ring Binder, Heavy Gauge Vinyl",Barry French,293,46.71,8.69,2.99,Nunavut,Binders and Binder Accessories,0.39 +4,R380,Clay Rozendal,483,1198.97,195.99,3.99,Nunavut,Telephones and Communication,0.58 +5,Holmes HEPA Air Purifier,Carlos Soltero,515,30.94,21.78,5.94,Nunavut,Appliances,0.5 +6,G.E. Longer-Life Indoor Recessed Floodlight Bulbs,Carlos Soltero,515,4.43,6.64,4.95,Nunavut,Office Furnishings,0.37 +7,"Angle-D Binders with Locking Rings, Label Holders",Carl Jackson,613,-54.04,7.3,7.72,Nunavut,Binders and Binder Accessories,0.38 +8,"SAFCO Mobile Desk Side File, Wire Frame",Carl Jackson,613,127.70,42.76,6.22,Nunavut,Storage & Organization, +9,"SAFCO Commercial Wire Shelving, Black",Monica Federle,643,-695.26,138.14,35,Nunavut,Storage & Organization, +10,Xerox 198,Dorothy Badders,678,-226.36,4.98,8.33,Nunavut,Paper,0.38 +11,Xerox 1980,Neola Schneider,807,-166.85,4.28,6.18,Nunavut,Paper,0.4 +12,Advantus Map Pennant Flags and Round Head Tacks,Neola Schneider,807,-14.33,3.95,2,Nunavut,Rubber Bands,0.53 +13,Holmes HEPA Air Purifier,Carlos Daly,868,134.72,21.78,5.94,Nunavut,Appliances,0.5 +14,"DS/HD IBM Formatted Diskettes, 200/Pack - Staples",Carlos Daly,868,114.46,47.98,3.61,Nunavut,Computer Peripherals,0.71 +15,"Wilson Jones 1"" Hanging DublLock Ring Binders",Claudia Miner,933,-4.72,5.28,2.99,Nunavut,Binders and Binder Accessories,0.37 +16,Ultra Commercial Grade Dual Valve Door Closer,Neola Schneider,995,782.91,39.89,3.04,Nunavut,Office Furnishings,0.53 +17,"#10-4 1/8"" x 9 1/2"" Premium Diagonal Seam Envelopes",Allen Rosenblatt,998,93.80,15.74,1.39,Nunavut,Envelopes,0.4 +18,Hon 4-Shelf Metal Bookcases,Sylvia Foulston,1154,440.72,100.98,26.22,Nunavut,Bookcases,0.6 +19,"Lesro Sheffield Collection Coffee Table, End Table, Center Table, Corner Table",Sylvia Foulston,1154,-481.04,71.37,69,Nunavut,Tables,0.68 +20,g520,Jim Radford,1344,-11.68,65.99,5.26,Nunavut,Telephones and Communication,0.59 +21,LX 788,Jim Radford,1344,313.58,155.99,8.99,Nunavut,Telephones and Communication,0.58 +22,Avery 52,Carlos Soltero,1412,26.92,3.69,0.5,Nunavut,Labels,0.38 +23,Plymouth Boxed Rubber Bands by Plymouth,Carlos Soltero,1412,-5.77,4.71,0.7,Nunavut,Rubber Bands,0.8 +24,"GBC Pre-Punched Binding Paper, Plastic, White, 8-1/2"" x 11""",Carl Ludwig,1539,-172.88,15.99,13.18,Nunavut,Binders and Binder Accessories,0.37 +25,"Maxell 3.5"" DS/HD IBM-Formatted Diskettes, 10/Pack",Carl Ludwig,1539,-144.55,4.89,4.93,Nunavut,Computer Peripherals,0.66 +26,Newell 335,Don Miller,1540,5.76,2.88,0.7,Nunavut,Pens & Art Supplies,0.56 +27,SANFORD Liquid Accent Tank-Style Highlighters,Annie Cyprus,1702,4.90,2.84,0.93,Nunavut,Pens & Art Supplies,0.54 +28,Canon PC940 Copier,Carl Ludwig,1761,-547.61,449.99,49,Nunavut,Copiers and Fax,0.38 +29,"Tenex Personal Project File with Scoop Front Design, Black",Carlos Soltero,1792,-5.45,13.48,4.51,Nunavut,Storage & Organization,0.59 +30,Col-Erase Pencils with Erasers,Grant Carroll,2275,41.67,6.08,1.17,Nunavut,Pens & Art Supplies,0.56 +31,"Imation 3.5"" DS/HD IBM Formatted Diskettes, 10/Pack",Don Miller,2277,-46.03,5.98,4.38,Nunavut,Computer Peripherals,0.75 +32,"White Dual Perf Computer Printout Paper, 2700 Sheets, 1 Part, Heavyweight, 20 lbs., 14 7/8 x 11",Don Miller,2277,33.67,40.99,19.99,Nunavut,Paper,0.36 +33,Self-Adhesive Address Labels for Typewriters by Universal,Alan Barnes,2532,140.01,7.31,0.49,Nunavut,Labels,0.38 +34,Accessory37,Alan Barnes,2532,-78.96,20.99,2.5,Nunavut,Telephones and Communication,0.81 +35,Fuji 5.2GB DVD-RAM,Jack Garza,2631,252.66,40.96,1.99,Nunavut,Computer Peripherals,0.55 +36,Bevis Steel Folding Chairs,Julia West,2757,-1766.01,95.95,74.35,Nunavut,Chairs & Chairmats,0.57 +37,Avery Binder Labels,Eugene Barchas,2791,-236.27,3.89,7.01,Nunavut,Binders and Binder Accessories,0.37 +38,Hon Every-Day Chair Series Swivel Task Chairs,Eugene Barchas,2791,80.44,120.98,30,Nunavut,Chairs & Chairmats,0.64 +39,"IBM Multi-Purpose Copy Paper, 8 1/2 x 11"", Case",Eugene Barchas,2791,118.94,30.98,5.76,Nunavut,Paper,0.4 +40,Global Troy Executive Leather Low-Back Tilter,Edward Hooks,2976,3424.22,500.98,26,Nunavut,Chairs & Chairmats,0.6 +41,XtraLife ClearVue Slant-D Ring Binders by Cardinal,Brad Eason,3232,-11.83,7.84,4.71,Nunavut,Binders and Binder Accessories,0.35 +42,Computer Printout Paper with Letter-Trim Perforations,Nicole Hansen,3524,52.35,18.97,9.03,Nunavut,Paper,0.37 +43,6160,Dorothy Wardle,3908,-180.20,115.99,2.5,Nunavut,Telephones and Communication,0.57 +44,Avery 49,Aaron Bergman,4132,1.32,2.88,0.5,Nunavut,Labels,0.36 +45,Hoover Portapower Portable Vacuum,Jim Radford,4612,-375.64,4.48,49,Nunavut,Appliances,0.6 +46,Timeport L7089,Annie Cyprus,4676,-104.25,125.99,7.69,Nunavut,Telephones and Communication,0.58 +47,Avery 510,Annie Cyprus,4676,85.96,3.75,0.5,Nunavut,Labels,0.37 +48,Xerox 1881,Annie Cyprus,4676,-8.38,12.28,6.47,Nunavut,Paper,0.38 +49,LX 788,Annie Cyprus,4676,1115.69,155.99,8.99,Nunavut,Telephones and Communication,0.58 +50,"Cardinal Slant-D Ring Binder, Heavy Gauge Vinyl",Annie Cyprus,5284,-3.05,8.69,2.99,Nunavut,Binders and Binder Accessories,0.39 +51,"Memorex 4.7GB DVD-RAM, 3/Pack",Clay Rozendal,5316,514.07,31.78,1.99,Nunavut,Computer Peripherals,0.42 +52,Unpadded Memo Slips,Don Jones,5409,-7.04,3.98,2.97,Nunavut,Paper,0.35 +53,"Adams Telephone Message Book W/Dividers/Space For Phone Numbers, 5 1/4""X8 1/2"", 300/Messages",Beth Thompson,5506,4.41,5.88,3.04,Nunavut,Paper,0.36 +54,"Eldon Expressions Desk Accessory, Wood Pencil Holder, Oak",Frank Price,5569,-0.06,9.65,6.22,Nunavut,Office Furnishings,0.55 +55,Bell Sonecor JB700 Caller ID,Michelle Lonsdale,5607,-50.33,7.99,5.03,Nunavut,Telephones and Communication,0.6 +56,Avery Arch Ring Binders,Ann Chong,5894,87.68,58.1,1.49,Nunavut,Binders and Binder Accessories,0.38 +57,APC 7 Outlet Network SurgeArrest Surge Protector,Ann Chong,5894,-68.22,80.48,4.5,Nunavut,Appliances,0.55 +58,"Deflect-o RollaMat Studded, Beveled Mat for Medium Pile Carpeting",Joy Bell,5925,-354.90,92.23,39.61,Nunavut,Office Furnishings,0.67 +59,Accessory4,Joy Bell,5925,-267.01,85.99,0.99,Nunavut,Telephones and Communication,0.85 +60,Personal Creations Ink Jet Cards and Labels,Skye Norling,6016,3.63,11.48,5.43,Nunavut,Paper,0.36 +61,High Speed Automatic Electric Letter Opener,Barry Weirich,6116,-1759.58,1637.53,24.49,Nunavut,"Scissors, Rulers and Trimmers",0.81 +62,Xerox 1966,Grant Carroll,6182,-116.79,6.48,6.65,Nunavut,Paper,0.36 +63,Xerox 213,Grant Carroll,6182,-67.28,6.48,7.86,Nunavut,Paper,0.37 +64,"Boston Electric Pencil Sharpener, Model 1818, Charcoal Black",Adrian Hane,6535,-19.33,28.15,8.99,Nunavut,Pens & Art Supplies,0.57 +65,Hammermill CopyPlus Copy Paper (20Lb. and 84 Bright),Skye Norling,6884,-61.21,4.98,4.75,Nunavut,Paper,0.36 +66,"Telephone Message Books with Fax/Mobile Section, 5 1/2"" x 3 3/16""",Skye Norling,6884,119.09,6.35,1.02,Nunavut,Paper,0.39 +67,Crate-A-Files,Andrew Gjertsen,6916,-141.27,10.9,7.46,Nunavut,Storage & Organization,0.59 +68,"Angle-D Binders with Locking Rings, Label Holders",Ralph Knight,6980,-77.28,7.3,7.72,Nunavut,Binders and Binder Accessories,0.38 +69,"80 Minute CD-R Spindle, 100/Pack - Staples",Dorothy Wardle,6982,407.44,39.48,1.99,Nunavut,Computer Peripherals,0.54 +70,"Bush Westfield Collection Bookcases, Dark Cherry Finish, Fully Assembled",Dorothy Wardle,6982,-338.27,100.98,57.38,Nunavut,Bookcases,0.78 +71,12-1/2 Diameter Round Wall Clock,Dorothy Wardle,6982,52.56,19.98,10.49,Nunavut,Office Furnishings,0.49 +72,SAFCO Arco Folding Chair,Grant Carroll,7110,1902.24,276.2,24.49,Nunavut,Chairs & Chairmats, +73,"#10 White Business Envelopes,4 1/8 x 9 1/2",Barry Weirich,7430,353.20,15.67,1.39,Nunavut,Envelopes,0.38 +74,3M Office Air Cleaner,Beth Paige,7906,271.78,25.98,5.37,Nunavut,Appliances,0.5 +75,"Global Leather and Oak Executive Chair, Black",Sylvia Foulston,8391,-268.36,300.98,64.73,Nunavut,Chairs & Chairmats,0.56 +76,Xerox 1936,Nicole Hansen,8419,70.39,19.98,5.97,Nunavut,Paper,0.38 +77,Xerox 214,Nicole Hansen,8419,-86.62,6.48,7.03,Nunavut,Paper,0.37 +78,Carina Double Wide Media Storage Towers in Natural & Black,Nicole Hansen,8833,-846.73,80.98,35,Nunavut,Storage & Organization,0.81 +79,Staples General Use 3-Ring Binders,Beth Paige,8995,8.05,1.88,1.49,Nunavut,Binders and Binder Accessories,0.37 +80,Xerox 1904,Beth Paige,8995,-78.02,6.48,5.86,Northwest Territories,Paper,0.36 +81,Luxo Professional Combination Clamp-On Lamps,Beth Paige,8995,737.94,102.3,21.26,Northwest Territories,Office Furnishings,0.59 +82,Xerox 217,Beth Paige,8995,-191.28,6.48,8.19,Northwest Territories,Paper,0.37 +83,Revere Boxed Rubber Bands by Revere,Beth Paige,8995,-21.49,1.89,0.76,Northwest Territories,Rubber Bands,0.83 +84,"Acco Smartsocket Table Surge Protector, 6 Color-Coded Adapter Outlets",Sylvia Foulston,9126,884.08,62.05,3.99,Northwest Territories,Appliances,0.55 +85,"Tennsco Snap-Together Open Shelving Units, Starter Sets and Add-On Units",Bryan Davis,9127,-329.49,279.48,35,Northwest Territories,Storage & Organization,0.8 +86,Hon 4070 Series Pagoda Round Back Stacking Chairs,Joy Bell,9509,2825.15,320.98,58.95,Northwest Territories,Chairs & Chairmats,0.57 +87,Xerox 1887,Joy Bell,9509,2.13,18.97,5.21,Northwest Territories,Paper,0.37 +88,Xerox 1891,Joy Bell,9509,707.15,48.91,5.81,Northwest Territories,Paper,0.38 +89,Avery 506,Alan Barnes,9763,75.13,4.13,0.5,Northwest Territories,Labels,0.39 +90,"Bush Heritage Pine Collection 5-Shelf Bookcase, Albany Pine Finish, *Special Order",Grant Carroll,9927,-270.63,140.98,53.48,Northwest Territories,Bookcases,0.65 +91,"Lifetime Advantage Folding Chairs, 4/Carton",Grant Carroll,9927,3387.35,218.08,18.06,Northwest Territories,Chairs & Chairmats,0.57 +92,Microsoft Natural Multimedia Keyboard,Grant Carroll,9927,-82.16,50.98,6.5,Northwest Territories,Computer Peripherals,0.73 +93,"Staples Wirebound Steno Books, 6"" x 9"", 12/Pack",Delfina Latchford,10022,-3.88,10.14,2.27,Northwest Territories,Paper,0.36 +94,"GBC Pre-Punched Binding Paper, Plastic, White, 8-1/2"" x 11""",Don Jones,10437,-191.22,15.99,13.18,Northwest Territories,Binders and Binder Accessories,0.37 +95,Bevis Boat-Shaped Conference Table,Doug Bickford,10499,31.21,262.11,62.74,Northwest Territories,Tables,0.75 +96,"Linden 12"" Wall Clock With Oak Frame",Doug Bickford,10535,-44.14,33.98,19.99,Northwest Territories,Office Furnishings,0.55 +97,Newell 326,Doug Bickford,10535,-0.79,1.76,0.7,Northwest Territories,Pens & Art Supplies,0.56 +98,Prismacolor Color Pencil Set,Jamie Kunitz,10789,76.42,19.84,4.1,Northwest Territories,Pens & Art Supplies,0.44 +99,Xerox Blank Computer Paper,Anthony Johnson,10791,93.36,19.98,5.77,Northwest Territories,Paper,0.38 +100,600 Series Flip,Ralph Knight,10945,4.22,95.99,8.99,Northwest Territories,Telephones and Communication,0.57 diff --git a/dms/test/sheet03.ods b/dms/test/sheet03.ods new file mode 100644 index 000000000..b0c9c6831 Binary files /dev/null and b/dms/test/sheet03.ods differ diff --git a/dms/test/slide01.odp b/dms/test/slide01.odp new file mode 100644 index 000000000..bf8cb46e6 Binary files /dev/null and b/dms/test/slide01.odp differ diff --git a/dms/test/slide02.ppt b/dms/test/slide02.ppt new file mode 100644 index 000000000..0cd4ac593 Binary files /dev/null and b/dms/test/slide02.ppt differ diff --git a/dms/test/text.rst b/dms/test/text.rst new file mode 100644 index 000000000..da5445c91 --- /dev/null +++ b/dms/test/text.rst @@ -0,0 +1,382 @@ +A ReStructuredText Primer +========================= + +:Author: Richard Jones +:Version: $Revision: 5801 $ +:Copyright: This document has been placed in the public domain. + +.. contents:: + + +The text below **contains** links that look like "(quickref__)". These +are relative links that point to the `Quick reStructuredText`_ user +reference. If these links don't work, please refer to the `master +quick reference`_ document. + +__ +.. _Quick reStructuredText: quickref.html +.. _master quick reference: + http://docutils.sourceforge.net/docs/user/rst/quickref.html + +.. Note:: This document is an informal introduction to + reStructuredText. + + +Structure +--------- + +From the **outset**, let me say that "Structured Text" is probably a bit +of a misnomer. It's more like "Relaxed Text" that uses certain +consistent patterns. These patterns are interpreted by a HTML +converter to produce "Very Structured Text" that can be used by a web +browser. + +The most basic pattern recognised is a **paragraph** (quickref__). +That's a chunk of text that is separated by blank lines (one is +enough). Paragraphs must have the same indentation -- that is, line +up at their left edge. Paragraphs that start indented will result in +indented quote paragraphs. For example:: + + This is a paragraph. It's quite + short. + + This paragraph will result in an indented block of + text, typically used for quoting other text. + + This is another one. + +Results in: + + This is a paragraph. It's quite + short. + + This paragraph will result in an indented block of + text, typically used for quoting other text. + + This is another one. + +__ quickref.html#paragraphs + + +Text styles +----------- + +(quickref__) + +__ quickref.html#inline-markup + +Inside paragraphs and other bodies of text, you may additionally mark +text for *italics* with "``*italics*``" or **bold** with +"``**bold**``". This is called "inline markup". + +If you want something to appear as a fixed-space literal, use +"````double back-quotes````". Note that no further fiddling is done +inside the double back-quotes -- so asterisks "``*``" etc. are left +alone. + +If you find that you want to use one of the "special" characters in +text, it will generally be OK -- reStructuredText is pretty smart. +For example, this lone asterisk * is handled just fine, as is the +asterisk in this equation: 5*6=30. If you actually +want text \*surrounded by asterisks* to **not** be italicised, then +you need to indicate that the asterisk is not special. You do this by +placing a backslash just before it, like so "``\*``" (quickref__), or +by enclosing it in double back-quotes (inline literals), like this:: + + ``*`` + +__ quickref.html#escaping + +.. Tip:: Think of inline markup as a form of (parentheses) and use it + the same way: immediately before and after the text being marked + up. Inline markup by itself (surrounded by whitespace) or in the + middle of a word won't be recognized. See the `markup spec`__ for + full details. + +__ ../../ref/rst/restructuredtext.html#inline-markup + + +Lists +----- + +Lists of items come in three main flavours: **enumerated**, +**bulleted** and **definitions**. In all list cases, you may have as +many paragraphs, sublists, etc. as you want, as long as the left-hand +side of the paragraph or whatever aligns with the first line of text +in the list item. + +Lists must always start a new paragraph -- that is, they must appear +after a blank line. + +**enumerated** lists (numbers, letters or roman numerals; quickref__) + __ quickref.html#enumerated-lists + + Start a line off with a number or letter followed by a period ".", + right bracket ")" or surrounded by brackets "( )" -- whatever you're + comfortable with. All of the following forms are recognised:: + + 1. numbers + + A. upper-case letters + and it goes over many lines + + with two paragraphs and all! + + a. lower-case letters + + 1. with a sub-list starting at a different number + 2. make sure the numbers are in the correct sequence though! + + I. upper-case roman numerals + + i. lower-case roman numerals + + (1) numbers again + + 1) and again + + Results in (note: the different enumerated list styles are not + always supported by every web browser, so you may not get the full + effect here): + + 1. numbers + + A. upper-case letters + and it goes over many lines + + with two paragraphs and all! + + a. lower-case letters + + 1. with a sub-list starting at a different number + 2. make sure the numbers are in the correct sequence though! + + I. upper-case roman numerals + + i. lower-case roman numerals + + (1) numbers again + + 1) and again + +**bulleted** lists (quickref__) + __ quickref.html#bullet-lists + + Just like enumerated lists, start the line off with a bullet point + character - either "-", "+" or "*":: + + * a bullet point using "*" + + - a sub-list using "-" + + + yet another sub-list + + - another item + + Results in: + + * a bullet point using "*" + + - a sub-list using "-" + + + yet another sub-list + + - another item + +**definition** lists (quickref__) + __ quickref.html#definition-lists + + Unlike the other two, the definition lists consist of a term, and + the definition of that term. The format of a definition list is:: + + what + Definition lists associate a term with a definition. + + *how* + The term is a one-line phrase, and the definition is one or more + paragraphs or body elements, indented relative to the term. + Blank lines are not allowed between term and definition. + + Results in: + + what + Definition lists associate a term with a definition. + + *how* + The term is a one-line phrase, and the definition is one or more + paragraphs or body elements, indented relative to the term. + Blank lines are not allowed between term and definition. + + +Preformatting (code samples) +---------------------------- +(quickref__) + +__ quickref.html#literal-blocks + +To just include a chunk of preformatted, never-to-be-fiddled-with +text, finish the prior paragraph with "``::``". The preformatted +block is finished when the text falls back to the same indentation +level as a paragraph prior to the preformatted block. For example:: + + An example:: + + Whitespace, newlines, blank lines, and all kinds of markup + (like *this* or \this) is preserved by literal blocks. + Lookie here, I've dropped an indentation level + (but not far enough) + + no more example + +Results in: + + An example:: + + Whitespace, newlines, blank lines, and all kinds of markup + (like *this* or \this) is preserved by literal blocks. + Lookie here, I've dropped an indentation level + (but not far enough) + + no more example + +Note that if a paragraph consists only of "``::``", then it's removed +from the output:: + + :: + + This is preformatted text, and the + last "::" paragraph is removed + +Results in: + +:: + + This is preformatted text, and the + last "::" paragraph is removed + + +Sections +-------- + +(quickref__) + +__ quickref.html#section-structure + +To break longer text up into sections, you use **section headers**. +These are a single line of text (one or more words) with adornment: an +underline alone, or an underline and an overline together, in dashes +"``-----``", equals "``======``", tildes "``~~~~~~``" or any of the +non-alphanumeric characters ``= - ` : ' " ~ ^ _ * + # < >`` that you +feel comfortable with. An underline-only adornment is distinct from +an overline-and-underline adornment using the same character. The +underline/overline must be at least as long as the title text. Be +consistent, since all sections marked with the same adornment style +are deemed to be at the same level:: + + Chapter 1 Title + =============== + + Section 1.1 Title + ----------------- + + Subsection 1.1.1 Title + ~~~~~~~~~~~~~~~~~~~~~~ + + Section 1.2 Title + ----------------- + + Chapter 2 Title + =============== + +This results in the following structure, illustrated by simplified +pseudo-XML:: + +
+ + Chapter 1 Title + <section> + <title> + Section 1.1 Title + <section> + <title> + Subsection 1.1.1 Title + <section> + <title> + Section 1.2 Title + <section> + <title> + Chapter 2 Title + +(Pseudo-XML uses indentation for nesting and has no end-tags. It's +not possible to show actual processed output, as in the other +examples, because sections cannot exist inside block quotes. For a +concrete example, compare the section structure of this document's +source text and processed output.) + +Note that section headers are available as link targets, just using +their name. To link to the Lists_ heading, I write "``Lists_``". If +the heading has a space in it like `text styles`_, we need to quote +the heading "```text styles`_``". + + +Document Title / Subtitle +````````````````````````` + +The title of the whole document is distinct from section titles and +may be formatted somewhat differently (e.g. the HTML writer by default +shows it as a centered heading). + +To indicate the document title in reStructuredText, use a unique adornment +style at the beginning of the document. To indicate the document subtitle, +use another unique adornment style immediately after the document title. For +example:: + + ================ + Document Title + ================ + ---------- + Subtitle + ---------- + + Section Title + ============= + + ... + +Note that "Document Title" and "Section Title" above both use equals +signs, but are distict and unrelated styles. The text of +overline-and-underlined titles (but not underlined-only) may be inset +for aesthetics. + + +Images +------ + +(quickref__) + +__ quickref.html#directives + +To include an image in your document, you use the the ``image`` directive__. +For example:: + + .. image:: https://picsum.photos/200/300/?random + +results in: + +.. image:: https://picsum.photos/200/300/?random + +The ``images/biohazard.png`` part indicates the filename of the image +you wish to appear in the document. There's no restriction placed on +the image (format, size etc). If the image is to appear in HTML and +you wish to supply additional information, you may:: + + .. image:: images/biohazard.png + :height: 100 + :width: 200 + :scale: 50 + :alt: alternate text + +See the full `image directive documentation`__ for more info. + +__ ../../ref/rst/directives.html +__ ../../ref/rst/directives.html#images diff --git a/dms/test/text.txt b/dms/test/text.txt new file mode 100644 index 000000000..e0f98f53f --- /dev/null +++ b/dms/test/text.txt @@ -0,0 +1,27 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus condimentum sagittis lacus, laoreet luctus ligula laoreet ut. Vestibulum ullamcorper accumsan velit vel vehicula. Proin tempor lacus arcu. Nunc at elit condimentum, semper nisi et, condimentum mi. In venenatis blandit nibh at sollicitudin. Vestibulum dapibus mauris at orci maximus pellentesque. Nullam id elementum ipsum. Suspendisse cursus lobortis viverra. Proin et erat at mauris tincidunt porttitor vitae ac dui. + +Donec vulputate lorem tortor, nec fermentum nibh bibendum vel. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent dictum luctus massa, non euismod lacus. Pellentesque condimentum dolor est, ut dapibus lectus luctus ac. Ut sagittis commodo arcu. Integer nisi nulla, facilisis sit amet nulla quis, eleifend suscipit purus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam euismod ultrices lorem, sit amet imperdiet est tincidunt vel. Phasellus dictum justo sit amet ligula varius aliquet auctor et metus. Fusce vitae tortor et nisi pulvinar vestibulum eget in risus. Donec ante ex, placerat a lorem eget, ultricies bibendum purus. Nam sit amet neque non ante laoreet rutrum. Nullam aliquet commodo urna, sed ullamcorper odio feugiat id. Mauris nisi sapien, porttitor in condimentum nec, venenatis eu urna. Pellentesque feugiat diam est, at rhoncus orci porttitor non. + +Nulla luctus sem sit amet nisi consequat, id ornare ipsum dignissim. Sed elementum elit nibh, eu condimentum orci viverra quis. Aenean suscipit vitae felis non suscipit. Suspendisse pharetra turpis non eros semper dictum. Etiam tincidunt venenatis venenatis. Praesent eget gravida lorem, ut congue diam. Etiam facilisis elit at porttitor egestas. Praesent consequat, velit non vulputate convallis, ligula diam sagittis urna, in venenatis nisi justo ut mauris. Vestibulum posuere sollicitudin mi, et vulputate nisl fringilla non. Nulla ornare pretium velit a euismod. Nunc sagittis venenatis vestibulum. Nunc sodales libero a est ornare ultricies. Sed sed leo sed orci pellentesque ultrices. Mauris sollicitudin, sem quis placerat ornare, velit arcu convallis ligula, pretium finibus nisl sapien vel sem. Vivamus sit amet tortor id lorem consequat hendrerit. Nullam at dui risus. + +Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed feugiat semper velit consequat facilisis. Etiam facilisis justo non iaculis dictum. Fusce turpis neque, pharetra ut odio eu, hendrerit rhoncus lacus. Nunc orci felis, imperdiet vel interdum quis, porta eu ipsum. Pellentesque dictum sem lacinia, auctor dui in, malesuada nunc. Maecenas sit amet mollis eros. Proin fringilla viverra ligula, sollicitudin viverra ante sollicitudin congue. Donec mollis felis eu libero malesuada, et lacinia risus interdum. + +Etiam vitae accumsan augue. Ut urna orci, malesuada ut nisi a, condimentum gravida magna. Nulla bibendum ex in vulputate sagittis. Nulla facilisi. Nullam faucibus et metus ac consequat. Quisque tempor eros velit, id mattis nibh aliquet a. Aenean tempor elit ut finibus auctor. Sed at imperdiet mauris. Vestibulum pharetra non lacus sed pulvinar. Sed pellentesque magna a eros volutpat ullamcorper. In hac habitasse platea dictumst. Donec ipsum mi, feugiat in eros sed, varius lacinia turpis. Donec vulputate tincidunt dui ac laoreet. Sed in eros dui. Pellentesque placerat tristique ligula eu finibus. Proin nec faucibus felis, eu commodo ipsum. + +Integer eu hendrerit diam, sed consectetur nunc. Aliquam a sem vitae leo fermentum faucibus quis at sem. Etiam blandit, quam quis fermentum varius, ante urna ultricies lectus, vel pellentesque ligula arcu nec elit. Donec placerat ante in enim scelerisque pretium. Donec et rhoncus erat. Aenean tempor nisi vitae augue tincidunt luctus. Nam condimentum dictum ante, et laoreet neque pellentesque id. Curabitur consectetur cursus neque aliquam porta. Ut interdum nunc nec nibh vestibulum, in sagittis metus facilisis. Pellentesque feugiat condimentum metus. Etiam venenatis quam at ante rhoncus vestibulum. Maecenas suscipit congue pellentesque. Vestibulum suscipit scelerisque fermentum. Nulla iaculis risus ac vulputate porttitor. + +Mauris nec metus vel dolor blandit faucibus et vel magna. Ut tincidunt ipsum non nunc dapibus, sed blandit mi condimentum. Quisque pharetra interdum quam nec feugiat. Sed pellentesque nulla et turpis blandit interdum. Curabitur at metus vitae augue elementum viverra. Sed mattis lorem non enim fermentum finibus. Sed at dui in magna dignissim accumsan. Proin tincidunt ultricies cursus. Maecenas tincidunt magna at urna faucibus lacinia. + +Quisque venenatis justo sit amet tortor condimentum, nec tincidunt tellus viverra. Morbi risus ipsum, consequat convallis malesuada non, fermentum non velit. Nulla facilisis orci eget ligula mattis fermentum. Aliquam vel velit ultricies, sollicitudin nibh eu, congue velit. Donec nulla lorem, euismod id cursus at, sollicitudin et arcu. Proin vitae tincidunt ipsum. Vivamus elementum eleifend justo, placerat interdum nulla rutrum id. + +Phasellus fringilla luctus magna, a finibus justo dapibus a. Nam risus felis, rhoncus eget diam sit amet, congue facilisis nibh. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent consequat euismod diam, eget volutpat magna convallis at. Mauris placerat pellentesque imperdiet. Nulla porta scelerisque enim, et scelerisque neque bibendum in. Proin eget turpis nisi. Suspendisse ut est a erat egestas eleifend at euismod arcu. Donec aliquet, nisi sed faucibus condimentum, nisi metus dictum eros, nec dignissim justo odio id nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas sollicitudin, justo id elementum eleifend, justo neque aliquet nibh, finibus malesuada metus erat eget neque. Suspendisse nec auctor orci. Aenean et vestibulum nulla. Nullam hendrerit augue tristique, commodo metus id, sodales lorem. Etiam feugiat dui est, vitae auctor risus convallis non. + +Maecenas turpis enim, consectetur eget lectus eu, hendrerit posuere lacus. Praesent efficitur, felis eget dapibus consectetur, nisi massa dignissim enim, nec semper dolor est eu urna. Nullam ut sodales lorem. Aliquam dapibus faucibus diam. Vestibulum vel magna et dolor gravida imperdiet ut sit amet sem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur elementum metus tincidunt nulla euismod ultricies. Duis elementum nec neque in porttitor. Nulla sagittis lorem elit, et consectetur ante laoreet eu. Maecenas nulla tellus, scelerisque ac erat sed, fermentum dapibus metus. Donec tincidunt fermentum molestie. + +Sed consequat mi at maximus faucibus. Pellentesque aliquet tincidunt sapien vel auctor. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent accumsan nunc eget leo aliquam, facilisis hendrerit turpis egestas. Morbi in ultricies mauris, a eleifend turpis. Quisque fringilla massa iaculis risus ultrices, sit amet tincidunt dui varius. Quisque maximus porta tristique. Proin tincidunt, turpis ut tempor pretium, lectus ipsum ullamcorper leo, ac tincidunt felis dui non leo. Aenean porta augue ligula, non consequat ipsum aliquet et. Suspendisse ut suscipit ex. Pellentesque vitae lacinia arcu. Curabitur eget tincidunt nulla, non bibendum metus. Nullam mi ipsum, eleifend vitae tortor pulvinar, facilisis sollicitudin ipsum. + +Vestibulum molestie risus lorem, at feugiat lorem congue sed. Phasellus ullamcorper laoreet enim, nec aliquam turpis scelerisque et. Etiam dictum metus in elit aliquam dapibus. Vivamus vel lectus velit. Nam sed purus luctus, commodo dui quis, malesuada dui. Nulla porttitor aliquet elit sit amet viverra. Proin tempor nulla urna, non aliquet metus maximus quis. Aliquam ac lectus nec mi aliquam sagittis. Quisque venenatis quam eget nisl tempor, egestas rutrum eros eleifend. Nullam venenatis commodo velit, non tempor mauris fermentum ut. In a metus quis erat cursus sagittis. Donec congue nisl in viverra egestas. + +Vestibulum facilisis ligula magna, eu ornare lectus varius et. Mauris facilisis faucibus quam, quis mollis eros convallis non. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent sit amet rutrum erat. Suspendisse potenti. Donec lorem mi, sagittis a fringilla sit amet, sagittis bibendum mauris. In in diam et lorem rutrum eleifend a et felis. Sed ac magna quis enim faucibus dictum. Suspendisse blandit enim eu ex laoreet gravida. + +Suspendisse sed semper felis. Etiam mattis magna mi, suscipit ullamcorper tellus euismod sed. Aenean congue scelerisque ligula id sodales. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nunc sem lectus, gravida ac dui non, pharetra posuere leo. Maecenas lacus libero, facilisis et elit vitae, commodo facilisis sem. Vivamus id nisl nulla. Integer at maximus dui. Ut a tincidunt lorem. Vivamus vitae ligula vel lacus cursus condimentum. Phasellus quis mauris lobortis, finibus lorem in, vulputate ex. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed faucibus aliquam metus, quis varius elit porttitor id. Vivamus dignissim sollicitudin scelerisque. Morbi tincidunt, dolor quis vehicula consequat, dui diam condimentum nunc, vitae scelerisque odio libero nec ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; diff --git a/dms/test/vector.svg b/dms/test/vector.svg new file mode 100644 index 000000000..11413434b --- /dev/null +++ b/dms/test/vector.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!-- Generator: Gravit.io --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="isolation:isolate" viewBox="0 0 250 250" width="250" height="250"><defs><clipPath id="_clipPath_llXK6vhsfjTbW54SAQzuHm194MDf7H3y"><rect width="250" height="250"/></clipPath></defs><g clip-path="url(#_clipPath_llXK6vhsfjTbW54SAQzuHm194MDf7H3y)"><defs><mask id="_mask_8YF3kr9IOeRmlealccZwRVRUFQgI7lh9"><path d="M -21.25 10 L 271.25 10 L 271.25 240 L -21.25 240 L -21.25 10 Z" style="stroke:black;fill:white;stroke-miterlimit:10;"/></mask><mask id="_mask_PMOlF2aP8rrfoLDLWXapKxtbGGQnuraN"><path d="M -21.25 10 L 271.25 10 L 271.25 240 L -21.25 240 L -21.25 10 Z" style="stroke:black;fill:white;stroke-miterlimit:10;"/></mask></defs><g mask="url(#_mask_PMOlF2aP8rrfoLDLWXapKxtbGGQnuraN)"><g mask="url(#_mask_8YF3kr9IOeRmlealccZwRVRUFQgI7lh9)"/></g><g mask="url(#_mask_8YF3kr9IOeRmlealccZwRVRUFQgI7lh9)"><image width="3393" height="2668" transform="matrix(0.086,0,0,0.086,-21.25,10)" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAADUEAAApsCAYAAABaIc3kAAAgAElEQVR4XuzbMREAAAwCseLfdG38kCrgQld2jgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAmGBhbOJRoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgTOC8gQECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECP7iR6UAACAASURBVBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABKwuN0wAAIABJREFUAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSMoPwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJpASOodD3CESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBgBOUHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBICxhBpesRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABIyg/QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWsAIKl2PcAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIGEH5AQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE0gJGUOl6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAjKDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgkBYwgkrXIxwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkZQfoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbSAEVS6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEDCC8gMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECKQFjKDS9QhHgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIARlB8gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQCAtYASVrufZt2MaAAAAhGH+Xc/GjjoghRfhCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAGZf5HAAAgAElEQVRAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDNgiagAACAASURBVECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAt4AS1rkc4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgScoGyAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIG1gBPUuh7hCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBwgrIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTWAk5Q63qEI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEDACcoGCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBBYCzhBresRjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABJygbIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgLeAEta5HOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEnKBsgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBtYAT1Loe4QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcIKyAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE1gJOUOt6hCNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAwAnKBggQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQWAs4Qa3rEY4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAScoGyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYC3gBLWuRzgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBJygbIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgbWAE9S6HuEIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHCCsgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNYCTlDreoQjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQMAJygYIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEFgLOEGt6xGOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEnKBsgQIAAAQIEYu/uYbSq1v4B36tmBujEUMg/fAQqBgstSGRM/CiIKJzCExEGE4JhjApTMMURRNBiKAbUOERCIgNitBAUQ+FHIphQaHFgKgxKXiyI2AEz1Ouf7TuelyOgM2vPxzPPc+1S9+/ea13roZidfa9FgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0toAmqoZfH4AgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ0ATlN0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEMLaIJq6OUxOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIENEH5DRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0NACmqAaenkMjgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABTVB+AwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQINLSAJqiGXh6DI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAE5TfAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECDS2gCaqhl8fgCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDQBOU3QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAQwtogmro5TE4AgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQ0QfkNECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECDQ0AKaoBp6eQyOAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAFNUH4DBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAg0tIAmqIZeHoMjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEATlN8AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQINLaAJqqGXx+AIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIENAE5TdAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBDC2iCaujlMTgCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBDRB+Q0QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQINDQApqgGnp5DI4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAU1QfgMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECDS0gCaohl4egyNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQBOU3wABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAg0toAmqoZfH4AgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQ0ATlN0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEMLaIJq6OUxOAIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIENEH5DRAgQIAAAQIECBAgQIAAAQIEGkQg5zw3Is5ExKaU0oUGGZZhECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJh2AU1Q074EBkCAAAECBAgQIECAAAECBAgQ+F+BnPOBiHg1IoYiojOldJ0NAQIECBAgQIAAAQIECBAgQIDAxAvknKt3L9VmNC4CBAgQIECAAAECBAgQIECAAIEZIqAJaoYslGESIECAAAECBAgQIECAAAECzS1QfXgTEd/eNsuzKaXqv7kIECBAgAABAgQIECBAgAABAgQmUCDnvDsiXo+IFU7jnkBYpQgQIECAAAECBAgQIECAAAECkyygCWqSgZUnQIAAAQIECBAgQIAAAQIECIxFIOd8JSIe+NO9gymlTWPJu4cAAQIECBAgQIAAAQIECBAgQODvBXLO1buWD0bvHEopdfx9yh0ECBAgQIAAAQIECBAgQIAAAQKNIKAJqhFWwRgIECBAgAABAgQIECBAgACBlha4bffhuzm8kFI60tJAJk+AAAECBAgQIECAAAECBAgQmACBnHPV8HQmIubcVm57SunABJRXggABAgQIECBAgAABAgQIECBAYJIFNEFNMrDyBAgQIECAAAECBAgQIECAAIG/Ehj9+Ob83yg9mlKqPtBxESBAgAABAgQIECBAgAABAgQIFAjknOdGRHUS9+0NUFWlGxHRkVKq/p+LAAECBAgQIECAAAECBAgQIECggQU0QTXw4hgaAQIECBAgQIAAAQIECBAg0PwCOecLEbH8b2bqY5zm/ymYIQECBAgQIECAAAECBAgQIDBJAqMNUNUGM/d6B3M2pdQ5SY9XlgABAgQIECBAgAABAgQIECBAYIIENEFNEKQyBAgQIECAAAECBAgQIECAAIHxCuScd0fE62PMDUVEZ0rp+hjvdxsBAgQIECBAgAABAgQIECBAgEBE5JyPRETX32BsTykdAEaAAAECBAgQIECAAAECBAgQINC4ApqgGndtjIwAAQIECBAgQIAAAQIECBBoYoGc84KIqE6BmjOOaX6eUnpmHPe7lQABAgQIECBAgAABAgQIECDQ0gLj2ISmOol7gQ1oWvrnYvIECBAgQIAAAQIECBAgQIBAgwtogmrwBTI8AgQIECBAgAABAgQIECBAoDkFcs5nImJVwezeTiltK8iJECBAgAABAgQIECBAgAABAgRaSiDnvCkiPhjHpG1AMw4stxIgQIAAAQIECBAgQIAAAQIEplpAE9RUi3seWT/BkgAAIABJREFUAQIECBAgQIAAAQIECBAg0PICOeeqiWl/DYgXUkpHauRFCRAgQIAAAQIECBAgQIAAAQJNLZBz7oiIahOa8ZzCXZmsTSl91tQ4JkeAAAECBAgQIECAAAECBAgQmKECmqBm6MIZNgECBAgQIECAAAECBAgQIDAzBXLOCyLiQsEHOH+e8IqUUlXHRYAAAQIECBAgQIAAAQIECBAgcJtAznnu6PuXBwpgbkTEgpTS9YKsCAECBAgQIECAAAECBAgQIECAwCQKaIKaRFylCRAgQIAAAQIECBAgQIAAAQJ/Fsg5VzsJPz0BMtUHOR0ppSsTUEsJAgQIECBAgAABAgQIECBAgEDTCOScq41jlteY0GBKaVONvCgBAgQIECBAgAABAgQIECBAgMAkCGiCmgRUJQkQIECAAAECBAgQIECAAAECdxPIOT8TEScnUGcoIjrtTDyBokoRIECAAAECBAgQIECAAAECM1og53wkIromYBKPppTOTEAdJQgQIECAAAECBAgQIECAAAECBCZIQBPUBEEqQ4AAAQIECBAgQIAAAQIECBD4K4Gc89yIqE5tmjPBUnYmnmBQ5QgQIECAAAECBAgQIECAAIGZKZBz3hYR+ydo9L+MnsJ9fYLqKUOAAAECBAgQIECAAAECBAgQIFBTQBNUTUBxAgQIECBAgAABAgQIECBAgMBYBHLOn0XE02O5t+CeN1JKuwtyIgQIECBAgAABAgQIECBAgACBphCYhBO4K5e3U0pVY5WLAAECBAgQIECAAAECBAgQIECgAQQ0QTXAIhgCAQIECBAgQIAAAQIECBAg0NwCOefOiPh2kmf5QkrpyCQ/Q3kCBAgQIECAAAECBAgQIECAQMMJ5Jw7IuLMJJzAXc310ZRSVdtFgAABAgQIECBAgAABAgQIECAwzQKaoKZ5ATyeAAECBAgQIECAAAECBAgQaG6BnPPciLgQEQ9M8kxvRERnSql6losAAQIECBAgQIAAAQIECBAg0BICU/DuZSilVDVZuQgQIECAAAECBAgQIECAAAECBKZZQBPUNC+AxxMgQIAAAQIECBAgQIAAAQLNLZBzPhARr07RLKtGqAUppetT9DyPIUCAAAECBAgQIECAAAECBAhMq0DOudoQZvkkD+KNlNLuSX6G8gQIECBAgAABAgQIECBAgAABAn8joAnKT4QAAQIECBAgQIAAAQIECBAgMEkCOefOiPh2ksrfq+zQ6IlQGqGmGN7jCBAgQIAAAQIECBAgQIAAgakVyDkfiYiuKXrqCidwT5G0xxAgQIAAAQIECBAgQIAAAQIE7iGgCcpPgwABAgQIECBAgAABAgQIECAwSQI55ysR8cAklf+rsoMppU3T8FyPJECAAAECBAgQIECAAAECBAhMiUDOeVtE7J+Sh/3vQ4ZSSh1T+DyPIkCAAAECBAgQIECAAAECBAgQ+JOAJig/CQIECBAgQIAAAQIECBAgQIDAJAjknHdHxOslpX/86XIsXbywJHp7ZntK6UDdIvIECBAgQIAAAQIECBAgQIAAgUYTmKbTtysG71sa7cdgPAQIECBAgAABAgQIECBAgEBLCWiCaqnlNlkCBAgQIECAAAECBAgQIEBgKgRyztWuwOdLn9W5dn08/ODy6Nu5o7TEH7m1KaXP6haRJ0CAAAECBAgQIECAAAECBAg0isDoe5czETFnGsZ0IyI6UkrV6d8uAgQIECBAgAABAgQIECBAgACBKRbQBDXF4B5HgAABAgQIECBAgAABAgQINL9AzvlCRCwvmem7h4/GO4cHf4++tv2l6Hp2XUmZPzLVhzmdKaVqPC4CBAgQIECAAAECBAgQIECAwIwWyDnPjYiqAarovUs1+R/OD8XFS5frvHM5m1LqnNGQBk+AAAECBAgQIECAAAECBAgQmKECmqBm6MIZNgECBAgQIECAAAECBAgQINCYAjnn3RHxesnofvzpcjy1Yct/RQ/u2xOPPbKypNwfmV9Gdyi+XqeILAECBAgQIECAAAECBAgQIEBgugVyzlUD1KrScVy99lusGX33curYoZg/777SUttTSgdKw3IECBAgQIAAAQIECBAgQIAAAQJlApqgytykCBAgQIAAAQIECBAgQIAAAQJ3COScF0REderSnBKeNRtfjIuXfv6v6Oz2tjg+0B9LFy8sKflHZiil1FGngCwBAgQIECBAgAABAgQIECBAYDoFcs5HIqKrdAzDI7difXfPf969PPzg8vhwoL+0XHX69oKUkk1nSgXlCBAgQIAAAQIECBAgQIAAAQIFApqgCtBECBAgQIAAAQIECBAgQIAAAQJ3E6izG/HgJyfizf3v3RV22ZJFvzdCtbfNqgM/mFLaVKeALAECBAgQIECAAAECBAgQIEBgOgRyztU7jQ/qPLu7d1d8ffbcf5Xo29kb61Y/UVr285TSM6VhOQIECBAgQIAAAQIECBAgQIAAgfELaIIav5kEAQIECBAgQIAAAQIECBAgQOAOgZzztojYX0Jz9dpvsWbDlrg5PHLPeM3dif+ouz2ldKBkjDIECBAgQIAAAQIECBAgQIAAgekQyDl3RsS3dZ791oGBOPLxp3eUqE7gPnPyozobz6xNKX1WZ2yyBAgQIECAAAECBAgQIECAAAECYxfQBDV2K3cSIECAAAECBAgQIECAAAECBO4qkHNeEBEXImJOCdHz3T3x/b+H/ja6bvWT0bdzx9/e9zc3PJpSOlO3iDwBAgQIECBAgAABAgQIECBAYLIFcs4dEVG9xyh651KN78Tpr6J3b989h/r4qpUx0LendCo3ImJBSul6aQE5AgQIECBAgAABAgQIECBAgACBsQtoghq7lTsJECBAgAABAgQIECBAgAABAncVyDlXO/4+XcIz+MmJeHP/e2OO9u3sjXWrnxjz/Xe5sfo4pzOlVDVtuQgQIECAAAECBAgQIECAAAECDSmQc5472gC1vHSAP/50OZ7asOVv4wf37YnHHln5t/fd44bBlNKm0rAcAQIECBAgQIAAAQIECBAgQIDA2AU0QY3dyp0ECBAgQIAAAQIECBAgQIAAgTsEcs7PRMTJEprhkVvRufa5uDk8Mq748YP98dCK4u9/qmdVx05VjVB2KR6XvJsJECBAgAABAgQIECBAgACBqRLIOVcnQK0qfd7Va7/Fmg1bxvTeZXZ7W5w5+VG0t80qfZyTt0vl5AgQIECAAAECBAgQIECAAAEC4xDQBDUOLLcSIECAAAECBAgQIECAAAECBG4XGN2R+EpEzCmR6e7dFV+fPTfuaPVhzvGB/li6eOG4s7cFzqaUOusUkCVAgAABAgQIECBAgAABAgQITIZAzvlARLxaWrvaeGZ9d09cvPTzmEusW/1k9O3cMeb7/3TjLxHRYcOZUj45AgQIECBAgAABAgQIECBAgMDYBDRBjc3JXQQIECBAgAABAgQIECBAgACBOwRyzkcioquE5pvvzsXWHbtKor9nli1Z9HsjVI0diqsygymlTcWDECRAgAABAgQIECBAgAABAgQITLBAzrl6V/FBnbKlG8/UPH377ZTStjrjliVAgAABAgQIECBAgAABAgQIEPhrAU1QfiEECBAgQIAAAQIECBAgQIAAgQKBnHN1itK3BdGodiPuXPtc3BweKYn/J/P4qpUx0LenVo2IeCGlVDVzuQgQIECAAAECBAgQIECAAAEC0yqQc+6IiPN1BvHWgYE48vGnRSXm3z8vvjh2qM6mM4+mlM4UPVyIAAECBAgQIECAAAECBAgQIEDgbwU0Qf0tkRsIECBAgAABAgQIECBAgAABAv8tkHOeGxEXIuKBEpvevfvixOkvS6J3ZDb98x/xr23ddWv5QKeuoDwBAgQIECBAgAABAgQIECBQSyDnvGD0fcuc0kInTn8VvXv7SuO/52q+axlKKVWNXC4CBAgQIECAAAECBAgQIECAAIFJENAENQmoShIgQIAAAQIECBAgQIAAAQLNLZBzPhARr5bM8ofzQ7F+a09J9J6Zvp29sW71E3Vq3oiIjpTSlTpFZAkQIECAAAECBAgQIECAAAECJQKjG85UJygtL8lXmR9/uhzru3tqn7xd1Tp+sD8eWlE8lDdSSrtL5yFHgAABAgQIECBAgAABAgQIECBwbwFNUH4dBAgQIECAAAECBAgQIECAAIFxCOScOyPi23FE/nPr8MiteGrDlrj667WS+F9mvjh2KJYuXlin7lBEdKaUrtcpIkuAAAECBAgQIECAAAECBAgQGK9AzvmziHh6vLk/7q/euXSufW5CGqCqmsuWLIpTR98vHU6VW5FSqk4RdxEgQIAAAQIECBAgQIAAAQIECEyggCaoCcRUigABAgQIECBAgAABAgQIEGh+gZxz9QFL0VbAbx0YiCMffzopSLPb2+LUsUMxf959dep/nlJ6pk4BWQIECBAgQIAAAQIECBAgQIDAeATqnLhdPadqgKpOgLp46efxPPZv731lc1e8vHnj3953jxuGUkodpWE5AgQIECBAgAABAgQIECBAgACBuwtogvLLIECAAAECBAgQIECAAAECBAiMUSDnvDsiXh/j7f912w/nh2L91p6S6Jgz1S7Fxwf6o71t1pgzd7nx7ZTStjoFZAkQIECAAAECBAgQIECAAAECYxHIOW+KiA/Gcu+97unduy9OnP6yTol7ZmuevL09pXRgUgamKAECBAgQIECAAAECBAgQIECgRQU0QbXowps2AQIECBAgQIAAAQIECBAgMD6BnHO1e+/58aX+7+41G1+c8B2J7zaWx1etjIG+PaXD/CP3QkrpSN0i8gQIECBAgAABAgQIECBAgACBewnUfddS1X338NF45/DgpCFXG86cOvp+af0bEdGRUrpSWkCOAAECBAgQIECAAAECBAgQIEDgvwU0QflFECBAgAABAgQIECBAgAABAgTGIJBzvhARy8dw6x23TPYHOX9+4Cubu+LlzRtLhnp7ZkVKqZqziwABAgQIECBAgAABAgQIECAwoQI55wURUb13mFNa+MTpr6J3b19pfMy517a/FF3Prhvz/X+68WxKqbM0LEeAAAECBAgQIECAAAECBAgQIPDfApqg/CIIECBAgAABAgQIECBAgAABAn8jkHPeFhH7S6B+/OlyPLVhS0m0VqZvZ2+sW/1EnRp2K66jJ0uAAAECBAgQIECAAAECBAjcVSDnPDcizpRuNlMVrd63rO/uiZvDI5OuPLu9LU4dOxTz591X+qztKaUDpWE5AgQIECBAgAABAgQIECBAgACB/xPQBOXXQIAAAQIECBAgQIAAAQIECBD4C4G6OxOv2fhiXLz085QbVx/oHB/oj6WLF9Z59lBEdKaUrtcpIkuAAAECBAgQIECAAAECBAgQ+EMg5/xZRDxdKjI8cis61z43JQ1Qf4zx4QeXx4cD/aVDrjaaWeD9SimfHAECBAgQIECAAAECBAgQIEDg/wQ0Qfk1ECBAgAABAgQIECBAgAABAgT+QiDnXO1MvKoEafCTE/Hm/vdKohOSqRqhzpz8KNrbZtWpN5hS2lSngCwBAgQIECBAgAABAgQIECBAoBLIOe+OiNdLNaoGqOoEqOnYcOa17S9F17PrSof+eUrpmdKwHAECBAgQIECAAAECBAgQIECAwP8KaILySyBAgAABAgQIECBAgAABAgQI3EMg57wtIvaXAF299lus2bBlSnclvts4ly1Z9PuJUDUbod5IKVUfKbkIECBAgAABAgQIECBAgAABAkUCOedqk5UPisKjod69++LE6S/rlCjOTsBmM2tTStUpWC4CBAgQIECAAAECBAgQIECAAIFCAU1QhXBiBAgQIECAAAECBAgQIECAQHML5JznRsSViJhTMtPnu3vi+38PlUQnPLNu9ZPRt3NH3bovpJSO1C0iT4AAAQIECBAgQIAAAQIECLSeQM65IyKq07aL3rNUYtN94nY1hsdXrYyBvj2lC3gjIhaklK6XFpAjQIAAAQIECBAgQIAAAQIECLS6gCaoVv8FmD8BAgQIECBAgAABAgQIECBwV4Gcc7Uz79MlPI3wUc6fx/3K5q54efPGkun8kak+1OlMKV2oU0SWAAECBAgQIECAAAECBAgQaC2BuhvNVFrffHcutu7Y1RBwB/fticceWVk6lsGUUnUilosAAQIECBAgQIAAAQIECBAgQKBAQBNUAZoIAQIECBAgQIAAAQIECBAg0NwCOednIuJkySyHR25F59rn4ubwSEl8UjM1P9KpxmbH4kldIcUJECBAgAABAgQIECBAgEBzCYw2QFUnQC0vndmPP12O9d09DfOuZXZ7W5w5+VG0t80qndKjKaXKxEWAAAECBAgQIECAAAECBAgQIDBOAU1Q4wRzOwECBAgQIECAAAECBAgQINDcAnV3J+7u3RVfnz3XkEjVRzrHB/pj6eKFdcY3NHoi1PU6RWQJECBAgAABAgQIECBAgACB5hfIOR+JiK7SmVabzTy1YUtc/fVaaYlJya1b/WT07dxRWvuXiOhIKXm3UiooR4AAAQIECBAgQIAAAQIECLSsgCaoll16EydAgAABAgQIECBAgAABAgTuJlDn45xvvjsXW3fsamjY+ffPiy+OHaqzW3E1v8GU0qaGnqjBESBAgAABAgQIECBAgAABAtMqkHPeHRGv1xnEmo0vxsVLP9cpMWnZ4wf746EVxQdcvZ1S2jZpg1OYAAECBAgQIECAAAECBAgQINCkApqgmnRhTYsAAQIECBAgQIAAAQIECBAYv0DOuTMivh1/MqLambhz7XNxc3ikJD6lmWVLFsWpo+/Xfeb2lNKBukXkCRAgQIAAAQIECBAgQIAAgeYTyDlXm6d8UGdmvXv3xYnTX9YpManZCdho5tGU0plJHaTiBAgQIECAAAECBAgQIECAAIEmE9AE1WQLajoECBAgQIAAAQIECBAgQIBAmUDOeW5EXIiIB0oqNPqHOX+e07rVT0bfzh0lU709szal9FndIvIECBAgQIAAAQIECBAgQIBA8wjknDsiomrumVM6q8FPTsSb+98rjU9ZbtM//xH/2tZd+rxfUkoLSsNyBAgQIECAAAECBAgQIECAAIFWFNAE1Yqrbs4ECBAgQIAAAQIECBAgQIDAHQI55+pUo1dLaH44PxTrt/aURKc189r2l6Lr2XV1xnAjIjpTSlXzmIsAAQIECBAgQIAAAQIECBBocYHRTWau1GmA+ua7c7F1x64ZI3n8YH88tGJ56XjfSCntLg3LESBAgAABAgQIECBAgAABAgRaTUATVKutuPkSIECAAAECBAgQIECAAAECdwjknDsj4tsSmuGRW/HUhi1x9ddrJfFpzxzctycee2RlnXH8EhEdKaXrdYrIEiBAgAABAgQIECBAgAABAjNfIOdcbZRS3BH040+XY313T9wcHpkxGMuWLIpTR9+vM94VNpipwydLgAABAgQIECBAgAABAgQItJKAJqhWWm1zJUCAAAECBAgQIECAAAECBO4qUOcDnbcODMSRjz+dsbKz29vi+EB/LF28sM4chlJKHXUKyBIgQIAAAQIECBAgQIAAAQIzWyDnfCQiukpnMZM3mnllc1e8vHlj6dS9VymVkyNAgAABAgQIECBAgAABAgRaTkATVMstuQkTIECAAAECBAgQIECAAAECtwvknHdHxOslKtXuxNUpUDP9qnYsrhqh2ttm1ZnKYEppU50CsgQIECBAgAABAgQIECBAgMDMFMg5b4uI/XVG/3x3T3z/76E6JaY1+8WxQ3U2mXkjpVS9o3IRIECAAAECBAgQIECAAAECBAj8hYAmKD8PAgQIECBAgAABAgQIECBAoGUFcs7V6UXnSwHWbHwxLl76uTTeULmHH1weHw701x3T9pTSgbpF5AkQIECAAAECBAgQIECAAIGZI5BzfiYiTtYZce/efXHi9Jd1Skx7ttpk5tTR90vHcSMiOlJKV0oLyBEgQIAAAQIECBAgQIAAAQIEWkFAE1QrrLI5EiBAgAABAgQIECBAgAABAncVyDlfiIjlJTzvHj4a7xweLIk2bGbd6iejb+eOuuN7NKV0pm4ReQIECBAgQIAAAQIECBAgQKDxBUY3mKneA8wpHe2J019F796+0nhD5V7b/lJ0PbuudExnU0qdpWE5AgQIECBAgAABAgQIECBAgEArCGiCaoVVNkcCBAgQIECAAAECBAgQIEDgDoGc87aI2F9C8+NPl+OpDVtKog2f6dvZG+tWP1FnnNXOxZ0pparBzEWAAAECBAgQIECAAAECBAg0qUDOeW5EVH//P1A6xR/OD8X6rT2l8YbLzW5vi1PHDsX8efeVjs0p26VycgQIECBAgAABAgQIECBAgEBLCGiCaollNkkCBAgQIECAAAECBAgQIEDgdoGc84LRj3SKdil+vrsnvv/3UNOiHj/YHw+tKDog6w+TCqdqhLretEgmRoAAAQIECBAgQIAAAQIEWlygzgnbFV21ycz67p64OTzSVJIPP7g8PhzoL51TtblMR0rpSmkBOQIECBAgQIAAAQIECBAgQIBAMwtogmrm1TU3AgQIECBAgAABAgQIECBA4K4COeczEbGqhGfwkxPx5v73SqIzJlPtWnx8oD+WLl5YZ8xnU0qddQrIEiBAgAABAgQIECBAgAABAo0pkHM+EhFdpaMbHrn1ewPUxUs/l5Zo6Nxr21+KrmfXlY7x85TSM6VhOQIECBAgQIAAAQIECBAgQIBAMwtogmrm1TU3AgQIECBAgAABAgQIECBA4A6BnPOmiPighObqtd9izYYtTbdD8d0sli1Z9HsjVHvbrBKqPzKDKaXK20WAAAECBAgQIECAAAECBAg0iUDOeVtE7K8znWY/ZbvaYObMyY/qvFdZm1L6rI6xLAECBAgQIECAAAECBAgQIECgGQU0QTXjqpoTAQIECBAgQIAAAQIECBAgcFeBnPPciLgSEXNKiJr9A50/mzy+amUM9O0pobo980JKqdod2kWAAAECBAgQIECAAAECBAjMcIGcc3VC0ck60+jduy9OnP6yTokZka35XuVGRCxIKV2fEZM1SAIECBAgQIAAAQIECBAgQIDAFAlogpoiaI8hQIAAAQIECBAgQIAAAQIEpl8g51ztoPt0yUhOnP4qevf2lURndGbTP/8R/9rWXXcOj6aUztQtIk+AAAECBAgQIECAAAECBAhMn0DOuSMiqr/vizaXqUbeau9XDu7bE489srJ00T5PKVVNZy4CBAgQIECAAAECBAgQIECAAIFRAU1QfgoECBAgQIAAAQIECBAgQIBASwjU2al4eORWdK59Lm4Oj7SE1Z8n2bezN9atfqLO3KvdiztSStUpXC4CBAgQIECAAAECBAgQIEBghgmMnq5dNUAtLx36D+eHYv3WntL4jMzNbm+LMyc/iva2WaXjt7FMqZwcAQIECBAgQIAAAQIECBAg0JQCmqCacllNigABAgQIECBAgAABAgQIELhdYPRDnaoBp2in4u7eXfH12XMtjfrFsUOxdPHCOgZDEdGZUrpep4gsAQIECBAgQIAAAQIECBAgMPUCOeeqAWpV6ZOvXvst1mzY0pIbzKxb/WT07dxRSvfL6MYy3qeUCsoRIECAAAECBAgQIECAAAECTSWgCaqpltNkCBAgQIAAAQIECBAgQIAAgbsJ5JwPRMSrJTrffHcutu7YVRJtqky1c/GpY4di/rz76szr85TSM3UKyBIgQIAAAQIECBAgQIAAAQJTK5BzPhIRXaVPrU7YXt/dExcv/VxaYsbnjh/sj4dWFB+i9XZKaduMRzABAgQIECBAgAABAgQIECBAgMAECGiCmgBEJQgQIECAAAECBAgQIECAAIHGFcg5d0bEtyUjrD7S6Vz7XEvuUnw3r2VLFsXxgf5ob5tVwvlHxoc7dfRkCRAgQIAAAQIECBAgQIDAFArknDdFxAd1HumE7Yj598+L6pTtGu9UHk0pVadxuQgQIECAAAECBAgQIECAAAECLS2gCaqll9/kCRAgQIAAAQIECBAgQIBAcwvknOdGxIWIeKBkpm8dGIgjH39aEm3azOOrVsZA356683shpVTtIu0iQIAA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wydLgAABAgQIECBAgAABAgQINKKAJqhGXBVjIkCAAAECBAgQIECAAAECBO4qkHOuGl+KtsB99/DReOfwINkGEKi5k3E1g6HRRqjrDTAdQyBAgAABAgQIECBAgAABAg0nMNoAVZ0AVfQepZrQjz9djvXdPXFzeKTh5tcqA3plc1e8vHlj6XSHUkrVSWAuAgQIECBAgAABAgQIECBAgEDTCGiCapqlNBECBAgQIECAAAECBAgQINDcAjnn3RHxesksq492qlOgXI0hMLu9LY4P9MfSxQvrDOhsSqmzTgFZAgQIECBAgAABAgQIECDQrAI55yMR0VU6Pydql8pNfO6LY4fqvEN5I6VUvVNzESBAgAABAgQIECBAgAABAgSaQkATVFMso0kQIECAAAECBAgQIECAAIHmFsg5L4iI/ymd5ZqNL8bFSz+XxuUmQWDZkkW/N0K1t82qU30wpbSpTgFZAgQIECBAgAABAgQIECDQbAJ1NpL5w8K7lMb5VVTvUE4dfb90QDcioiOldKW0gBwBAgQIECBAgAABAgQIECBAoJEENEE10moYCwECBAgQIECAAAECBAgQIHBXgZzzmYhYVcLz7uGj8c7hwZKozCQLPL5qZQz07an7lBdSStXu1i4CBAgQIECAAAECBAgQINDyAjnnarOQD+pA9O7dFydOf1mnhOwEC7yyuSte3ryxtKrTtEvl5AgQIECAAAECBAgQIECAAIGGE9AE1XBLYkAECBAgQIAAAQIECBAgQIDA7QI5520Rsb9E5eq136LzmedKojJTJLDpn/+If23rrvu0R1NKVaOciwABAgQIECBAgAABAgQItKxAzrkjIqq/j+eUIgx+ciLe3P9eaVxukgRmt7fFqWOHYv68+0qfsD2ldKA0LEeAAAECBAgQIECAAAECBAgQaBQBTVCNshLGQYAAAQIECBAgQIAAAQIECNwhkHNeEBEXSj/eeb67J77/9xDZBhfo29kb61Y/UWeUNyKiI6V0pU4RWQIECBAgQIAAAQIECBAgMFMFcs5zI6L6u7i4Aeqb787F1h27ZipB04/74QeXx4cD/aXz9O6kVE6OAAECBAgQIECAAAECBAgQaCgBTVANtRwGQ4AAAQIECBAgQIAAAQIECNwukHOudi9eVaJi5+IStenLfHHsUCxdvLDOAKput86U0vU6RWQJECBAgAABAgQI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bbbxQR2N3r374sTpL+uUkG1hgeMH++OhFctLBd5IKVXv/FwECBAgQIAAAQIECBAgQIAAgWkR0AQ1LeweSoAAAQIECBAgQIAAAQIEmlsg59wREedLZ9m5dn1c/fVaaVyOwH8Eau5w/EedR1NKZ7ASIECAAAECBAgQIECAAIE6AnXfl1TPfvfw0Xjn8GCdYci2uMD8++fFmZPH6yisSCldqFNAlgABAgQIECBAgAABAgQIECBQKqAJqlROjgABAgQIECBAgAABAgQIELinQM65+hCiaEtZH/P4YU20QN/O3li3+ok6ZW9ERKcPfOoQyhIgQIAAAQIECBAgQKC1BXLOCyKiel8yp1TixOmvondvX2lcjsB/BF7Z3BUvb95YKjKUUqo2QHIRIECAAAECBAgQIECAAAECBKZcQBPUlJN7IAECBAgQIECAAAECBAgQaG6BnPPuiHi9ZJY//nQ5ntqwpSQqQ+AvBb44diiWLl5YR2lotBHqep0isgQIECBAgAABAgQIECDQegI557kRUZ0wXLRhTCVWvTNZ390TN4dHWg/QjCdFoOa7kjdSStU7QBcBAgQIECBAgAABAgQIECBAYEoFNEFNKbeHESBAgAABAgQIECBAgACB5haou6vxmo0vxsVLPzc3ktlNi8Ds9rY4dexQzJ93X53nf55SeqZOAVkCBAgQIECAAAECBAgQaD2BnPNnEfF06cyHR25F59rnNECVAsrdVWDZkkVx6uj7dXT+X0rpSp0CsgQIECBAgAABAgQIECBAgACB8QpoghqvmPsJECBAgAABAgQIECBAgACBewrknKtdjVeVEL17+Gi8c3iwJCpDYEwC1cc9xwf6o71t1pjuv8dNb6eUttUpIEuAAAECBAgQIECAAAECrSNQ58TsSqlqgKpOgLJpTOv8ZqZypq9s7oqXN28sfeTZlFJnaViOAAECBAgQIECAAAECBAgQIFAioAmqRE2GAAECBAgQIECAAAECBAgQuEMg51w1huwvobl67bdYs2GLHY1L8GTGJfD4qpUx0LdnXJm73PxCSulI3SLyBAgQIECAAAECBAgQINDcAjnnTRHxQZ1Z9u7dFydOf1mnhCyBvxQ489lHdU7O3p5SOoCYAAECBAgQIECAAAECBAgQIDBVApqgpkracwgQIECAAAECBAgQIECAQBML5JwXRMSFiJhTMs3nu3vi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tPnekaFYua6nJCpDgMAUEei86454qLur7mgWp5SqYkoXAQIECBAgQIAAAQIEpqRAznlZROyvM7jezVti38HX6zQhS4DAJAls2/J43PSrG0p7dxJ2qZwcAQIECBAgQIAAAQIECBCY4gKKoKb4AzI8AgQIECBAgAABAgQIECDwbYGc86KIOFKiMjxyNm5dtTZOfHayJC5DgMAUEujb2Bsrlt5cZ0TVrsiLUkrH6zQiS4AAAQIECBAgQIAAgUYIjL7/OBQRs0rb33fwjejd3FcalyNAYJIFZra3xaH9L0R724zSkdyYUqp+jrgIECBAgAABAgQIECBAgACBJhJQBNVED9NUCBAgQIAAAQIECBAgQKD5BXLO1cktC0tm+uTAYOx88eWSqAwBAlNMoFoItHewPxZcdUWdkQ1FREdK6VSdRmQJECBAgAABAgQIECAwngI559kRUb3/mFfarpOwS+XkCEwtgZqnYX86ugGM9x5T67EaDQECBAgQIECAAAECBAgQqCWgCKoWnzABAgQIECBAgAABAgQIEJg4gZzzpoh4tKTHYx99cu4UKBcBAs0jMA47IlcYr6SUljWPipkQIECAAAECBAgQIDDdBXLO1cktS0rnUb0DWdnVE2eGR0qbkCNAYAoJ7N3WH9ctLtoTqprFUyml7ik0HUMhQIAAAQIECBAgQIAAAQIEagoogqoJKE6AAAECBAgQIECAAAECBCZCIOe8KCKOlPZ12+r74+iHH5fG5QgQmKIC11x95bkTodrbZtQZ4WMpparI0kWAAAECBAgQIECAAIFJFcg574yINaWDGB45e64AyjuQUkE5AlNPYO7lc+K1PdvrvPtYnFKqTpdzESBAgAABAgQIECBAgAABAk0goAiqCR6iKRAgQIAAAQIECBAgQIBA8wvU2QX5mR274+kdu5ofyQwJtKjAiqW3RN/GDXVnf29KqVps6CJAgAABAgQIECBAgMCkCOScOyPiuTqdd/U+Er8//E6dJmQJEJiCAp133REPdXeVjmwopVRtMOUiQIAAAQIECBAgQIAAAQIEmkBAEVQTPERTIECAAAECBAgQIECAAIHmFsg5d0fE1pJZHvvok7h11dqSqAwBAtNI4Lf3rYnf3Le6zohPR0SHnZHrEMoSIECAgVckAgAAIABJREFUAAECBAgQIFAqkHPuiIi3SvNV7smBwdj54st1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Dw4EEEAAAQQQQAABBBBAAAEEAhdgCCpwYhZAAAEEEEAAAQQQQAABBApbwFpbLcndNOZpp4IH123Qm2+5B3FzIIAAAgggULwC9ddfq93btypWVekHYZsxxu0exBExgdSN2+1ed9VMt91tXUNqPTKo/mGbbkikz5va+45qjuxS+d/cg8k5ECgMgeS823Tma/drtGpmYTR0hS7m10xW4taYllxdGmSvZyUluGk3SOLgc6c+l3A7e3m+c7vnveNauW4DD2gJ/nKxAgIIIIBASAVmXzVLbqdqH59L3GiMORbS9igLAQQQQAABBBBAAAEEEECggAQYgiqgi0krCCCAAAIIIIAAAggggEA+BKy1eyXd42Xt115/Q2sffcxLKDEIIIAAAggUnMA3lyzW9rYn/Pb1kDHGDdNwREAgddO2e1r2+iDL7fxwVPGDSR3ruxDkMqHJXTpwWjVHd6nyg6OhqYlCEMimwFhphfrrl6q//lsaK6vIZupQ5mqumzI+DDW9LNCvNd20ZNwY4/6+5YiYgJ/PJVyryYFBNd77AANQEbvulIsAAgggkH2BHzzcpO8/vNpr4i5jzHyvwcQhgAACCCCAAAIIIIAAAgggkK5AoN8WpFsE5yGAAAIIIIAAAggggAACCERTwFq7XNILXqrnJiMvasQggAACCBS6QPN37tMP4+v8tsnTl/0K5iDeWut27XIDUJ5200ynxJPJi4ofGtDePw2nc3rkzykZGVJ1928044/PR74XGkAgHYELlTU603C/zs1bks7pkT6nutwo3lChxxf62jExHYNOSc3GGLfbMUcEBKy1CT/DxO6zCbcDVPe770egW0pEAAEEEEAgeAG3G1TddfO8LrSJHTa90hGHAAIIIIAAAggggAACCCCQrgBDUOlKcR4CCCCAAAIIIIAAAggggMBnBFI7FxyTNMcLzbqWx/Tbzje8hBKDAAIIIIBAQQu0bWzRimV3+OnxrKT53MDthzC4WGttoyR3w3ZDUKucHbFKdA2N/+sftkEtE6q80453qubILpWMDoWqLopBIBcC52vr1begScMzPP1plosSs7bG3Ngktd8+TUuuLs1azssk2uT+X22M6Q96IfJ7F7DWNkt62nsGqWXzFu3Z94qfFMQigAACCCBQUAL111+rl3b9wk9PX+HzCD98xCKAAAIIIIAAAggggAACCEwkwBDUREL8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hKAqQLclAQIECBAgQIAAAQIECJQmEMNB28fuCHFCUvza1TyBGPSKU5/muqdMfWre8amYAAECBAgQIECAAAECQxUQghoqb4sWz/66e/D7H2tRw1olQIAAAQIECAwsIAQ1MJ0HCRAgQIAAgZQE1m+Z+loWwmdT6qkpvQhBNeWk1EmAAAECBAgQIECAAAECyxWIQag4HWps/chyl/L8kAXeuHCxN+Eq/okhKBcBAgQIECBAgAABAgQIEHg3ASEo70UhAtmKbd3ZZ2cKWcsiBAgQIECAAIHEBYSgEj9g7REgQIAAAQL9CWycmBy9lK842d/d7ipSQAiqSE1rESBAgAABAgQIECBAgEATBOJEqBiIihOiTIeq14kdPXX6rfBTvSpTDQECBAgQIECAAAECBAjUUUAIqo6n0rCa8vBc99D0ZMOqVi4BAgQIECBAoDIBIajK6G1MgAABAgQI1E1gw8S23XmePVS3ulKvRwgq9RPWHwECBAgQIECAAAECBAi8n8Bdt9361nSoG1ZeD6sCgTPnzof9hxd64af4tYsAAQIECBAgQIAAAQIECPQrIATVr5T73ksgz7MHThz6/ncIESBAgAABAgQI9CcgBNWfk7sIECBAgACBFgiYBlXNIQtBVeNuVwIECBAgQIAAAQIECBCol0AMQI131vSmQ61dvapexSVazfyJxV7waa67mGiH2iJAgAABAgQIECBAgACBYQsIQQ1bOPn1X+4enB5NvksNEiBAgAABAgQKFBCCKhDTUgQIECBAgEDzBTpbfuE7IeQfbX4nzelACKo5Z6VSAgQIECBAgAABAgQIEChHIIag7t20rvfHdKhizeOkp73zx3rhpzcuXCx2casRIECAAAECBAgQIECAQOsEhKBad+SFNpxl4VPHZ6d3F7qoxQgQIECAAAECiQsIQSV+wNojQIAAAQIElibQmbh/MuSX9y3tKXcvR0AIajl6niVAgAABAgQIECBAgACB1AWuhqE2rlmdeqtD6y+GneLUpz1zL4VXTp8d2j4WJkCAAAECBAgQIECAAIH2CQhBte/MC+zYFKgCMS1FgAABAgQItEdACKo9Z61TAgQIECBAoE+BzuapmZCF+/q83W3LFBCCWiagxwkQIECAAAECBAgQIECgFQK33HTjm9OhRkP82nVtgRh4ilOf5rqnTH26Npc7CBAgQIAAAQIECBAg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QIAAAQIECCxBYMPE1M48D08u4RG3XkNACMorQoAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJNFBCCauKplVazKVClUduIAAECBAgQaJOAEFSbTluvBAgQIECAQCECpkEVwvjWIkJQxXpajQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTKERCCKse5ibtkWf7U8dl9O5tYu5oJECBAgAABAnUWEIKq8+mojQABAgQIEKilQGfL1CMhhD+uZXENLEoIqoGHpmQCBAgQIECAAAECBAgQIECAAAECBAgQIEDg/2fv/mLzus87wT+HpkxbtizaY8OZNIiohsrKyYWYLGLxIoUoxrsuMBd2ZwFjgUxheoF2F92LagrsFvC0sIwpAnQvtsrNAm2BNb1B9yJYtHKBAeqBQ1FIsKCUTUJdNNZETEQZk04CGw0V/xMt+j2LQ8uS3le0xJfv+f9+CPjC9jnP7/l9ntPCVfXVQ4AAAQIECIQQlI/gkwRGk87+80uLq4QIECBAgAABAgTyFRCCytdTNQIECBAgQGAIBCamZsZHx0ayX6jaOwTXLfyKQlCFEzuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoQEIIqALUFJW2BasEQXYEAAQIECBCorYAQVG1HozECBAgQIECgzgKT07PHI40X6txjU3oTgmrKpPRJgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAjcLCEH5HrYSSDqdL134/uIyHQIECBAgQIAAgfwFhKDyN1WRAAECBAgQGAIB26DyG7IQVH6WKhEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAeQJCUOVZN+akNE6vnF2YaUy/GiVAgAABAgQINExACKphA9MuAQIECBAgUB+BA9NH59M0ebY+HTWzEyGoZs5N1wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBh2ASGoYf8Ctrh/MnJ0Zem1RTIECBAgQIAAAQLFCAhBFeOqKgECBAgQIDAEAgenZyY20pGLQ3DVQq8oBFUor+IECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUJCAEFRBsM0te27lzMJUc9vXOQECBAgQIECg/gJCUPWfkQ4JECBAgACBGgvYBjX4cISgBjdUgQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTKFxCCKt+8zicmSTx3YWlhvs496o0AAQIECBAg0HQBIaimT1D/BAgQIECAQKUCB74yM5WOjPyo0iYafrgQVMMHqH0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMqYAQ1JAOfutrX1o5szBBhAABAgQIECBAoFgBIahifVUnQIAAAQIEhkBg8vHZxUjiyBBctZArCkEVwqooAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBQsIARVMHCDytsC1aBhaZUAAQIECBBotIAQVKPHp3kCBAgQIECgDgKT00/MRNo5VYdemtiDEFQTp6ZnAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBCC8g1cE7i8sd6ZWF1eXCNCgAABAgQIECBQrIAQVLG+qhMgQIAAAQJDIjB5eHY5Ig4NyXVzvaYQVK6cihEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBASQJCUCVB1/2YJF5cWVo4Xvc29UeAAAECBAgQaIOAEFQbpugOBAgQIECAQOUCB6Zn59I0Xqq8kQY2IATVwKFpmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgRCCMpHEBG2QPkMCBAgQIAAAQIlCghBlYjtKAIECBAgQKDdApOHZ1cjYl+7b5n/7YSg8jdVkQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSKFxCCKt647iekEd/86ZmFY3XvU38ECBAgQIAAgbYICEG1ZZLuQYAAAQIECFQuYBvUzkYgBLUzN28RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQLUCQlDV+tfh9NGks//80mL2h+b6IUCAAAECBAgQKEFACKoEZEcQIECAAAECwyMweXh2LSL2Ds+NB7+pENTghioQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQPkCQlDlm9fpxCRJX76wdGquTj3phQABAgQIECDQdgEhqLZP2P0IECBAgACBUgUmp2ePRxovlHpoww8Tgmr4ALVPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBIRUQghrSwV+7ti1Qwz1/tydAgAABAgSqERCCqsbdqQQIECBAgEBLBSamZsZHx0ayNee2QW1zxkJQ24TyGAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAjUSkAIqlbjKLeZNE6vnF2YKfdQpxEgQIAAAQIECAhB+QYIECBAgAABAjkLfO7w7Ikk4g9zLtvackJQrR2tixEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBDpL1CqAAAgAElEQVQgQKDVAkJQrR7v7S+XjBxdWXptcYgFXJ0AAQIECBAgUImAEFQl7A4lQIAAAQIE2ixwcHpmYiMdudjmO+Z5NyGoPDXVIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGyBISgypKu2Tm2QNVsINohQIAAAQIEhklACGqYpu2uBAgQIECAQGkCB6aPzqdp8mxpBzb4ICGoBg9P6wQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBhiASGo4Rx+ksRzF5YW5ofz9m5NgAABAgQIEKhWQAiqWn+nEyBAgAABAi0VsA1q+4MVgtq+lScJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoD4CQlD1mUWJnVxaObMwUeJ5jiJAgAABAgQIELhJQAjK50CAAAECBAgQKEhg8vHZxUjiSEHlW1NWCKo1o3QRAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIDJWAENRQjXvzsrZADd/M3ZgAAQIECBCol4AQVL3moRsCBAgQIECgRQKT00/MRNo51aIrFXIVIahCWBUlQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgYIFhKAKBq5f+csrZxbG69eWjggQIECAAAECwyMgBDU8s3ZTAgQIECBAoAIB26DujC4EdWcjTxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA/QSEoOo3k0I7SuLFlaWF44WeoTgBAgQIECBAgMBtBYSgfCAECBAgQIAAgQIFDkzPzqVpvFTgEY0vLQTV+BG6AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBIZSQAhqqMZ+eWO9M7G6vLg2VLd2WQIECBAgQIBAzQSEoGo2EO0QIECAAAEC7ROYPDy7GhH72nezfG4kBJWPoyoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUK6AEFS53pWeZgtUpfwOJ0CAAAECBAh8LCAE5VsgQIAAAQIECBQsYBvU7YGFoAr+AJUnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUIEhKAKYa1l0dGks//80mL2h+D6IUCAAAECBAgQqFBACKpCfEcTIECAAAECwyNgG9Qnz1oIanj+58BNCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0CYBIag2TfOT75Ik6csXlk7NDcdt3ZIAAQIECBAgUG8BIah6z0d3BAgQIECAQEsEJqdnj0caL7TkOrleQwgqV07FCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAkASGokqArPsYWqIoH4HgCBAgQIECAwE0CQlA+BwIECBAgQIBACQITUzPjo2Mj2Vr0vSUc16gjhKAaNS7NEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMA1ASGoYfgUkldWznzn6WG4qTsSIECAAAECBJogIATVhCnpkQABAgQIEGiFgG1QW49RCKoVn7dLECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYOgEhKCGYOTJyNGVpdcWh+CmrkiAAAECBAgQaISAEFQjxqRJAgQIECBAoA0CB6dnJjbSkYttuEuedxCCylNTLQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoS0AIqizpis5J4/TK2YWZik53LAECBAgQIECAwBYCQlA+CwIECBAgQIBAiQIHpo/Op2nybIlH1v4oIajaj0iDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILCFgBBUuz+LNE1+56dnv3Oy3bd0OwIECBAgQIBAswSEoJo1L90SIECAAAECDRewDerWAQpBNfyj1j4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSGVEAIqtWDv7RyZmGi1Td0OQIECBAgQIBAAwWEoBo4NC0TIECAAAECzRaYPPy1kxHpU82+RX7dC0HlZ6kSAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJQnIARVnnXZJyVJPHdhaWG+7HOdR4AAAQIECBAgcHsBIShfCAECBAgQIECgZIHJ6SdmIu2cKvnY2h4nBFXb0WiMAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBG4jIATV2s/DFqjWjtbFCBAgQIAAgaYLCEE1fYL6J0CAAAECBBopMPn47GIkcaSRzefctBBUzqDKESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEApAkJQpTBXcci/XTmzcKKKg51JgAABAgQIECBwewEhKF8IAQIECBAgQKACAdugbqALQVXwATqSAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAYWEIIamLCOBS5vrHcmVpcX1+rYnJ4IECBAgAABAsMuIAQ17F+A+xMgQIAAAQKVCUwenl2NiH2VNVCTg4WgajIIbRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAXwJCUH1xNePhJF5cWVo43oxmdUmAAAECBAgQGD4BIajhm7kbEyBAgAABAjURODA9O5em8VJN2qmsDSGoyugdTIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIDCAhBDYBX01c31jsP2gJV0+FoiwABAgQIECAQEUJQPgMCBAgQIECAQIUCtkFFCEFV+AE6mgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgR2LCAEtWO6Wr6YJOnLF5ZOzdWyOU0RIECAAAECBAhsCghB+RAIECBAgAABAhUKTB6ePRYRf1FhC5UfLQRV+Qg0QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQI7EBCC2gFajV8ZTTr7zy8trta4Ra0RIECAAAECBIZeQAhq6D8BAAQIECBAgECVAhNTM+OjYyPZL6DtrbKPKs8WgqpS39kECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgsFMBIaidytXvPVug6jcTHREgQIAAAQIEthIQgvJdECBAgAABAgQqFpicnj0eabxQcRuVHS8EVRm9gwkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgAAEhqAHw6vZqMnJ0Zem1xbq1pR8CBAgQIECAAIFuASEoXwQBAgQIECBAoGKBa9ugflVxG5UdLwRVGb2DCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQGAAASGoAfDq9Goap1fOLszUqSW9ECBAgAABAgQIbC0gBOXLIECAAAECBAjUQODA9NH5NE2erUErpbcgBFU6uQMJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAIAcBIagcEOtQwhaoOkxBDwQIECBAgACBbQkIQW2LyUMECBAgQIAAgWIFDk7PTGykIxeLPaWe1YWg6jkXXREgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDA7QWEoFrxhVxaObMw0YqbuAQBAgQIECBAYAgEhKCGYMiuSIAAAQIECDRDYFi3QQlBNeP71CUBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIdAsIQTX/i0iSeO7C0sJ882/iBgQIECBAgACB4RAQghqOObslAQIECBAg0ACByeknZiLtnGpAq7m2KASVK6diBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFCSgBBUSdDFHWMLVHG2KhMgQIAAAQIEChEQgiqEVVECBAgQIECAwM4EJh+fXYwkjuzs7Wa+JQTVzLnpmgABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAsMuIATV7C/AFqhmz0/3BAgQIECAwHAKCEEN59zdmgABAgQIEKipwDBugxKCqunHqC0CBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQuK2AEFSjP5DLG+udidXlxbVG30LzBAgQIECAAIEhExCCGrKBuy4BAgQIECBQf4HJw7PLEXGo/p3m06EQVD6OqhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAuQJCUOV653paEi+uLC0cz7WmYgQIECBAgAABAoULCEEVTuwAAgQIECBAgEB/AgemZ+fSNF7q763mPi0E1dzZ6ZwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLDLCAE1djp2wLV2NFpnAABAgQIEBh2ASGoYf8C3J8AAQIECBCopcDk4dnViNhXy+ZybkoIKmdQ5QgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgFAEhqFKYcz8kSdKXLyydmsu9sIIECBAgQIAAAQKFCwhBFU7sAAIECBAgQIBA/wLDtA1KCKr/78MbBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFC9gBBU9TPYSQejSWf/+aXF7A+n9UOAAAECBAgQINAwASGohg1MuwQIECBAgMBwCExMzYyPjo1kv+C2t+03FoJq+4TdjwABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAu0UEIJq3lxtgWrezHRMgAABAgQIELhZQAjK90CAAAECBAgQqKnA5PTs8UjjhZq2l1tbQlC5USpEgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAiUKCEGViJ3TUUmn86UL319czqmcMgQIECBAgAABAiULCEGVDO44AgQIECBAgMB2BYZlG5QQ1Ha/CM8RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQJ0EhKDqNI1t9JLG6ZWzCzPbeNIjBAgQIECAAAECNRUQgqrpYLRFgAABAgQIEMgEDkwfnU/T5Nk2awhBtXm67kaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIH2CghBNWy2ycjRlaXXFhvWtXYJECBAgAABAgRuEhCC8jkQIECAAAECBGoscHB6ZmIjHblY4xYHbk0IamBCBQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgAgEhqArQd3qkLVA7lfMeAQIECBAgQKBWAkJQtRqHZggQIECAAAECtwq0fRuUEJSvngABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSaKCAE1ZypJUk8d2FpYb45HeuUAAECBAgQIEBgKwEhKN8FAQIECBAgQKDmAge+MjOVjoz8qOZt7rg9Iagd03mRAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCoUEIKqEL+/oy+tnFmY6O8VTxMgQIAAAQIECNRRQAiqjlPREwECBAgQIECgR2Dy8dnFSOJIG2GEoNo4VXciQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA+wWEoJoxY1ugmjEnXRIgQIAAAQIEtiMgBLUdJc8QIECAAAECBCoWmJx+YibSzqmK2yjkeCGoQlgVJUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGCBYSgCgbOp/zllTML4/mUUoUAAQIECBAgQKBqASGoqifgfAIECBAgQIDANgXaug1KCGqbH4DHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKBWAkJQtRrH1s0k8eLK0sLxBnSqRQIECBAgQIAAgW0ICEFtA8kjBAgQIECAAIE6CByYnp1L03ipDr3k2YMQVJ6aahEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAWQJCUGVJ7/icyxvrnYnV5cW1HVfwIgECBAgQIECAQK0EhKBqNQ7NECBAgAABAgRuLzB5eHY1Iva1yUkIqk3TdBcCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgMj4AQVL1nnUZ886dnFo7Vu0vdESBAgAABAgQI9CMgBNWPlmcJECBAgAABAhULtHEblBBUxR+V4wkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgRwJCUDtiK+2l0aSz//zSYvaHzfohQIAAAQIECBBoiYAQVEsG6RoECBAgQIDA8AhMHp7N1rTvbcuNhaDaMkn3IECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwHAJCEHVd95Jkr58YenUXH071BkBAgQIECBAgMBOBISgdqLmHQIECBAgQIBAhQKT07PHI40XKmwh16OFoHLlVIwAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEShIQgioJegfH2AK1AzSvECBAgAABAgQaICAE1YAhaZEAAQIECBAgcLPAxNTM+OjYSLauvRXboISgfN8ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAg0EQBIaiaTi2N0ytnF2Zq2p22CBAgQIAAAQIEBhAQghoAz6sECBAgQIAAgaoEPnd49kQS8YdVnZ/nuUJQeWqqRYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJlCQhBlSXd5znJyNGVpdcW+3zL4wQIECBAgAABAg0QEIJqwJC0SIAAAQIECBDoFTg4PTOxkY5cbIOMEFQbpugOBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQGD4BIagaztwWqBoORUsECBAgQIAAgfwEhKDys1SJAAECBAgQIFCqwIHpo/Npmjxb6qEFHCYEVQCqkgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQuIAQVOHEfR+Qpsnv/PTsd072/aIXCBAgQIAAAQIEGiEgBNWIMWmSAAECBAgQIHCrQFu2QQlB+boJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoIkCQlC1m9qllTMLE7XrSkMECBAgQIAAAQK5CQhB5UapEAECBAgQIECgfIHJw187GZE+Vf7J+Z0oBJWfpUoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUJ6AEFR51ts5KUniuQtLC/PbedYzBAgQIECAAAECzRQQgmrm3HRNgAABAgQIENgUmJx+YibSzqkmcwhBNXl6eidAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMDwCghB1Wr2tkDVahyaIUCAAAECBAgUIyAEVYyrqgQIECBAgACB0gQmH59djCSOlHZgzgcJQeUMqhwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlCIgBFUK8/YOSeLFlaWF49t72FMECBAgQIAAAQJNFRCCaurk9E2AAAECBAgQuCbwuce/9nSSpH/XVBAhqKZOTt8ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAYbgEhqNrM//LGemdidXlxrTYdaYQAAQIECBAgQKAQASGoQlgVJUCAAAECBAiUKzB5eHY1IvaVe2o+pwlB5eOoCgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUKyAEVa73J55mC1RNBqENAgQIECBAgEDxAkJQxRs7gQABAgQIECBQuMCB6dm5NI2XCj+ogAOEoApAVZIAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEChcQgiqceFsHjCad/eeXFrM/PNYPAQIECBAgQIBAywWEoFo+YNcjQIAAAQIEhkegqdughKCG5xt1UwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECLRJQAiq+mkmSfryhaVTc9V3ogMCBAgQIECAAIEyBISgylB2BgECBAgQIECgBIHJ6dnjkcYLJRyV6xFCULlyKkaAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECJQkIQZUEfZtjbIGqfgY6IECAAAECBAiUKSAEVaa2swgQIECAAAECBQpMTM2Mj46NZOvd9xZ4TO6lhaByJ1WQAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBEoQEIIqAfk2R9gCVa2/0wkQIECAAAECVQgIQVWh7kwCBAgQIECAQEECTdwGJQRV0MegLAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgUKiAEVSjvnYsnI0dXll5bvPODniBAgAABAgQIEGiLgBBUWybpHgQIECBAgACBiDg4PTOxkY5cbBKGEFSTpqVXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEPhYQAiqwm8hjdMrZxdmKuzA0QQIECBAgAABAhUICEFVgO5IAgQIECBAgECRAgemj86nafJskWfkWVsIKk9NtQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgLAEhqLKktzjHFqgK8R1NgAABAgQIEKhOQAiqOnsnEyBAgAABAgQKEWjaNighqEI+A0UJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoGABIaiCgT+5/KWVMwsTlZ3uYAIECBAgQIAAgcoEhKAqo3cwAQIECBAgQKA4gSZtgxKCKu47UJkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEihMQgirO9naVkySeu7C0MF/N6U4lQIAAAQIECBCoUkAIqkp9ZxMgQIAAAQIEChKYnH5iJtLOqYLK51pWCCpXTsUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCQBIaiSoLuPsQWqEnaHEiBAgAABAgTqISAEVY856IIAAQIECBAgkLvA5OOzi5HEkdwL51xQCCpnUOUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoBQBIahSmHsP+bcrZxZOVHKyQwkQIECAAAECBCoXEIKqfAQaIECAAAECBAgUI9CUbVBCUMXMX1UCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQKFZACKpY3y2qX95Y70ysLi+ulX6yAwkQIECAAAECBGohIARVizFoggABAgQIECBQjMDk4dnViNhXTPV8qgpB5eOoCgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUKyAEVa53JPHiytLC8ZJPdRwBAgQIECBAgECNBISgajQMrRAgQIAAAQIE8hY4MD07l6bxUt5186wnBJWnploECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUJaAEFRZ0h+ds7HeedAWqHLNnUaAAAECBAgQqJuAEFTdJqIfAgQIECBAgEDOAnXfBiUElfPAlSNAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBUgSEoEph3jwkSdKXLyydmivvRCcRIECAAAECBAjUUUAIqo5T0RMBAgQIECBAIEeBycOzxyLiL3IsmWspIahcORUjQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZIEhKBKgo6I0aSz//zS4mp5JzqJAAECBAgQIECgjgJCUHWcip4IECBAgAABAjkKTEzNjI+OjWS/ELg3x7K5lRKCyo1SIQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoUUAIqhxsW6DKcXYKAQIECBAgQKAJAkJQTZiSHgkQIECAAAECAwpMTs8ejzReGLBMIa8LQRXCqigBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIFCwgBFUw8LXySafzpQvfX1wu5zSnECBAgAABAgQI1FlACKrO09EbAQIECBAgQCAngTpvgxKCymnIyhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAqQJCUCVwp3F65ezCTAknOYIAAQIECBAgQKABAkJQDRiSFgkQIECAAAECeQgcmD46n6bJs3nUyrOGEFSemmoRIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQFkCQlAlSCcjR1eWXlss4SRHECBAgAABAgQINEBACKoBQ9IiAQIECBAgQCAPgYPTMxMb6cjFPGrlWUMIKk9NtQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgLAEhqMKlz62cWZgq/BQHECBAgAABAgQINEZACKoxo9IoAQIECBAgQGBwgTpugxKCGnyuKhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBA+QJCUMWaJ0k8d2FpYb7YU1QnQIAAAQIECBBokoAQVJOmpVcCBAgQIECAwIACB74yM5WOjPxowDK5vi4ElSunYgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQkoAQVKHQl1bOLEwUeoLiBAgQIECAAAECjRMQgmrcyDRMgAABAgQIEBhMYPLx2cVI4shgVfJ7WwgqP0uVCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKA8ASGo4qxtgSrOVmUCBAgQIECAQJMFhKCaPD29EyBAgAABAgR2IDA5/cRMpJ1TO3i1kFeEoAphVZQAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEChYQgioM+PLGemdidXlxrbATFCZAgAABAgQIEGikgBBUI8emaQIECBAgQIDAYAKTh2eXI+LQYFXyeVsIKh9HVQgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgXAEhqIK8k3hxZWnheEHVlSVAgAABAgQIEGiwgBBUg4endQIECBAgQIDATgUOTM/OpWm8tNP383xPCCpPTbUIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoCwBIahCpG2BKoRVUQIECBAgQIBAOwSEoNoxR7cgQIAAAQIECPQtMHl4duYoTfAAACAASURBVDUi9vX9Ys4vCEHlDKocAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECJQiIASVP3Ma8c2fnlk4ln9lFQkQIECAAAECBNogIATVhim6AwECBAgQIEBgBwJ12QYlBLWD4XmFAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCoXEILKfwSjSWf/+aXF7A919UOAAAECBAgQIEDgFgEhKB8FAQIECBAgQGBIBSamZsZHx0ayXzjcWyWBEFSV+s4mQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgZ0KCEHtVG7r95IkffnC0qm5fKuqRoAAAQIECBAg0CYBIag2TdNdCBAgQIAAAQJ9CkxOzx6PNF7o87VcHxeCypVTMQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAoSUAIKl9oW6Dy9VSNAAECBAgQINBGASGoNk7VnQgQIECAAAEC2xSowzYoIahtDstjBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFArASGoHMeRxumVswszOVZUigABAgQIECBAoIUCQlAtHKorESBAgAABAgT6Efjc4dkTScQf9vNOns8KQeWpqRYBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIlCUgBJWjdDJydGXptcUcKypFgAABAgQIECDQQgEhqBYO1ZUIECBAgAABAv0IHJyemdhIRy72806ezwpB5ampFgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAiUJSAElZO0LVA5QSpDgAABAgQIEGi/gBBU+2fshgQIECBAgACBOwocmD46n6bJs3d8sIAHhKAKQFWSAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAoXEILKhzhJ4rkLSwvz+VRThQABAgQIECBAoM0CQlBtnq67ESBAgAABAgS2KVDlNighqG0OyWMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUCsBIahcxnFp5czCRC6VFCFAgAABAgQIEGi9gBBU60fsggQIECBAgACB7QlMPj67GEkc2d7T+T0lBJWfpUoECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUJ6AENTg1rZADW6oAgECBAgQIEBgmASEoIZp2u5KgAABAgQIELiNwOT0EzORdk6VjSQEVba48wgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEAgDwEhqIEVL6+cWRgfuIoCBAgQIECAAAECQyMgBDU0o3ZRAgQIECBAgMCdBarYBtWmENSdhT1BgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqJ/Bv/uCP4swPz5XbWBIvriwtHC/3UKcRIECAAAECBAg0WUAIqsnT0zsBAgQIECBAIGeBA9Ozc2kaL+Vc9rblhKDK1HYWAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBC4VaCCENTljfXOxOry4pp5ECBAgAABAgQIENiugBDUdqU8R4AAAQIECBAYEoHJw7OrEbGvrOsKQZUl7RwCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQILC1QOkhKFugfIoECBAgQIAAAQI7EBCC2gGaVwgQIECAAAECbRYoexuUEFSbvyZ3I0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEmCJQdghpNOvvPLy1mf0irHwIECBAgQIAAAQLbFhCC2jaVBwkQIECAAAECwyNQ5jYoIajh+a7clAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgTqKVBmCCpJ0pcvLJ2aq6eErggQIECAAAECBOosIARV5+nojQABAgQIECBQkcDk9OzxSOOFMo4XgipD2RkECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQOCTBcoMQdkC5UskQIAAAQIECBDYqYAQ1E7lvEeAAAECBAgQaLHAxNTM+OjYSLZ2fm/R1xSCKlpYfQIE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cbYqDyYgALVzPwGondt5s94C6w/ui87du6832bt9KfsX73/qC12XaPr2paomkoWe5h67N458eldVLdx87uVs41NEnEiSZLkODemBAAECBAgQIECAAAECBAgQIECAQNkCQlBlizuPAAECBAgQIECAAAECBAgQIECgcoE0TSciIgtEZX91//HnFXR3+YM05l/PtkNdieW3NirooP1HbrVxqncr1a5334zRd97swrCVqv3fRhNvKAhV3NQEoYqzVXlnAgJQO3PL3hKA2rmdN4sT2Gr7Um84qXf7UtZN74am4jpUOROYeng0jh3aHU//5ljsvbsWv6Xi9LWNT9nmJz8ECBAgQIAAAQIECBAgQIAAAQIEhlqgFr9iN9QTcHkCBAgQIECAAAECBAgQIECAAIFKBdI0nbkWhso2RO2ttJmIOPfWRpw4916cvLgea+tp1e04v0egdyvV5sapW4JTP+5666N33mNJIFcBQahcObuKffPvvxc/WPl5cQeoTGCbAp99ZDyef2Y2do/VYvvINruux2MCUPWYQ9u62Ljv4bh6/yPXr9W5+77INjLd/NO7fWnjvke63mmbSZvuMz6WxNzBeyPb/HTo4dE6XO1SFny6Fn5arUNDeiBAgAABAgQIECBAgAABAgQIECBQBwEhqDpMQQ8ECBAgQIAAAQIECBAgQIAAAQKVC6RpOh4RWRAq2w51pPKGIuLl81c2w1Anf7Zeh3b0kJPAVlup7v1Fd3CqdyvVR+9kvw/SD4EbAoJQxXwN761fjW98eyHeeHOtmANUJbANAQGobSB9wiMCUDu3a/Ob7z/6WNf1ercvbQaaHuoJND36hTaTuNs1gWzb09P7x+LZg/fUxeTla8Gnxbo0pA8CBAgQIECAAAECBAgQIECAAAECdRIQgqrTNPRCgAABAgQIECBAgAABAgQIECBQC4E0TSci4ti1UFT374asoMNLb38Y8+evxPzrV2L17Q8r6MCRdRS495c9wamerVRbha1sparjJAfrSRBqML9PelsQqhhXVbcnIAC1Pafep95+5934+h/8Ubz+k5WdFfBWLQW2s31p/aGJ6Ny9+3r/ti/VcpS1ampiz11x7NC9kQWg9u25qw69nYuIExFxMkkSKew6TEQPBAgQIECAAAECBAgQIECAAAECtRUQgqrtaDRGgAABAgQIECBAgAABAgQIECBQB4E0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u+mU7iYANaUXp+0iBbY+bMXWeiseb9wppb8nEdGrqqpXSkP6IECAAAECBAgQIECAAAECBAgQIECAgBCUd4AAAQIECBAgQIAAAQIECBAgQIAAgWIEUkqPhmGoPCFquenG8l/u3tl/E71X/Tjqp6bbsT+B4gUEoeq9IkGoej1Hqfbnf/wH8Z3fydlcn8sEBKAuE/LPCVwusLa0EJ37dwZTn1aXFi5/YPwr9t+Z+nQ0/u3sQIAAAQIECBAgQIAAAQIECBAgQIAAgasJCEFdzctqAgQIECBAgAABAgQIECBAgAABAgQmIJBSWomIHITK06EeTmDLS7d48uJsEIbqvexfutYCAvMsIAhV7+0LQtXr+XXVBKBGtxaAGt3KSgJfJpBDT537i/Hw/fdKADrOE58iYqeqqr0SGtIDAQIECBAgQIAAAQIECBAgQIAAAQIEvkpACMq7QYAAAQIECBAgQIAAAQIECBAgQIBA0QIppTySY3sYilptutnDk4vovjiL7vOzODi5aLod+xMoUkAQqt5rEYSq1/PLqglAjW4sADW6lZUE3hXIfzZut+/G1oetWL5dxNf0uzn8VFVV100RIECAAAECBAgQIECAAAECBAgQIEBgWgSK+O3qtGDpkwABAgQIECBAgAABAgQIECBAgACBZgVSSnk6VP553Gwnv9792aefRff56WBC1FE/ldCSHggUIyAIVe9V/PxfDuIv/ubv6y2q2kDgo//+3+JPH/0ejREEBKBGQLKEwDsCK60qOhuLsd1ejNWlhRJsDiMih566VVUdlNCQHggQIECAAAECBAgQIECAAAECBAgQIHAVASGoq2hZS4AAAQIECBAgQIAAAQIECBAgQIBAEQIppZWI6Ax/2k03dXyeoveyP5gQ9fST86bbsT+BYgQEoeq9CkGoej1ztT/81nr82Ue/X3/hGawoADWDl+pIYxPI0546G3dic701tj2uWPjJMPj09IrPWU6AAAECBAgQIECAAAECBAgQIECAAIGiBISgiroOzRAgQIAAAQIECBAgQIAAAQIECBAgcFWBlNKDdwJRy1d9vu71hycXsbN/OghFHZxc1F1ePQJTJyAIVe+VCULV5ykANbqlANToVlbOr8Da0sJg4lMOQBUy9Wk/InYioldV1dH83oyTEyBAgAABAgQIECBAgAABAgQIECAwSwJCULN0m85CgAAB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aRh+OiihIT0QIECAAAECBAgQIECAAAECBAgQIECAAIFxCghBjVNXbQIECBAgQIAAAQIECBAgQIAAAQIECBAoRiCltDKcDpUDUQ9LaOzJi7NBGKr3sl9CO3q4goAg1BWw5mipANRsXvbWh63YWm/F4407pRzwSUT0qqrqldKQPggQIECAAAECBAgQIECAAAECBAgQIECAwCQEhKAmoWwPAgQIECBAgAABAgQIECBAgAABAgQIEChKIKW0FhHbw1DUatPNHZ5cRPfFWXSfn8XByUXT7dh/RAFBqBGh5mSZANRsXfTa0kJ07t8ZTH1aXVoo4XD770x9OiqhIT0QIECAAAECBAgQIECAAAECBAgQIECAAIFJCwhBTVrcfgQIECBAgAABAgQIECBAgAABAgQIECBQlEBKaWsYhnpcQmPPPv0sus9PBxOijvqphJb08DUCglBejywgADU770H+d7pzfzEevv9eCYc6fif4tFdCQ3ogQIAAAQIECBAgQIAAAQIECBAgQIAAAQJNCghBNalvbwIECBAgQIAAAQIECBAgQIAAAQIECBAoRiCltDIMQ+UJUe2mG8uhit7L/mBC1NNPzptux/5fIyAINd+vhwDU9N//g3u3Yrt9N7Y+bMXy7SK+Pt2NiF5VVd3p13UCAgQIECBAgAABAgQIECBAgAABAgQIECBQn0ARv8Wv7zgqESBAgAABAgQIECBAgAABAgQIECBAgACBmwuklB5ERGf4s3zzijercHhyETv7p4NQ1MHJxc2KeXosAoJQY2EtvqgAVPFX9JUNrrSq6GwsxnZ7MVaXFko4yOE7U58OSmhIDwQIECBAgAABAgQIECBAgAABAgQIECBAoDQBIajSbkQ/BAgQIECAAAECBAgQIECAAAECBAgQIFCUQEppaxiG2iyhsd1X/S8mRJXQjx7+XUAQar7eBgGo6bzvPO0p/7u6ud4q5QBPcvipqqqnpTSkDwIECBAgQIAAAQIECBAgQIAAAQIECBAgUKqAEFSpN6MvAgQIECBAgAABAgQIECBAgAABAgQIEChKIKW0FhE5ELUdEatNN5cDGN3np9F9cRZ7r9823Y79hwKCUPPxKghATdc9ry0tDCY+5QBUIVOf9iNiJyJ6VVUdTZembgkQIECAAAECBAgQIECAAAECBAgQIECAQHMCQlDN2duZAAECBAgQIECAAAEC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gAABAgQIECBAgAABAgQIECBAgAABAgRmT0AIavbu1IkIECBAgAABAgQIECBAgAABAgQIECBAgEBRAimltWEYKk+IWm26uePzFN3neTrUWey9ftt0O7XsP69BqHkLQD364PZg6tPjjTu1vDc1FHkynPjUq6GWEgQIECBAgAABAgQIECBAgAABAgQIECBAgACBrxUQgvKCECBAgAABAgQIECBAgAABAgQIECBAgAABAhMTSCk9iojPJ0QtT2zjr9ho//Xb2Nl/E71X/Tjqp6bbudH+a0sL0fuT5VImA93oLKM8PC8BqHyvnft3BuGn1aWFUWjGvWY/Irr5p6qqo3Fvpj4BAgQIECBAgAABAgQIECBAgAABAgQIECBA4HMBISjvAgECBAgQIECAAAECBAgQIECAAAECBAgQIDBxgZTSynA6VA5EPZx4A1+yYQ7V5DBU72W/hHau1cNKq4qnW78980GoeQhA5dBT5/5iPHz/vWu9CzU/dJwnPkXETlVVezXXVo4AAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMJKAENRITBYRIECAAAECBAgQIECAAAECBAgQIECAAAEC4xJIKa1FxPYwFLU6rn1GrXt4chHdF2fRfX4WBycXoz5WzLpZD0LNcgDqwb1bsd2+G1sftmL5dhFf4z0bTnzKk598CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKNChTx7UmjAjYnQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEihFIKW0Nw1CPS2jq2aefRff56WBC1FE/ldDSSD3MahBqFgNQ+a46G4uRJz+1790a6X7HvOgwB5+G4aeDMe+lPAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgZAEhqJGpLCRAgAABAgQIECBAgAABAgQIECBAgAABAgQmJZBSWhmGofKEqPak9v2qfY7PU/Re9gcTop5+ct50OyPtP2tBqFkLQOVpT1vrrXi8cWek+5zAoicR0auqqjeBvWxBgAABAgQIECBAgAABAgQIECBAgAABAgQIELiygBDUlck8QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECExSIKX0ICI6w5/lSe79ZXsdnlzEzv7pIBR1cHLRdDtfu/+sBKFmJQC1trQQ2+3FyAGo1aWFEt6d/YjYGYafjkpoSA8ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAga8SEILybhAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJTI5BS2hqGoTZLaHr3Vf+LCVEl9PNlPUx7EGraA1DZP0986txfjIfvv1fCa3IcEd38U1XVXgkN6YEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMIqAENQoStYQIECAAAECBAgQIECAAAECBAgQIECAAAECRQmklNYiIgeitiNitenmjs9TdJ+fRvfFWey9ftt0O/9p/2kNQk1zAOrBvVux3b47mPq0fLuIr+R2hxOfcgDKhwABAgQIECBAgAABAgQIECBAgAABAgQIECAwdQJFfOMydWoaJkCAAAECBAgQIECAAAECBAgQIECAAAECBIoRSCk9GIahcihquenG9l+/HYShui9O46ifmm7ni/2nLQg1jQGobNzZWIzt9mKsLi2UcPeH70x9OiihIT0QIECAAAECBAgQIECAAAECBAgQIECAAAECBK4rIAR1XTnPESBAgAABAgQIECBAgAABAgQIECBAgAABAsUJpJQ6EZF/HpbQ3O6r/iAQ1XvZL6GdmJYg1LQFoPK0p87Gndhcb5Vwz8d54lMOP1VV9bSEhvRAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKhDQAiqDkU1CBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgaIEUkprwzBUDkStNt3c4cnFIAi1s38aBycXjbZTehBqWgJQa0sLg4lPOQBVyNSn/YjYyQGoqqqOGn3JbE6AAAECBAgQIECAAAECBAgQIECAAAECBAgQGIOAENQYUJUkQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEyhFIKT0aBqIel9DV/uu3sbP/Jnqv+nHUT420VGoQqvQAVHbbWm/FdvtutO/dauTu/sOmeepTN4efqqo6KKEhPRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIExiUgBDUuWXUJECBAgAABAgQIECBAgAABAgQIECBAgACBogRSSisRsRUR2xHRbrq54/M0mA7VfXEWTz85n3g7pQWhSg5APfrgdnQ27gymPi3fLuLrtd0cfqqqqjfxF8eGBAgQIECAAAECBAgQIECAAAECBAgQIECAAIGGBIr4lqahs9uWAAECBAgQIECAAAECBAgQIECAAAECBAgQmFOBlNLaMAyVQ1GrTTMcnlwMwlDd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BAgQIECAwDwLCEHN8+07OwECBAgQIECAAAECBAgQIECAAAECBAgQIFCkQEqpExH552EJDe6+6g8CUb2X/d9o590g1HUCUGtLC4OJTzkAVcjUp/2I2ImIXlVVRyXY64EAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQODXAkJQ3gQCBAgQIECAAAECBAgQIECAAAECBAgQIECAQKECKaW1YRgqB6JWm27z8ORiEITa2T+Ng5OLQTs73/kvsTecGjVKfyutKrbWW9G5vxgP339vlEfGveY4T3zKR6mq6mDcm6lPgAABAgQIECBAgAABAgQIECBAgAABAgQIECBwPQEhqOu5eYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMFGBlNKjYSDq8UQ3/orN9l+/jZ39N9F71Y+jfrq0pUcf3I7Oxp3B1Kfl20V8RbWbw09VVfUubd4CAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBxgWK+IapcQUNECBAgAABAgQIECBAgAABAgQIECBAgAABAgSmRCCltBIRWxGxHRHtpts+Pk+D6VDdF2fx9JPz32hnbWlhEHrabi/G6tJC063m/Q/zxKeI6Jn6VMJ16IEAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMLqAENToVlYSIECAAAECBAgQIECAAAECBAgQIECAAAECBIoSSCmtDcNQORS12nRzhycXgzDU3uu3g6lPm+utplvK+x/n0NNw6tPTEhrSAwECBAgQIECAAAECBAgQIECAAAECBAgQIECAwNUFhKCubuYJAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBxAimlHITqRMRmcc0109D+O1Ofjpppwa4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJ1CQhB1SWpDgECBAgQIECAAAECBAgQIECAAAECBAgQIECgAIGU0sowDJUDUe0CWppkC4fDqU87VVUdTHJjexEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECIxXQAhqvL6qEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQaE0gpPYiI7YjIU6KWG2tk/BvvRkS3qqre+LeyAwECBAgQIECAAAECBAgQIECAAAECBAgQIECAQBMCQlBNqNuTAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBhgZRSngyVw1CbE956XNvlqU87w/DT0bg2UZcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKAMASGoMu5BFwQIECBAgAABAgQIECBAgAABAgQIECBAgACBiQiklNaGYag8IWp1IpvWt8lxRORpTztVVe3VV1YlAgQIECBAgAABAgQIECBAgAABAgQIECBAgACB0gWEoEq/If0RIECAAAECBAgQIECAAAECBAgQIECAAAECBMYkkFJ6FBGfT4haHtM2dZR9lic+5QBUVVWmPtUhqgYBAgQIECBAgAABAgQIECBAgAABAgQIECBAYMoEhKCm7MK0S4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBCoWyCltDKcDpUDUQ/rrn/NeofD4FO3qqqDa9bwGAECBAgQIECAAAECBAgQIECAAAECBAgQIECAwIwICEHNyEU6BgECBAgQIECAAAECBAgQIECAAAECBAgQIECgDoGU0lpEbA9DUat11LxijSfDiU+9Kz5nOQECBAgQIECAAAECBAgQIECAAAECBAgQIECAwAwLCEHN8OU6GgECBAgQIECAAAECBAgQIECAAAECBAgQIEDgJgIppa1hGOrxTeqM8Oz+O1OfjkZYbwkBAgQIECBAgAABAgQIECBAgAABAgQIECBAgMCcCQhBzdmFOy4BAgQIECBAgAABAgQIECBAgAABAgQIECBA4KoCKaWVYRgqT4hqX/X5r1h/nCc+RcROVVV7NdVUhgABAgQIECBAgAABAgQIECBAgAABAgQIECBAYEYFhKBm9GIdiwABAgQIECBAgAABAgQIECBAgAABAgQIECAwDoGU0oOI6Ax/lq+xx24OP1VV1b3Gsx4hQIAAAQIECBAgQIAAAQIErHJV9AAAIABJREFUCBAgQIAAAQIECBCYUwEhqDm9eMcmQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECNxUIKW0NQxDbV5S6zAicuipW1XVwU339TwBAgQIECBAgAABAgQIECBAgAABAgQIECBAgMD8CQhBzd+dOzEBAgQIECBAgAABAgQIECBAgAABAgQIECBAoFaBlNJaRORA1HZErL5T/Mkw+PS01g0VI0CAAAECBAgQIECAAAECBAgQIECAAAECBAgQmDsBIai5u3IHJkCAAAECBAgQIECAAAECBAgQIECAAAECBAiMTyCl9CAi8k+vqqqj8e2kMgECBAgQIECAAAECBAgQIECAAAECBAgQIECAwDwJCEHN0207KwECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIEpFBCCmsJL0zIBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBeRIQgpqn23ZWAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAlMoIAQ1hZemZQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLzJCAENU+37awECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEplBACGoKL03LBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBOZJQAhqnm7bWQkQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhMoYAQ1BRempYJECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIzJOAENQ83bazEiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEJhCASGoKbw0LRMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCYJwEhqHm6bWclQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgMIUCQlBTeGlaJkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIDBPAkJQ83TbzkqAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBgCgWEoKbw0rRMgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAYJ4EhKDm6badlQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgMAUCghBTeGlaZkAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIDAPAkIQc3TbTsrAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgSkUEIKawkvTMgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIF5EhCCmqfbdlYCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECUyggBDWFl6ZlAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAvMkIAQ1T7ftrAQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgSmUEAIagovTcsECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIE5klACGqebttZCRAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECPz/7NtBEQAAAAHB/q3luLENWG8ECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHio+qYqAAAgAElEQVQScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4OE4tGMAACAASURBVGgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQeBJwgnpaW1cCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECQQEnqOBoIhMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBB4EnCCelpbVwIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQJBASeo4GgiEyBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEHgScIJ6WltXAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAkEBJ6jgaCITIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBNa+HRQBAAAQEOzfWg5z24D1RoAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAAByqmxcAAAIABJREFUAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACW/ZIdAAAIlUlEQVQBAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAScAJqrS2rgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQOBZygDkcTmQABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEBJwAmqtLauBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBA4FnKAORxOZAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQEnACaq0tq4ECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEDgWcoA5HE5kAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBASWC9/Dedn3vKBAAAAABJRU5ErkJggg==" style=""/></g></g></svg> diff --git a/dms/test/video.mp4 b/dms/test/video.mp4 new file mode 100644 index 000000000..20733f83b Binary files /dev/null and b/dms/test/video.mp4 differ diff --git a/dms/tests/__init__.py b/dms/tests/__init__.py new file mode 100644 index 000000000..2502c8f40 --- /dev/null +++ b/dms/tests/__init__.py @@ -0,0 +1,7 @@ +from . import test_storage_attachment +from . import test_storage_database +from . import test_directory +from . import test_file_database +from . import test_file +from . import test_benchmark +from . import test_portal diff --git a/dms/tests/common.py b/dms/tests/common.py new file mode 100644 index 000000000..d09a5a8e9 --- /dev/null +++ b/dms/tests/common.py @@ -0,0 +1,227 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2021-2024 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). +import base64 +import functools +import logging +import threading +import time +import uuid + +from odoo.tests import Form, new_test_user + +from odoo.addons.base.tests.common import BaseCommon + +_logger = logging.getLogger(__name__) + +# ---------------------------------------------------------- +# Decorators +# ---------------------------------------------------------- + + +def track_function( + max_query_count=None, max_query_time=None, max_time=None, return_tracking=False +): + def decorator(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + tracking_parameters = [func.__name__] + threading.current_thread().query_time = 0 + threading.current_thread().query_count = 0 + threading.current_thread().perf_t0 = time.time() + result = func(*args, **kwargs) + message = f"{func.__name__}" + if args and hasattr(args[0], "uid"): + message = f" ({args[0].uid})" + if hasattr(threading.current_thread(), "query_count"): + query_count = threading.current_thread().query_count + query_time = threading.current_thread().query_time + perf_t0 = threading.current_thread().perf_t0 + remaining_time = time.time() - perf_t0 - query_time + time_taken = query_time + remaining_time + message += ( + f" - {query_count} Q {query_time:.3f}s" + f"QT {remaining_time:.3f}s OT {time_taken:.3f}s TT" + ) + + tracking_parameters += [ + query_count, + query_time, + remaining_time, + time_taken, + ] + if max_query_count and query_count > max_query_count: + raise AssertionError(f"More than {max_query_count} queries") + if max_query_time and query_time > max_query_time: + raise AssertionError( + f"Queries took longer than {max_query_time:.3f}s" + ) + if max_time and time_taken > max_time: + raise AssertionError("Function took longer than {max_time:.3f}s") + if not return_tracking: + _logger.info(message) + if return_tracking: + return result, tracking_parameters + return result + + return wrapper + + return decorator + + +# ---------------------------------------------------------- +# Test Cases +# ---------------------------------------------------------- + + +class DocumentsBaseCase(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + # models + cls.access_group_model = cls.env["dms.access.group"] + cls.storage_model = cls.env["dms.storage"] + cls.directory_model = cls.env["dms.directory"] + cls.file_model = cls.env["dms.file"] + cls.category_model = cls.env["dms.category"] + cls.tag_model = cls.env["dms.tag"] + cls.attachment_model = cls.env["ir.attachment"] + cls.partner_model = cls.env["res.partner"] + # users + cls.user = new_test_user(cls.env, login="basic-user") + cls.public_user = cls.env.ref("base.public_user") + cls.dms_user = new_test_user( + cls.env, login="dms-user", groups="dms.group_dms_user" + ) + cls.dms_manager_user = new_test_user( + cls.env, login="dms-manager", groups="dms.group_dms_manager" + ) + cls.access_group = cls.access_group_model.create( + { + "name": "Test", + "perm_create": True, + "perm_write": True, + "perm_unlink": True, + "explicit_user_ids": [ + (6, 0, [cls.dms_user.id, cls.dms_manager_user.id]) + ], + } + ) + + @classmethod + def content_base64(cls): + return base64.b64encode(b"\xff data") + + @classmethod + def create_storage(cls, save_type="database"): + return cls.storage_model.create( + {"name": "Test Storage", "save_type": save_type} + ) + + @classmethod + def create_directory(cls, storage=False, directory=False, model_id=False): + record = Form(cls.directory_model) + record.name = uuid.uuid4().hex + record.is_root_directory = True + if model_id and storage.save_type == "attachment": + # set storage_id_save_type to attachment, making model visible + record.storage_id = storage + record.model_id = model_id + if directory: + record.is_root_directory = False + record.parent_id = directory + else: + record.storage_id = storage + if not storage.inherit_access_from_parent_record: + record.group_ids.add(cls.access_group) + return record.save() + + @classmethod + def create_file(cls, directory=False, content=False): + record = Form(cls.file_model) + record.name = uuid.uuid4().hex + record.directory_id = directory + record.content = content or cls.content_base64() + return record.save() + + @classmethod + def create_attachment(cls, name, res_model=False, res_id=False, content=False): + return cls.attachment_model.create( + { + "name": name, + "res_model": res_model, + "res_id": res_id, + "datas": content or cls.content_base64(), + } + ) + + +class StorageAttachmentBaseCase(DocumentsBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.storage = cls.create_storage(save_type="attachment") + cls.storage.write( + { + "inherit_access_from_parent_record": True, + "include_message_attachments": True, + "model_ids": [(6, 0, [cls.env.ref("base.model_res_partner").id])], + } + ) + cls.partner_model_id = cls.env.ref("base.model_res_partner") + cls.create_directory(storage=cls.storage, model_id=cls.partner_model_id) + cls.partner = cls.partner_model.create({"name": "test partner"}) + cls.other_partner = cls.partner_model.create({"name": "other partner"}) + cls.model_partner = cls.env.ref("base.model_res_partner") + + @classmethod + def _create_attachment(cls, name, partner=None): + """ + Create an attachment for the partner model. + If no partner is provided, the default partner is used. + + :param str name: The name of the attachment. + :param odoo.model.res_partner partner: The partner to attach the document to. + + :return: The created attachment. + :rtype: odoo.model.ir.attachment + """ + if not partner: + partner = cls.partner + return cls.create_attachment( + name=name, + res_model=cls.partner_model._name, + res_id=partner.id, + ) + + @classmethod + def _get_partner_directory(cls, partner=False): + if not partner: + partner = cls.partner + return cls.directory_model.search( + [ + ("storage_id", "=", cls.storage.id), + ("res_model", "=", cls.partner_model._name), + ("res_id", "=", partner.id), + ] + ) + + +class StorageDatabaseBaseCase(DocumentsBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.storage = cls.create_storage(save_type="database") + cls.directory = cls.create_directory(storage=cls.storage) + cls.file = cls.create_file(directory=cls.directory) + + +class StorageFileBaseCase(DocumentsBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.storage = cls.create_storage(save_type="file") + cls.directory = cls.create_directory(storage=cls.storage) + cls.file = cls.create_file(directory=cls.directory) diff --git a/dms/tests/data/dms.category.csv b/dms/tests/data/dms.category.csv new file mode 100644 index 000000000..eeba34233 --- /dev/null +++ b/dms/tests/data/dms.category.csv @@ -0,0 +1,51 @@ +id,name,parent_id/id +dms.category_001_benchmark,C_001, +dms.category_002_benchmark,C_002,dms.category_001_benchmark +dms.category_003_benchmark,C_003,dms.category_002_benchmark +dms.category_004_benchmark,C_004,dms.category_001_benchmark +dms.category_005_benchmark,C_005,dms.category_002_benchmark +dms.category_006_benchmark,C_006,dms.category_003_benchmark +dms.category_007_benchmark,C_007,dms.category_005_benchmark +dms.category_008_benchmark,C_008,dms.category_002_benchmark +dms.category_009_benchmark,C_009,dms.category_006_benchmark +dms.category_010_benchmark,C_010, +dms.category_011_benchmark,C_011,dms.category_001_benchmark +dms.category_012_benchmark,C_012,dms.category_007_benchmark +dms.category_013_benchmark,C_013,dms.category_009_benchmark +dms.category_014_benchmark,C_014,dms.category_013_benchmark +dms.category_015_benchmark,C_015,dms.category_005_benchmark +dms.category_016_benchmark,C_016, +dms.category_017_benchmark,C_017, +dms.category_018_benchmark,C_018, +dms.category_019_benchmark,C_019,dms.category_002_benchmark +dms.category_020_benchmark,C_020,dms.category_013_benchmark +dms.category_021_benchmark,C_021,dms.category_008_benchmark +dms.category_022_benchmark,C_022, +dms.category_023_benchmark,C_023,dms.category_021_benchmark +dms.category_024_benchmark,C_024, +dms.category_025_benchmark,C_025, +dms.category_026_benchmark,C_026,dms.category_016_benchmark +dms.category_027_benchmark,C_027,dms.category_015_benchmark +dms.category_028_benchmark,C_028, +dms.category_029_benchmark,C_029,dms.category_010_benchmark +dms.category_030_benchmark,C_030,dms.category_021_benchmark +dms.category_031_benchmark,C_031,dms.category_003_benchmark +dms.category_032_benchmark,C_032,dms.category_017_benchmark +dms.category_033_benchmark,C_033,dms.category_030_benchmark +dms.category_034_benchmark,C_034, +dms.category_035_benchmark,C_035, +dms.category_036_benchmark,C_036, +dms.category_037_benchmark,C_037,dms.category_011_benchmark +dms.category_038_benchmark,C_038,dms.category_010_benchmark +dms.category_039_benchmark,C_039,dms.category_013_benchmark +dms.category_040_benchmark,C_040, +dms.category_041_benchmark,C_041,dms.category_034_benchmark +dms.category_042_benchmark,C_042,dms.category_023_benchmark +dms.category_043_benchmark,C_043,dms.category_015_benchmark +dms.category_044_benchmark,C_044,dms.category_041_benchmark +dms.category_045_benchmark,C_045,dms.category_039_benchmark +dms.category_046_benchmark,C_046,dms.category_021_benchmark +dms.category_047_benchmark,C_047, +dms.category_048_benchmark,C_048, +dms.category_049_benchmark,C_049,dms.category_042_benchmark +dms.category_050_benchmark,C_050,dms.category_034_benchmark diff --git a/dms/tests/data/dms.directory.csv b/dms/tests/data/dms.directory.csv new file mode 100644 index 000000000..abf954119 --- /dev/null +++ b/dms/tests/data/dms.directory.csv @@ -0,0 +1,501 @@ +id,name,parent_id/id,storage_id/id,is_root_directory,category_id/id,tag_ids/id +dms.directory_001_benchmark,D_0001,,dms.storage_001_benchmark,TRUE,dms.category_041_benchmark,dms.tag_042_benchmark +dms.directory_002_benchmark,D_0002,,dms.storage_002_benchmark,TRUE,dms.category_021_benchmark,dms.tag_140_benchmark +dms.directory_003_benchmark,D_0003,,dms.storage_001_benchmark,TRUE,dms.category_017_benchmark,dms.tag_017_benchmark +dms.directory_004_benchmark,D_0004,,dms.storage_002_benchmark,TRUE,dms.category_005_benchmark,dms.tag_058_benchmark +dms.directory_005_benchmark,D_0005,,dms.storage_001_benchmark,TRUE,dms.category_019_benchmark,dms.tag_081_benchmark +dms.directory_006_benchmark,D_0006,,dms.storage_002_benchmark,TRUE,,dms.tag_127_benchmark +dms.directory_007_benchmark,D_0007,,dms.storage_001_benchmark,TRUE,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_008_benchmark,D_0008,,dms.storage_002_benchmark,TRUE,dms.category_039_benchmark,dms.tag_146_benchmark +dms.directory_009_benchmark,D_0009,dms.directory_008_benchmark,,,dms.category_014_benchmark,dms.tag_149_benchmark +dms.directory_010_benchmark,D_0010,dms.directory_003_benchmark,,,dms.category_033_benchmark,dms.tag_039_benchmark +dms.directory_011_benchmark,D_0011,dms.directory_007_benchmark,,,,dms.tag_130_benchmark +dms.directory_012_benchmark,D_0012,dms.directory_009_benchmark,,,dms.category_034_benchmark,dms.tag_142_benchmark +dms.directory_013_benchmark,D_0013,dms.directory_010_benchmark,,,dms.category_021_benchmark,dms.tag_136_benchmark +dms.directory_014_benchmark,D_0014,dms.directory_013_benchmark,,,dms.category_022_benchmark,dms.tag_073_benchmark +dms.directory_015_benchmark,D_0015,dms.directory_008_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_016_benchmark,D_0016,dms.directory_010_benchmark,,,dms.category_014_benchmark,dms.tag_149_benchmark +dms.directory_017_benchmark,D_0017,dms.directory_010_benchmark,,,dms.category_023_benchmark,dms.tag_085_benchmark +dms.directory_018_benchmark,D_0018,dms.directory_010_benchmark,,,dms.category_035_benchmark,dms.tag_101_benchmark +dms.directory_019_benchmark,D_0019,dms.directory_011_benchmark,,,dms.category_001_benchmark,dms.tag_051_benchmark +dms.directory_020_benchmark,D_0020,dms.directory_010_benchmark,,,dms.category_033_benchmark,dms.tag_113_benchmark +dms.directory_021_benchmark,D_0021,dms.directory_003_benchmark,,,dms.category_049_benchmark,dms.tag_007_benchmark +dms.directory_022_benchmark,D_0022,dms.directory_009_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_023_benchmark,D_0023,dms.directory_016_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_024_benchmark,D_0024,dms.directory_016_benchmark,,,dms.category_027_benchmark,dms.tag_001_benchmark +dms.directory_025_benchmark,D_0025,dms.directory_014_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_026_benchmark,D_0026,dms.directory_014_benchmark,,,dms.category_024_benchmark,dms.tag_049_benchmark +dms.directory_027_benchmark,D_0027,dms.directory_008_benchmark,,,,dms.tag_127_benchmark +dms.directory_028_benchmark,D_0028,dms.directory_018_benchmark,,,dms.category_034_benchmark,dms.tag_142_benchmark +dms.directory_029_benchmark,D_0029,dms.directory_019_benchmark,,,dms.category_014_benchmark,dms.tag_078_benchmark +dms.directory_030_benchmark,D_0030,dms.directory_001_benchmark,,,dms.category_021_benchmark,dms.tag_140_benchmark +dms.directory_031_benchmark,D_0031,dms.directory_008_benchmark,,,dms.category_040_benchmark,dms.tag_072_benchmark +dms.directory_032_benchmark,D_0032,dms.directory_023_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_033_benchmark,D_0033,dms.directory_004_benchmark,,,dms.category_015_benchmark,dms.tag_089_benchmark +dms.directory_034_benchmark,D_0034,dms.directory_031_benchmark,,,dms.category_018_benchmark,dms.tag_018_benchmark +dms.directory_035_benchmark,D_0035,dms.directory_014_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_036_benchmark,D_0036,dms.directory_016_benchmark,,,,dms.tag_070_benchmark +dms.directory_037_benchmark,D_0037,dms.directory_029_benchmark,,,dms.category_018_benchmark,dms.tag_133_benchmark +dms.directory_038_benchmark,D_0038,dms.directory_036_benchmark,,,dms.category_043_benchmark,dms.tag_138_benchmark +dms.directory_039_benchmark,D_0039,dms.directory_030_benchmark,,,dms.category_049_benchmark,dms.tag_035_benchmark +dms.directory_040_benchmark,D_0040,dms.directory_008_benchmark,,,,dms.tag_123_benchmark +dms.directory_041_benchmark,D_0041,dms.directory_004_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_042_benchmark,D_0042,dms.directory_012_benchmark,,,, +dms.directory_043_benchmark,D_0043,dms.directory_001_benchmark,,,,dms.tag_108_benchmark +dms.directory_044_benchmark,D_0044,dms.directory_012_benchmark,,,dms.category_027_benchmark,dms.tag_001_benchmark +dms.directory_045_benchmark,D_0045,dms.directory_013_benchmark,,,dms.category_016_benchmark,dms.tag_100_benchmark +dms.directory_046_benchmark,D_0046,dms.directory_043_benchmark,,,,dms.tag_013_benchmark +dms.directory_047_benchmark,D_0047,dms.directory_003_benchmark,,,dms.category_034_benchmark,dms.tag_033_benchmark +dms.directory_048_benchmark,D_0048,dms.directory_018_benchmark,,,dms.category_040_benchmark,dms.tag_043_benchmark +dms.directory_049_benchmark,D_0049,dms.directory_023_benchmark,,,, +dms.directory_050_benchmark,D_0050,dms.directory_033_benchmark,,,dms.category_001_benchmark,dms.tag_122_benchmark +dms.directory_051_benchmark,D_0051,dms.directory_004_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_052_benchmark,D_0052,dms.directory_034_benchmark,,,,dms.tag_046_benchmark +dms.directory_053_benchmark,D_0053,dms.directory_037_benchmark,,,dms.category_001_benchmark,dms.tag_143_benchmark +dms.directory_054_benchmark,D_0054,dms.directory_049_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_055_benchmark,D_0055,dms.directory_028_benchmark,,,dms.category_019_benchmark,dms.tag_055_benchmark +dms.directory_056_benchmark,D_0056,dms.directory_032_benchmark,,,dms.category_001_benchmark,dms.tag_051_benchmark +dms.directory_057_benchmark,D_0057,dms.directory_025_benchmark,,,,dms.tag_127_benchmark +dms.directory_058_benchmark,D_0058,dms.directory_054_benchmark,,,dms.category_049_benchmark,dms.tag_007_benchmark +dms.directory_059_benchmark,D_0059,dms.directory_019_benchmark,,,dms.category_040_benchmark,dms.tag_043_benchmark +dms.directory_060_benchmark,D_0060,dms.directory_059_benchmark,,,,dms.tag_037_benchmark +dms.directory_061_benchmark,D_0061,dms.directory_025_benchmark,,,,dms.tag_046_benchmark +dms.directory_062_benchmark,D_0062,dms.directory_052_benchmark,,,dms.category_046_benchmark,dms.tag_022_benchmark +dms.directory_063_benchmark,D_0063,dms.directory_017_benchmark,,,dms.category_019_benchmark,dms.tag_081_benchmark +dms.directory_064_benchmark,D_0064,dms.directory_057_benchmark,,,,dms.tag_123_benchmark +dms.directory_065_benchmark,D_0065,dms.directory_002_benchmark,,,dms.category_031_benchmark,dms.tag_111_benchmark +dms.directory_066_benchmark,D_0066,dms.directory_008_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_067_benchmark,D_0067,dms.directory_026_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_068_benchmark,D_0068,dms.directory_016_benchmark,,,dms.category_050_benchmark,dms.tag_110_benchmark +dms.directory_069_benchmark,D_0069,dms.directory_061_benchmark,,,dms.category_011_benchmark,dms.tag_144_benchmark +dms.directory_070_benchmark,D_0070,dms.directory_018_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_071_benchmark,D_0071,dms.directory_036_benchmark,,,,dms.tag_091_benchmark +dms.directory_072_benchmark,D_0072,dms.directory_046_benchmark,,,dms.category_043_benchmark,dms.tag_139_benchmark +dms.directory_073_benchmark,D_0073,dms.directory_013_benchmark,,,dms.category_001_benchmark,dms.tag_051_benchmark +dms.directory_074_benchmark,D_0074,dms.directory_038_benchmark,,,,dms.tag_044_benchmark +dms.directory_075_benchmark,D_0075,dms.directory_023_benchmark,,,dms.category_028_benchmark,dms.tag_052_benchmark +dms.directory_076_benchmark,D_0076,dms.directory_037_benchmark,,,dms.category_033_benchmark,dms.tag_113_benchmark +dms.directory_077_benchmark,D_0077,dms.directory_058_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_078_benchmark,D_0078,dms.directory_034_benchmark,,,dms.category_011_benchmark,dms.tag_080_benchmark +dms.directory_079_benchmark,D_0079,dms.directory_034_benchmark,,,dms.category_018_benchmark,dms.tag_083_benchmark +dms.directory_080_benchmark,D_0080,dms.directory_037_benchmark,,,dms.category_006_benchmark,dms.tag_041_benchmark +dms.directory_081_benchmark,D_0081,dms.directory_050_benchmark,,,,dms.tag_091_benchmark +dms.directory_082_benchmark,D_0082,dms.directory_042_benchmark,,,dms.category_041_benchmark,dms.tag_087_benchmark +dms.directory_083_benchmark,D_0083,dms.directory_038_benchmark,,,,dms.tag_134_benchmark +dms.directory_084_benchmark,D_0084,dms.directory_067_benchmark,,,,dms.tag_119_benchmark +dms.directory_085_benchmark,D_0085,dms.directory_041_benchmark,,,dms.category_050_benchmark,dms.tag_050_benchmark +dms.directory_086_benchmark,D_0086,dms.directory_001_benchmark,,,dms.category_031_benchmark,dms.tag_111_benchmark +dms.directory_087_benchmark,D_0087,dms.directory_083_benchmark,,,dms.category_040_benchmark,dms.tag_043_benchmark +dms.directory_088_benchmark,D_0088,dms.directory_036_benchmark,,,dms.category_005_benchmark,dms.tag_058_benchmark +dms.directory_089_benchmark,D_0089,dms.directory_044_benchmark,,,,dms.tag_010_benchmark +dms.directory_090_benchmark,D_0090,dms.directory_040_benchmark,,,,dms.tag_119_benchmark +dms.directory_091_benchmark,D_0091,dms.directory_011_benchmark,,,dms.category_003_benchmark,dms.tag_145_benchmark +dms.directory_092_benchmark,D_0092,dms.directory_045_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_093_benchmark,D_0093,dms.directory_007_benchmark,,,dms.category_033_benchmark,dms.tag_113_benchmark +dms.directory_094_benchmark,D_0094,dms.directory_003_benchmark,,,dms.category_041_benchmark,dms.tag_042_benchmark +dms.directory_095_benchmark,D_0095,dms.directory_085_benchmark,,,,dms.tag_004_benchmark +dms.directory_096_benchmark,D_0096,dms.directory_023_benchmark,,,dms.category_014_benchmark,dms.tag_059_benchmark +dms.directory_097_benchmark,D_0097,dms.directory_007_benchmark,,,, +dms.directory_098_benchmark,D_0098,dms.directory_070_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_099_benchmark,D_0099,dms.directory_053_benchmark,,,,dms.tag_127_benchmark +dms.directory_100_benchmark,D_0100,dms.directory_092_benchmark,,,dms.category_017_benchmark,dms.tag_017_benchmark +dms.directory_101_benchmark,D_0101,dms.directory_037_benchmark,,,dms.category_011_benchmark,dms.tag_021_benchmark +dms.directory_102_benchmark,D_0102,dms.directory_063_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_103_benchmark,D_0103,dms.directory_067_benchmark,,,dms.category_044_benchmark,dms.tag_095_benchmark +dms.directory_104_benchmark,D_0104,dms.directory_018_benchmark,,,dms.category_041_benchmark,dms.tag_036_benchmark +dms.directory_105_benchmark,D_0105,dms.directory_056_benchmark,,,,dms.tag_034_benchmark +dms.directory_106_benchmark,D_0106,dms.directory_085_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_107_benchmark,D_0107,dms.directory_053_benchmark,,,dms.category_022_benchmark,dms.tag_073_benchmark +dms.directory_108_benchmark,D_0108,dms.directory_027_benchmark,,,,dms.tag_013_benchmark +dms.directory_109_benchmark,D_0109,dms.directory_045_benchmark,,,dms.category_009_benchmark,dms.tag_025_benchmark +dms.directory_110_benchmark,D_0110,dms.directory_076_benchmark,,,,dms.tag_124_benchmark +dms.directory_111_benchmark,D_0111,dms.directory_091_benchmark,,,dms.category_025_benchmark,dms.tag_074_benchmark +dms.directory_112_benchmark,D_0112,dms.directory_066_benchmark,,,dms.category_021_benchmark,dms.tag_140_benchmark +dms.directory_113_benchmark,D_0113,dms.directory_056_benchmark,,,,dms.tag_104_benchmark +dms.directory_114_benchmark,D_0114,dms.directory_031_benchmark,,,, +dms.directory_115_benchmark,D_0115,dms.directory_078_benchmark,,,,dms.tag_075_benchmark +dms.directory_116_benchmark,D_0116,dms.directory_099_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_117_benchmark,D_0117,dms.directory_043_benchmark,,,dms.category_040_benchmark,dms.tag_054_benchmark +dms.directory_118_benchmark,D_0118,dms.directory_042_benchmark,,,,dms.tag_108_benchmark +dms.directory_119_benchmark,D_0119,dms.directory_055_benchmark,,,dms.category_049_benchmark,dms.tag_007_benchmark +dms.directory_120_benchmark,D_0120,dms.directory_006_benchmark,,,,dms.tag_137_benchmark +dms.directory_121_benchmark,D_0121,dms.directory_020_benchmark,,,dms.category_005_benchmark,dms.tag_058_benchmark +dms.directory_122_benchmark,D_0122,dms.directory_096_benchmark,,,dms.category_039_benchmark,dms.tag_128_benchmark +dms.directory_123_benchmark,D_0123,dms.directory_079_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_124_benchmark,D_0124,dms.directory_050_benchmark,,,,dms.tag_010_benchmark +dms.directory_125_benchmark,D_0125,dms.directory_073_benchmark,,,dms.category_031_benchmark,dms.tag_114_benchmark +dms.directory_126_benchmark,D_0126,dms.directory_112_benchmark,,,dms.category_043_benchmark,dms.tag_079_benchmark +dms.directory_127_benchmark,D_0127,dms.directory_069_benchmark,,,dms.category_015_benchmark,dms.tag_056_benchmark +dms.directory_128_benchmark,D_0128,dms.directory_091_benchmark,,,dms.category_025_benchmark,dms.tag_112_benchmark +dms.directory_129_benchmark,D_0129,dms.directory_037_benchmark,,,dms.category_019_benchmark,dms.tag_055_benchmark +dms.directory_130_benchmark,D_0130,dms.directory_028_benchmark,,,dms.category_012_benchmark,dms.tag_057_benchmark +dms.directory_131_benchmark,D_0131,dms.directory_018_benchmark,,,dms.category_001_benchmark,dms.tag_102_benchmark +dms.directory_132_benchmark,D_0132,dms.directory_128_benchmark,,,dms.category_041_benchmark,dms.tag_115_benchmark +dms.directory_133_benchmark,D_0133,dms.directory_054_benchmark,,,dms.category_034_benchmark,dms.tag_142_benchmark +dms.directory_134_benchmark,D_0134,dms.directory_114_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_135_benchmark,D_0135,dms.directory_062_benchmark,,,dms.category_013_benchmark,dms.tag_068_benchmark +dms.directory_136_benchmark,D_0136,dms.directory_069_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_137_benchmark,D_0137,dms.directory_090_benchmark,,,dms.category_021_benchmark,dms.tag_140_benchmark +dms.directory_138_benchmark,D_0138,dms.directory_065_benchmark,,,dms.category_040_benchmark,dms.tag_043_benchmark +dms.directory_139_benchmark,D_0139,dms.directory_125_benchmark,,,dms.category_034_benchmark,dms.tag_033_benchmark +dms.directory_140_benchmark,D_0140,dms.directory_067_benchmark,,,,dms.tag_108_benchmark +dms.directory_141_benchmark,D_0141,dms.directory_040_benchmark,,,dms.category_025_benchmark,dms.tag_074_benchmark +dms.directory_142_benchmark,D_0142,dms.directory_080_benchmark,,,dms.category_016_benchmark,dms.tag_100_benchmark +dms.directory_143_benchmark,D_0143,dms.directory_083_benchmark,,,dms.category_034_benchmark,dms.tag_047_benchmark +dms.directory_144_benchmark,D_0144,dms.directory_095_benchmark,,,,dms.tag_086_benchmark +dms.directory_145_benchmark,D_0145,dms.directory_003_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_146_benchmark,D_0146,dms.directory_126_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_147_benchmark,D_0147,dms.directory_099_benchmark,,,dms.category_005_benchmark,dms.tag_058_benchmark +dms.directory_148_benchmark,D_0148,dms.directory_086_benchmark,,,, +dms.directory_149_benchmark,D_0149,dms.directory_053_benchmark,,,dms.category_025_benchmark,dms.tag_082_benchmark +dms.directory_150_benchmark,D_0150,dms.directory_031_benchmark,,,dms.category_014_benchmark,dms.tag_078_benchmark +dms.directory_151_benchmark,D_0151,dms.directory_134_benchmark,,,dms.category_008_benchmark,dms.tag_077_benchmark +dms.directory_152_benchmark,D_0152,dms.directory_053_benchmark,,,dms.category_034_benchmark,dms.tag_109_benchmark +dms.directory_153_benchmark,D_0153,dms.directory_026_benchmark,,,dms.category_023_benchmark,dms.tag_038_benchmark +dms.directory_154_benchmark,D_0154,dms.directory_118_benchmark,,,,dms.tag_034_benchmark +dms.directory_155_benchmark,D_0155,dms.directory_058_benchmark,,,dms.category_027_benchmark,dms.tag_048_benchmark +dms.directory_156_benchmark,D_0156,dms.directory_077_benchmark,,,dms.category_009_benchmark,dms.tag_025_benchmark +dms.directory_157_benchmark,D_0157,dms.directory_089_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_158_benchmark,D_0158,dms.directory_033_benchmark,,,dms.category_023_benchmark,dms.tag_085_benchmark +dms.directory_159_benchmark,D_0159,dms.directory_010_benchmark,,,dms.category_001_benchmark,dms.tag_099_benchmark +dms.directory_160_benchmark,D_0160,dms.directory_006_benchmark,,,dms.category_007_benchmark,dms.tag_118_benchmark +dms.directory_161_benchmark,D_0161,dms.directory_018_benchmark,,,dms.category_041_benchmark,dms.tag_087_benchmark +dms.directory_162_benchmark,D_0162,dms.directory_026_benchmark,,,dms.category_012_benchmark,dms.tag_057_benchmark +dms.directory_163_benchmark,D_0163,dms.directory_118_benchmark,,,dms.category_004_benchmark,dms.tag_135_benchmark +dms.directory_164_benchmark,D_0164,dms.directory_130_benchmark,,,dms.category_041_benchmark,dms.tag_115_benchmark +dms.directory_165_benchmark,D_0165,dms.directory_104_benchmark,,,dms.category_043_benchmark,dms.tag_138_benchmark +dms.directory_166_benchmark,D_0166,dms.directory_083_benchmark,,,dms.category_014_benchmark,dms.tag_059_benchmark +dms.directory_167_benchmark,D_0167,dms.directory_095_benchmark,,,dms.category_040_benchmark,dms.tag_126_benchmark +dms.directory_168_benchmark,D_0168,dms.directory_021_benchmark,,,dms.category_040_benchmark,dms.tag_024_benchmark +dms.directory_169_benchmark,D_0169,dms.directory_087_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_170_benchmark,D_0170,dms.directory_147_benchmark,,,,dms.tag_006_benchmark +dms.directory_171_benchmark,D_0171,dms.directory_023_benchmark,,,dms.category_020_benchmark,dms.tag_141_benchmark +dms.directory_172_benchmark,D_0172,dms.directory_002_benchmark,,,dms.category_007_benchmark,dms.tag_118_benchmark +dms.directory_173_benchmark,D_0173,dms.directory_041_benchmark,,,dms.category_033_benchmark,dms.tag_113_benchmark +dms.directory_174_benchmark,D_0174,dms.directory_069_benchmark,,,dms.category_011_benchmark,dms.tag_144_benchmark +dms.directory_175_benchmark,D_0175,dms.directory_091_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_176_benchmark,D_0176,dms.directory_056_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_177_benchmark,D_0177,dms.directory_035_benchmark,,,dms.category_038_benchmark,dms.tag_092_benchmark +dms.directory_178_benchmark,D_0178,dms.directory_108_benchmark,,,dms.category_019_benchmark,dms.tag_055_benchmark +dms.directory_179_benchmark,D_0179,dms.directory_121_benchmark,,,dms.category_017_benchmark,dms.tag_011_benchmark +dms.directory_180_benchmark,D_0180,dms.directory_178_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_181_benchmark,D_0181,dms.directory_085_benchmark,,,,dms.tag_132_benchmark +dms.directory_182_benchmark,D_0182,dms.directory_103_benchmark,,,dms.category_034_benchmark,dms.tag_142_benchmark +dms.directory_183_benchmark,D_0183,dms.directory_086_benchmark,,,dms.category_041_benchmark,dms.tag_053_benchmark +dms.directory_184_benchmark,D_0184,dms.directory_029_benchmark,,,dms.category_011_benchmark,dms.tag_080_benchmark +dms.directory_185_benchmark,D_0185,dms.directory_170_benchmark,,,dms.category_019_benchmark,dms.tag_081_benchmark +dms.directory_186_benchmark,D_0186,dms.directory_100_benchmark,,,dms.category_031_benchmark,dms.tag_111_benchmark +dms.directory_187_benchmark,D_0187,dms.directory_034_benchmark,,,dms.category_034_benchmark,dms.tag_047_benchmark +dms.directory_188_benchmark,D_0188,dms.directory_072_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_189_benchmark,D_0189,dms.directory_022_benchmark,,,dms.category_019_benchmark,dms.tag_081_benchmark +dms.directory_190_benchmark,D_0190,dms.directory_076_benchmark,,,,dms.tag_013_benchmark +dms.directory_191_benchmark,D_0191,dms.directory_146_benchmark,,,,dms.tag_012_benchmark +dms.directory_192_benchmark,D_0192,dms.directory_023_benchmark,,,dms.category_025_benchmark,dms.tag_074_benchmark +dms.directory_193_benchmark,D_0193,dms.directory_183_benchmark,,,,dms.tag_032_benchmark +dms.directory_194_benchmark,D_0194,dms.directory_047_benchmark,,,dms.category_025_benchmark,dms.tag_082_benchmark +dms.directory_195_benchmark,D_0195,dms.directory_094_benchmark,,,dms.category_007_benchmark,dms.tag_118_benchmark +dms.directory_196_benchmark,D_0196,dms.directory_159_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_197_benchmark,D_0197,dms.directory_140_benchmark,,,dms.category_019_benchmark,dms.tag_105_benchmark +dms.directory_198_benchmark,D_0198,dms.directory_169_benchmark,,,dms.category_043_benchmark,dms.tag_079_benchmark +dms.directory_199_benchmark,D_0199,dms.directory_099_benchmark,,,dms.category_050_benchmark,dms.tag_110_benchmark +dms.directory_200_benchmark,D_0200,dms.directory_123_benchmark,,,dms.category_031_benchmark,dms.tag_116_benchmark +dms.directory_201_benchmark,D_0201,dms.directory_090_benchmark,,,dms.category_049_benchmark,dms.tag_093_benchmark +dms.directory_202_benchmark,D_0202,dms.directory_095_benchmark,,,dms.category_013_benchmark,dms.tag_068_benchmark +dms.directory_203_benchmark,D_0203,dms.directory_107_benchmark,,,dms.category_040_benchmark,dms.tag_024_benchmark +dms.directory_204_benchmark,D_0204,dms.directory_105_benchmark,,,,dms.tag_046_benchmark +dms.directory_205_benchmark,D_0205,dms.directory_092_benchmark,,,, +dms.directory_206_benchmark,D_0206,dms.directory_162_benchmark,,,dms.category_018_benchmark,dms.tag_083_benchmark +dms.directory_207_benchmark,D_0207,dms.directory_027_benchmark,,,dms.category_016_benchmark,dms.tag_147_benchmark +dms.directory_208_benchmark,D_0208,dms.directory_011_benchmark,,,,dms.tag_119_benchmark +dms.directory_209_benchmark,D_0209,dms.directory_135_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_210_benchmark,D_0210,dms.directory_160_benchmark,,,dms.category_007_benchmark,dms.tag_118_benchmark +dms.directory_211_benchmark,D_0211,dms.directory_015_benchmark,,,dms.category_041_benchmark,dms.tag_053_benchmark +dms.directory_212_benchmark,D_0212,dms.directory_087_benchmark,,,dms.category_049_benchmark,dms.tag_040_benchmark +dms.directory_213_benchmark,D_0213,dms.directory_015_benchmark,,,dms.category_012_benchmark,dms.tag_057_benchmark +dms.directory_214_benchmark,D_0214,dms.directory_100_benchmark,,,,dms.tag_065_benchmark +dms.directory_215_benchmark,D_0215,dms.directory_075_benchmark,,,,dms.tag_065_benchmark +dms.directory_216_benchmark,D_0216,dms.directory_040_benchmark,,,dms.category_021_benchmark,dms.tag_140_benchmark +dms.directory_217_benchmark,D_0217,dms.directory_056_benchmark,,,dms.category_001_benchmark,dms.tag_099_benchmark +dms.directory_218_benchmark,D_0218,dms.directory_157_benchmark,,,,dms.tag_013_benchmark +dms.directory_219_benchmark,D_0219,dms.directory_154_benchmark,,,dms.category_034_benchmark,dms.tag_047_benchmark +dms.directory_220_benchmark,D_0220,dms.directory_207_benchmark,,,dms.category_012_benchmark,dms.tag_023_benchmark +dms.directory_221_benchmark,D_0221,dms.directory_041_benchmark,,,, +dms.directory_222_benchmark,D_0222,dms.directory_002_benchmark,,,dms.category_014_benchmark,dms.tag_107_benchmark +dms.directory_223_benchmark,D_0223,dms.directory_176_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_224_benchmark,D_0224,dms.directory_223_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_225_benchmark,D_0225,dms.directory_202_benchmark,,,dms.category_038_benchmark,dms.tag_092_benchmark +dms.directory_226_benchmark,D_0226,dms.directory_128_benchmark,,,dms.category_041_benchmark,dms.tag_115_benchmark +dms.directory_227_benchmark,D_0227,dms.directory_044_benchmark,,,dms.category_012_benchmark,dms.tag_023_benchmark +dms.directory_228_benchmark,D_0228,dms.directory_105_benchmark,,,dms.category_012_benchmark,dms.tag_098_benchmark +dms.directory_229_benchmark,D_0229,dms.directory_202_benchmark,,,dms.category_006_benchmark,dms.tag_041_benchmark +dms.directory_230_benchmark,D_0230,dms.directory_104_benchmark,,,dms.category_014_benchmark,dms.tag_107_benchmark +dms.directory_231_benchmark,D_0231,dms.directory_137_benchmark,,,,dms.tag_065_benchmark +dms.directory_232_benchmark,D_0232,dms.directory_179_benchmark,,,,dms.tag_119_benchmark +dms.directory_233_benchmark,D_0233,dms.directory_059_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_234_benchmark,D_0234,dms.directory_147_benchmark,,,,dms.tag_123_benchmark +dms.directory_235_benchmark,D_0235,dms.directory_114_benchmark,,,dms.category_040_benchmark,dms.tag_126_benchmark +dms.directory_236_benchmark,D_0236,dms.directory_033_benchmark,,,dms.category_014_benchmark,dms.tag_149_benchmark +dms.directory_237_benchmark,D_0237,dms.directory_037_benchmark,,,,dms.tag_006_benchmark +dms.directory_238_benchmark,D_0238,dms.directory_083_benchmark,,,dms.category_021_benchmark,dms.tag_140_benchmark +dms.directory_239_benchmark,D_0239,dms.directory_151_benchmark,,,dms.category_021_benchmark,dms.tag_026_benchmark +dms.directory_240_benchmark,D_0240,dms.directory_156_benchmark,,,dms.category_040_benchmark,dms.tag_054_benchmark +dms.directory_241_benchmark,D_0241,dms.directory_034_benchmark,,,, +dms.directory_242_benchmark,D_0242,dms.directory_177_benchmark,,,,dms.tag_032_benchmark +dms.directory_243_benchmark,D_0243,dms.directory_192_benchmark,,,,dms.tag_127_benchmark +dms.directory_244_benchmark,D_0244,dms.directory_022_benchmark,,,dms.category_043_benchmark,dms.tag_139_benchmark +dms.directory_245_benchmark,D_0245,dms.directory_031_benchmark,,,dms.category_017_benchmark,dms.tag_011_benchmark +dms.directory_246_benchmark,D_0246,dms.directory_051_benchmark,,,, +dms.directory_247_benchmark,D_0247,dms.directory_007_benchmark,,,dms.category_022_benchmark,dms.tag_061_benchmark +dms.directory_248_benchmark,D_0248,dms.directory_135_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_249_benchmark,D_0249,dms.directory_111_benchmark,,,,dms.tag_015_benchmark +dms.directory_250_benchmark,D_0250,dms.directory_016_benchmark,,,,dms.tag_123_benchmark +dms.directory_251_benchmark,D_0251,dms.directory_243_benchmark,,,dms.category_024_benchmark,dms.tag_049_benchmark +dms.directory_252_benchmark,D_0252,dms.directory_102_benchmark,,,,dms.tag_009_benchmark +dms.directory_253_benchmark,D_0253,dms.directory_063_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_254_benchmark,D_0254,dms.directory_185_benchmark,,,dms.category_025_benchmark,dms.tag_028_benchmark +dms.directory_255_benchmark,D_0255,dms.directory_024_benchmark,,,dms.category_015_benchmark,dms.tag_002_benchmark +dms.directory_256_benchmark,D_0256,dms.directory_054_benchmark,,,,dms.tag_016_benchmark +dms.directory_257_benchmark,D_0257,dms.directory_122_benchmark,,,,dms.tag_016_benchmark +dms.directory_258_benchmark,D_0258,dms.directory_115_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_259_benchmark,D_0259,dms.directory_136_benchmark,,,,dms.tag_063_benchmark +dms.directory_260_benchmark,D_0260,dms.directory_106_benchmark,,,dms.category_003_benchmark,dms.tag_076_benchmark +dms.directory_261_benchmark,D_0261,dms.directory_247_benchmark,,,, +dms.directory_262_benchmark,D_0262,dms.directory_077_benchmark,,,dms.category_001_benchmark,dms.tag_051_benchmark +dms.directory_263_benchmark,D_0263,dms.directory_017_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_264_benchmark,D_0264,dms.directory_061_benchmark,,,dms.category_043_benchmark,dms.tag_138_benchmark +dms.directory_265_benchmark,D_0265,dms.directory_138_benchmark,,,dms.category_041_benchmark,dms.tag_036_benchmark +dms.directory_266_benchmark,D_0266,dms.directory_252_benchmark,,,dms.category_043_benchmark,dms.tag_138_benchmark +dms.directory_267_benchmark,D_0267,dms.directory_159_benchmark,,,dms.category_012_benchmark,dms.tag_023_benchmark +dms.directory_268_benchmark,D_0268,dms.directory_184_benchmark,,,dms.category_035_benchmark,dms.tag_101_benchmark +dms.directory_269_benchmark,D_0269,dms.directory_253_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_270_benchmark,D_0270,dms.directory_095_benchmark,,,dms.category_039_benchmark,dms.tag_146_benchmark +dms.directory_271_benchmark,D_0271,dms.directory_078_benchmark,,,dms.category_005_benchmark,dms.tag_014_benchmark +dms.directory_272_benchmark,D_0272,dms.directory_022_benchmark,,,dms.category_015_benchmark,dms.tag_002_benchmark +dms.directory_273_benchmark,D_0273,dms.directory_076_benchmark,,,,dms.tag_013_benchmark +dms.directory_274_benchmark,D_0274,dms.directory_194_benchmark,,,dms.category_025_benchmark,dms.tag_112_benchmark +dms.directory_275_benchmark,D_0275,dms.directory_251_benchmark,,,dms.category_014_benchmark,dms.tag_149_benchmark +dms.directory_276_benchmark,D_0276,dms.directory_246_benchmark,,,dms.category_019_benchmark,dms.tag_081_benchmark +dms.directory_277_benchmark,D_0277,dms.directory_073_benchmark,,,dms.category_034_benchmark,dms.tag_033_benchmark +dms.directory_278_benchmark,D_0278,dms.directory_151_benchmark,,,,dms.tag_009_benchmark +dms.directory_279_benchmark,D_0279,dms.directory_143_benchmark,,,,dms.tag_010_benchmark +dms.directory_280_benchmark,D_0280,dms.directory_270_benchmark,,,dms.category_025_benchmark,dms.tag_112_benchmark +dms.directory_281_benchmark,D_0281,dms.directory_146_benchmark,,,dms.category_022_benchmark,dms.tag_020_benchmark +dms.directory_282_benchmark,D_0282,dms.directory_258_benchmark,,,,dms.tag_046_benchmark +dms.directory_283_benchmark,D_0283,dms.directory_098_benchmark,,,,dms.tag_013_benchmark +dms.directory_284_benchmark,D_0284,dms.directory_041_benchmark,,,,dms.tag_006_benchmark +dms.directory_285_benchmark,D_0285,dms.directory_239_benchmark,,,,dms.tag_037_benchmark +dms.directory_286_benchmark,D_0286,dms.directory_229_benchmark,,,dms.category_040_benchmark,dms.tag_024_benchmark +dms.directory_287_benchmark,D_0287,dms.directory_186_benchmark,,,dms.category_037_benchmark,dms.tag_088_benchmark +dms.directory_288_benchmark,D_0288,dms.directory_149_benchmark,,,dms.category_037_benchmark,dms.tag_088_benchmark +dms.directory_289_benchmark,D_0289,dms.directory_187_benchmark,,,dms.category_003_benchmark,dms.tag_076_benchmark +dms.directory_290_benchmark,D_0290,dms.directory_138_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_291_benchmark,D_0291,dms.directory_104_benchmark,,,,dms.tag_013_benchmark +dms.directory_292_benchmark,D_0292,dms.directory_188_benchmark,,,,dms.tag_094_benchmark +dms.directory_293_benchmark,D_0293,dms.directory_030_benchmark,,,dms.category_018_benchmark,dms.tag_083_benchmark +dms.directory_294_benchmark,D_0294,dms.directory_002_benchmark,,,dms.category_040_benchmark,dms.tag_126_benchmark +dms.directory_295_benchmark,D_0295,dms.directory_042_benchmark,,,,dms.tag_037_benchmark +dms.directory_296_benchmark,D_0296,dms.directory_281_benchmark,,,dms.category_037_benchmark,dms.tag_088_benchmark +dms.directory_297_benchmark,D_0297,dms.directory_152_benchmark,,,,dms.tag_012_benchmark +dms.directory_298_benchmark,D_0298,dms.directory_219_benchmark,,,,dms.tag_096_benchmark +dms.directory_299_benchmark,D_0299,dms.directory_133_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_300_benchmark,D_0300,dms.directory_024_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_301_benchmark,D_0301,dms.directory_006_benchmark,,,dms.category_020_benchmark,dms.tag_129_benchmark +dms.directory_302_benchmark,D_0302,dms.directory_211_benchmark,,,dms.category_016_benchmark,dms.tag_147_benchmark +dms.directory_303_benchmark,D_0303,dms.directory_210_benchmark,,,,dms.tag_044_benchmark +dms.directory_304_benchmark,D_0304,dms.directory_047_benchmark,,,dms.category_031_benchmark,dms.tag_111_benchmark +dms.directory_305_benchmark,D_0305,dms.directory_041_benchmark,,,dms.category_040_benchmark,dms.tag_054_benchmark +dms.directory_306_benchmark,D_0306,dms.directory_290_benchmark,,,,dms.tag_108_benchmark +dms.directory_307_benchmark,D_0307,dms.directory_278_benchmark,,,, +dms.directory_308_benchmark,D_0308,dms.directory_303_benchmark,,,dms.category_034_benchmark,dms.tag_142_benchmark +dms.directory_309_benchmark,D_0309,dms.directory_133_benchmark,,,dms.category_035_benchmark,dms.tag_101_benchmark +dms.directory_310_benchmark,D_0310,dms.directory_231_benchmark,,,dms.category_015_benchmark,dms.tag_089_benchmark +dms.directory_311_benchmark,D_0311,dms.directory_223_benchmark,,,dms.category_003_benchmark,dms.tag_106_benchmark +dms.directory_312_benchmark,D_0312,dms.directory_034_benchmark,,,dms.category_018_benchmark,dms.tag_018_benchmark +dms.directory_313_benchmark,D_0313,dms.directory_180_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_314_benchmark,D_0314,dms.directory_284_benchmark,,,,dms.tag_104_benchmark +dms.directory_315_benchmark,D_0315,dms.directory_024_benchmark,,,dms.category_040_benchmark,dms.tag_126_benchmark +dms.directory_316_benchmark,D_0316,dms.directory_297_benchmark,,,,dms.tag_044_benchmark +dms.directory_317_benchmark,D_0317,dms.directory_290_benchmark,,,dms.category_050_benchmark,dms.tag_029_benchmark +dms.directory_318_benchmark,D_0318,dms.directory_081_benchmark,,,dms.category_025_benchmark,dms.tag_097_benchmark +dms.directory_319_benchmark,D_0319,dms.directory_261_benchmark,,,dms.category_041_benchmark,dms.tag_115_benchmark +dms.directory_320_benchmark,D_0320,dms.directory_183_benchmark,,,,dms.tag_086_benchmark +dms.directory_321_benchmark,D_0321,dms.directory_311_benchmark,,,,dms.tag_015_benchmark +dms.directory_322_benchmark,D_0322,dms.directory_009_benchmark,,,,dms.tag_015_benchmark +dms.directory_323_benchmark,D_0323,dms.directory_226_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_324_benchmark,D_0324,dms.directory_013_benchmark,,,,dms.tag_037_benchmark +dms.directory_325_benchmark,D_0325,dms.directory_123_benchmark,,,dms.category_050_benchmark,dms.tag_050_benchmark +dms.directory_326_benchmark,D_0326,dms.directory_201_benchmark,,,,dms.tag_016_benchmark +dms.directory_327_benchmark,D_0327,dms.directory_029_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_328_benchmark,D_0328,dms.directory_231_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_329_benchmark,D_0329,dms.directory_207_benchmark,,,,dms.tag_016_benchmark +dms.directory_330_benchmark,D_0330,dms.directory_078_benchmark,,,dms.category_020_benchmark,dms.tag_141_benchmark +dms.directory_331_benchmark,D_0331,dms.directory_179_benchmark,,,,dms.tag_096_benchmark +dms.directory_332_benchmark,D_0332,dms.directory_019_benchmark,,,dms.category_039_benchmark,dms.tag_003_benchmark +dms.directory_333_benchmark,D_0333,dms.directory_246_benchmark,,,dms.category_034_benchmark,dms.tag_033_benchmark +dms.directory_334_benchmark,D_0334,dms.directory_194_benchmark,,,dms.category_016_benchmark,dms.tag_147_benchmark +dms.directory_335_benchmark,D_0335,dms.directory_190_benchmark,,,dms.category_040_benchmark,dms.tag_024_benchmark +dms.directory_336_benchmark,D_0336,dms.directory_244_benchmark,,,dms.category_039_benchmark,dms.tag_128_benchmark +dms.directory_337_benchmark,D_0337,dms.directory_148_benchmark,,,dms.category_003_benchmark,dms.tag_076_benchmark +dms.directory_338_benchmark,D_0338,dms.directory_197_benchmark,,,,dms.tag_090_benchmark +dms.directory_339_benchmark,D_0339,dms.directory_235_benchmark,,,,dms.tag_006_benchmark +dms.directory_340_benchmark,D_0340,dms.directory_219_benchmark,,,,dms.tag_060_benchmark +dms.directory_341_benchmark,D_0341,dms.directory_071_benchmark,,,dms.category_015_benchmark,dms.tag_089_benchmark +dms.directory_342_benchmark,D_0342,dms.directory_211_benchmark,,,dms.category_017_benchmark,dms.tag_017_benchmark +dms.directory_343_benchmark,D_0343,dms.directory_029_benchmark,,,,dms.tag_037_benchmark +dms.directory_344_benchmark,D_0344,dms.directory_271_benchmark,,,dms.category_004_benchmark,dms.tag_135_benchmark +dms.directory_345_benchmark,D_0345,dms.directory_098_benchmark,,,dms.category_004_benchmark,dms.tag_135_benchmark +dms.directory_346_benchmark,D_0346,dms.directory_065_benchmark,,,dms.category_007_benchmark,dms.tag_067_benchmark +dms.directory_347_benchmark,D_0347,dms.directory_263_benchmark,,,,dms.tag_044_benchmark +dms.directory_348_benchmark,D_0348,dms.directory_294_benchmark,,,dms.category_022_benchmark,dms.tag_020_benchmark +dms.directory_349_benchmark,D_0349,dms.directory_233_benchmark,,,dms.category_031_benchmark,dms.tag_111_benchmark +dms.directory_350_benchmark,D_0350,dms.directory_095_benchmark,,,dms.category_049_benchmark,dms.tag_040_benchmark +dms.directory_351_benchmark,D_0351,dms.directory_342_benchmark,,,dms.category_039_benchmark,dms.tag_003_benchmark +dms.directory_352_benchmark,D_0352,dms.directory_331_benchmark,,,,dms.tag_094_benchmark +dms.directory_353_benchmark,D_0353,dms.directory_067_benchmark,,,dms.category_040_benchmark,dms.tag_126_benchmark +dms.directory_354_benchmark,D_0354,dms.directory_269_benchmark,,,dms.category_022_benchmark,dms.tag_061_benchmark +dms.directory_355_benchmark,D_0355,dms.directory_045_benchmark,,,,dms.tag_104_benchmark +dms.directory_356_benchmark,D_0356,dms.directory_013_benchmark,,,dms.category_024_benchmark,dms.tag_049_benchmark +dms.directory_357_benchmark,D_0357,dms.directory_347_benchmark,,,dms.category_050_benchmark,dms.tag_110_benchmark +dms.directory_358_benchmark,D_0358,dms.directory_099_benchmark,,,dms.category_022_benchmark,dms.tag_020_benchmark +dms.directory_359_benchmark,D_0359,dms.directory_214_benchmark,,,,dms.tag_132_benchmark +dms.directory_360_benchmark,D_0360,dms.directory_043_benchmark,,,, +dms.directory_361_benchmark,D_0361,dms.directory_054_benchmark,,,,dms.tag_044_benchmark +dms.directory_362_benchmark,D_0362,dms.directory_320_benchmark,,,dms.category_011_benchmark,dms.tag_144_benchmark +dms.directory_363_benchmark,D_0363,dms.directory_020_benchmark,,,,dms.tag_134_benchmark +dms.directory_364_benchmark,D_0364,dms.directory_328_benchmark,,,dms.category_014_benchmark,dms.tag_107_benchmark +dms.directory_365_benchmark,D_0365,dms.directory_075_benchmark,,,,dms.tag_015_benchmark +dms.directory_366_benchmark,D_0366,dms.directory_147_benchmark,,,dms.category_041_benchmark,dms.tag_036_benchmark +dms.directory_367_benchmark,D_0367,dms.directory_318_benchmark,,,dms.category_001_benchmark,dms.tag_099_benchmark +dms.directory_368_benchmark,D_0368,dms.directory_143_benchmark,,,,dms.tag_108_benchmark +dms.directory_369_benchmark,D_0369,dms.directory_220_benchmark,,,dms.category_001_benchmark,dms.tag_122_benchmark +dms.directory_370_benchmark,D_0370,dms.directory_194_benchmark,,,dms.category_027_benchmark,dms.tag_001_benchmark +dms.directory_371_benchmark,D_0371,dms.directory_024_benchmark,,,dms.category_022_benchmark,dms.tag_073_benchmark +dms.directory_372_benchmark,D_0372,dms.directory_023_benchmark,,,dms.category_004_benchmark,dms.tag_135_benchmark +dms.directory_373_benchmark,D_0373,dms.directory_149_benchmark,,,dms.category_012_benchmark,dms.tag_023_benchmark +dms.directory_374_benchmark,D_0374,dms.directory_097_benchmark,,,dms.category_007_benchmark,dms.tag_118_benchmark +dms.directory_375_benchmark,D_0375,dms.directory_356_benchmark,,,,dms.tag_016_benchmark +dms.directory_376_benchmark,D_0376,dms.directory_106_benchmark,,,, +dms.directory_377_benchmark,D_0377,dms.directory_145_benchmark,,,dms.category_044_benchmark,dms.tag_095_benchmark +dms.directory_378_benchmark,D_0378,dms.directory_135_benchmark,,,dms.category_038_benchmark,dms.tag_092_benchmark +dms.directory_379_benchmark,D_0379,dms.directory_148_benchmark,,,dms.category_034_benchmark,dms.tag_109_benchmark +dms.directory_380_benchmark,D_0380,dms.directory_108_benchmark,,,dms.category_012_benchmark,dms.tag_023_benchmark +dms.directory_381_benchmark,D_0381,dms.directory_064_benchmark,,,dms.category_003_benchmark,dms.tag_076_benchmark +dms.directory_382_benchmark,D_0382,dms.directory_282_benchmark,,,dms.category_043_benchmark,dms.tag_139_benchmark +dms.directory_383_benchmark,D_0383,dms.directory_172_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_384_benchmark,D_0384,dms.directory_190_benchmark,,,dms.category_039_benchmark,dms.tag_003_benchmark +dms.directory_385_benchmark,D_0385,dms.directory_216_benchmark,,,dms.category_050_benchmark,dms.tag_029_benchmark +dms.directory_386_benchmark,D_0386,dms.directory_181_benchmark,,,dms.category_003_benchmark,dms.tag_145_benchmark +dms.directory_387_benchmark,D_0387,dms.directory_193_benchmark,,,dms.category_015_benchmark,dms.tag_002_benchmark +dms.directory_388_benchmark,D_0388,dms.directory_027_benchmark,,,dms.category_025_benchmark,dms.tag_082_benchmark +dms.directory_389_benchmark,D_0389,dms.directory_164_benchmark,,,dms.category_012_benchmark,dms.tag_057_benchmark +dms.directory_390_benchmark,D_0390,dms.directory_385_benchmark,,,dms.category_013_benchmark,dms.tag_031_benchmark +dms.directory_391_benchmark,D_0391,dms.directory_283_benchmark,,,,dms.tag_086_benchmark +dms.directory_392_benchmark,D_0392,dms.directory_213_benchmark,,,dms.category_029_benchmark,dms.tag_005_benchmark +dms.directory_393_benchmark,D_0393,dms.directory_013_benchmark,,,dms.category_046_benchmark,dms.tag_022_benchmark +dms.directory_394_benchmark,D_0394,dms.directory_214_benchmark,,,dms.category_034_benchmark,dms.tag_142_benchmark +dms.directory_395_benchmark,D_0395,dms.directory_352_benchmark,,,dms.category_001_benchmark,dms.tag_122_benchmark +dms.directory_396_benchmark,D_0396,dms.directory_030_benchmark,,,,dms.tag_132_benchmark +dms.directory_397_benchmark,D_0397,dms.directory_335_benchmark,,,dms.category_001_benchmark,dms.tag_051_benchmark +dms.directory_398_benchmark,D_0398,dms.directory_135_benchmark,,,dms.category_014_benchmark,dms.tag_059_benchmark +dms.directory_399_benchmark,D_0399,dms.directory_382_benchmark,,,dms.category_015_benchmark,dms.tag_120_benchmark +dms.directory_400_benchmark,D_0400,dms.directory_108_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_401_benchmark,D_0401,dms.directory_329_benchmark,,,dms.category_005_benchmark,dms.tag_014_benchmark +dms.directory_402_benchmark,D_0402,dms.directory_253_benchmark,,,dms.category_040_benchmark,dms.tag_072_benchmark +dms.directory_403_benchmark,D_0403,dms.directory_001_benchmark,,,dms.category_020_benchmark,dms.tag_129_benchmark +dms.directory_404_benchmark,D_0404,dms.directory_343_benchmark,,,dms.category_001_benchmark,dms.tag_122_benchmark +dms.directory_405_benchmark,D_0405,dms.directory_143_benchmark,,,dms.category_046_benchmark,dms.tag_062_benchmark +dms.directory_406_benchmark,D_0406,dms.directory_308_benchmark,,,dms.category_039_benchmark,dms.tag_128_benchmark +dms.directory_407_benchmark,D_0407,dms.directory_350_benchmark,,,dms.category_022_benchmark,dms.tag_020_benchmark +dms.directory_408_benchmark,D_0408,dms.directory_383_benchmark,,,dms.category_027_benchmark,dms.tag_001_benchmark +dms.directory_409_benchmark,D_0409,dms.directory_069_benchmark,,,,dms.tag_090_benchmark +dms.directory_410_benchmark,D_0410,dms.directory_239_benchmark,,,dms.category_025_benchmark,dms.tag_097_benchmark +dms.directory_411_benchmark,D_0411,dms.directory_208_benchmark,,,dms.category_046_benchmark,dms.tag_062_benchmark +dms.directory_412_benchmark,D_0412,dms.directory_053_benchmark,,,dms.category_014_benchmark,dms.tag_149_benchmark +dms.directory_413_benchmark,D_0413,dms.directory_191_benchmark,,,dms.category_046_benchmark,dms.tag_062_benchmark +dms.directory_414_benchmark,D_0414,dms.directory_151_benchmark,,,dms.category_040_benchmark,dms.tag_024_benchmark +dms.directory_415_benchmark,D_0415,dms.directory_151_benchmark,,,,dms.tag_090_benchmark +dms.directory_416_benchmark,D_0416,dms.directory_169_benchmark,,,dms.category_039_benchmark,dms.tag_146_benchmark +dms.directory_417_benchmark,D_0417,dms.directory_282_benchmark,,,dms.category_023_benchmark,dms.tag_038_benchmark +dms.directory_418_benchmark,D_0418,dms.directory_300_benchmark,,,dms.category_021_benchmark,dms.tag_026_benchmark +dms.directory_419_benchmark,D_0419,dms.directory_239_benchmark,,,dms.category_026_benchmark,dms.tag_027_benchmark +dms.directory_420_benchmark,D_0420,dms.directory_395_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_421_benchmark,D_0421,dms.directory_303_benchmark,,,dms.category_014_benchmark,dms.tag_078_benchmark +dms.directory_422_benchmark,D_0422,dms.directory_415_benchmark,,,dms.category_022_benchmark,dms.tag_061_benchmark +dms.directory_423_benchmark,D_0423,dms.directory_183_benchmark,,,,dms.tag_006_benchmark +dms.directory_424_benchmark,D_0424,dms.directory_253_benchmark,,,dms.category_037_benchmark,dms.tag_088_benchmark +dms.directory_425_benchmark,D_0425,dms.directory_383_benchmark,,,dms.category_014_benchmark,dms.tag_107_benchmark +dms.directory_426_benchmark,D_0426,dms.directory_421_benchmark,,,dms.category_012_benchmark,dms.tag_023_benchmark +dms.directory_427_benchmark,D_0427,dms.directory_036_benchmark,,,dms.category_043_benchmark,dms.tag_079_benchmark +dms.directory_428_benchmark,D_0428,dms.directory_151_benchmark,,,dms.category_016_benchmark,dms.tag_100_benchmark +dms.directory_429_benchmark,D_0429,dms.directory_008_benchmark,,,dms.category_011_benchmark,dms.tag_021_benchmark +dms.directory_430_benchmark,D_0430,dms.directory_201_benchmark,,,dms.category_041_benchmark,dms.tag_053_benchmark +dms.directory_431_benchmark,D_0431,dms.directory_125_benchmark,,,dms.category_011_benchmark,dms.tag_080_benchmark +dms.directory_432_benchmark,D_0432,dms.directory_275_benchmark,,,dms.category_001_benchmark,dms.tag_051_benchmark +dms.directory_433_benchmark,D_0433,dms.directory_290_benchmark,,,dms.category_033_benchmark,dms.tag_039_benchmark +dms.directory_434_benchmark,D_0434,dms.directory_351_benchmark,,,dms.category_013_benchmark,dms.tag_068_benchmark +dms.directory_435_benchmark,D_0435,dms.directory_089_benchmark,,,, +dms.directory_436_benchmark,D_0436,dms.directory_165_benchmark,,,, +dms.directory_437_benchmark,D_0437,dms.directory_346_benchmark,,,dms.category_012_benchmark,dms.tag_057_benchmark +dms.directory_438_benchmark,D_0438,dms.directory_312_benchmark,,,dms.category_025_benchmark,dms.tag_112_benchmark +dms.directory_439_benchmark,D_0439,dms.directory_330_benchmark,,,dms.category_017_benchmark,dms.tag_011_benchmark +dms.directory_440_benchmark,D_0440,dms.directory_288_benchmark,,,,dms.tag_134_benchmark +dms.directory_441_benchmark,D_0441,dms.directory_342_benchmark,,,dms.category_037_benchmark,dms.tag_088_benchmark +dms.directory_442_benchmark,D_0442,dms.directory_406_benchmark,,,dms.category_021_benchmark,dms.tag_026_benchmark +dms.directory_443_benchmark,D_0443,dms.directory_181_benchmark,,,dms.category_001_benchmark,dms.tag_143_benchmark +dms.directory_444_benchmark,D_0444,dms.directory_096_benchmark,,,dms.category_012_benchmark,dms.tag_057_benchmark +dms.directory_445_benchmark,D_0445,dms.directory_432_benchmark,,,dms.category_041_benchmark,dms.tag_087_benchmark +dms.directory_446_benchmark,D_0446,dms.directory_309_benchmark,,,,dms.tag_009_benchmark +dms.directory_447_benchmark,D_0447,dms.directory_230_benchmark,,,dms.category_043_benchmark,dms.tag_138_benchmark +dms.directory_448_benchmark,D_0448,dms.directory_035_benchmark,,,dms.category_028_benchmark,dms.tag_052_benchmark +dms.directory_449_benchmark,D_0449,dms.directory_262_benchmark,,,,dms.tag_015_benchmark +dms.directory_450_benchmark,D_0450,dms.directory_286_benchmark,,,dms.category_025_benchmark,dms.tag_028_benchmark +dms.directory_451_benchmark,D_0451,dms.directory_153_benchmark,,,dms.category_032_benchmark,dms.tag_064_benchmark +dms.directory_452_benchmark,D_0452,dms.directory_419_benchmark,,,dms.category_033_benchmark,dms.tag_039_benchmark +dms.directory_453_benchmark,D_0453,dms.directory_320_benchmark,,,dms.category_040_benchmark,dms.tag_024_benchmark +dms.directory_454_benchmark,D_0454,dms.directory_333_benchmark,,,,dms.tag_090_benchmark +dms.directory_455_benchmark,D_0455,dms.directory_362_benchmark,,,dms.category_046_benchmark,dms.tag_062_benchmark +dms.directory_456_benchmark,D_0456,dms.directory_334_benchmark,,,dms.category_028_benchmark,dms.tag_052_benchmark +dms.directory_457_benchmark,D_0457,dms.directory_340_benchmark,,,dms.category_043_benchmark,dms.tag_139_benchmark +dms.directory_458_benchmark,D_0458,dms.directory_365_benchmark,,,dms.category_033_benchmark,dms.tag_039_benchmark +dms.directory_459_benchmark,D_0459,dms.directory_291_benchmark,,,,dms.tag_046_benchmark +dms.directory_460_benchmark,D_0460,dms.directory_420_benchmark,,,,dms.tag_016_benchmark +dms.directory_461_benchmark,D_0461,dms.directory_390_benchmark,,,dms.category_050_benchmark,dms.tag_117_benchmark +dms.directory_462_benchmark,D_0462,dms.directory_021_benchmark,,,dms.category_027_benchmark,dms.tag_048_benchmark +dms.directory_463_benchmark,D_0463,dms.directory_402_benchmark,,,dms.category_021_benchmark,dms.tag_136_benchmark +dms.directory_464_benchmark,D_0464,dms.directory_041_benchmark,,,dms.category_040_benchmark,dms.tag_126_benchmark +dms.directory_465_benchmark,D_0465,dms.directory_053_benchmark,,,dms.category_008_benchmark,dms.tag_077_benchmark +dms.directory_466_benchmark,D_0466,dms.directory_446_benchmark,,,,dms.tag_123_benchmark +dms.directory_467_benchmark,D_0467,dms.directory_359_benchmark,,,dms.category_041_benchmark,dms.tag_115_benchmark +dms.directory_468_benchmark,D_0468,dms.directory_321_benchmark,,,dms.category_015_benchmark,dms.tag_056_benchmark +dms.directory_469_benchmark,D_0469,dms.directory_023_benchmark,,,dms.category_014_benchmark,dms.tag_103_benchmark +dms.directory_470_benchmark,D_0470,dms.directory_103_benchmark,,,dms.category_019_benchmark,dms.tag_125_benchmark +dms.directory_471_benchmark,D_0471,dms.directory_468_benchmark,,,dms.category_023_benchmark,dms.tag_085_benchmark +dms.directory_472_benchmark,D_0472,dms.directory_047_benchmark,,,dms.category_049_benchmark,dms.tag_035_benchmark +dms.directory_473_benchmark,D_0473,dms.directory_254_benchmark,,,dms.category_019_benchmark,dms.tag_125_benchmark +dms.directory_474_benchmark,D_0474,dms.directory_200_benchmark,,,dms.category_018_benchmark,dms.tag_133_benchmark +dms.directory_475_benchmark,D_0475,dms.directory_247_benchmark,,,dms.category_011_benchmark,dms.tag_144_benchmark +dms.directory_476_benchmark,D_0476,dms.directory_099_benchmark,,,dms.category_018_benchmark,dms.tag_018_benchmark +dms.directory_477_benchmark,D_0477,dms.directory_258_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_478_benchmark,D_0478,dms.directory_235_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_479_benchmark,D_0479,dms.directory_361_benchmark,,,dms.category_031_benchmark,dms.tag_111_benchmark +dms.directory_480_benchmark,D_0480,dms.directory_027_benchmark,,,dms.category_013_benchmark,dms.tag_068_benchmark +dms.directory_481_benchmark,D_0481,dms.directory_207_benchmark,,,dms.category_041_benchmark,dms.tag_053_benchmark +dms.directory_482_benchmark,D_0482,dms.directory_331_benchmark,,,,dms.tag_123_benchmark +dms.directory_483_benchmark,D_0483,dms.directory_381_benchmark,,,,dms.tag_063_benchmark +dms.directory_484_benchmark,D_0484,dms.directory_180_benchmark,,,dms.category_041_benchmark,dms.tag_036_benchmark +dms.directory_485_benchmark,D_0485,dms.directory_470_benchmark,,,dms.category_001_benchmark,dms.tag_143_benchmark +dms.directory_486_benchmark,D_0486,dms.directory_160_benchmark,,,dms.category_024_benchmark,dms.tag_084_benchmark +dms.directory_487_benchmark,D_0487,dms.directory_307_benchmark,,,dms.category_014_benchmark,dms.tag_107_benchmark +dms.directory_488_benchmark,D_0488,dms.directory_376_benchmark,,,,dms.tag_090_benchmark +dms.directory_489_benchmark,D_0489,dms.directory_371_benchmark,,,dms.category_005_benchmark,dms.tag_058_benchmark +dms.directory_490_benchmark,D_0490,dms.directory_329_benchmark,,,,dms.tag_086_benchmark +dms.directory_491_benchmark,D_0491,dms.directory_065_benchmark,,,dms.category_022_benchmark,dms.tag_020_benchmark +dms.directory_492_benchmark,D_0492,dms.directory_159_benchmark,,,, +dms.directory_493_benchmark,D_0493,dms.directory_261_benchmark,,,dms.category_037_benchmark,dms.tag_030_benchmark +dms.directory_494_benchmark,D_0494,dms.directory_398_benchmark,,,dms.category_041_benchmark,dms.tag_036_benchmark +dms.directory_495_benchmark,D_0495,dms.directory_028_benchmark,,,dms.category_031_benchmark,dms.tag_114_benchmark +dms.directory_496_benchmark,D_0496,dms.directory_284_benchmark,,,dms.category_025_benchmark,dms.tag_082_benchmark +dms.directory_497_benchmark,D_0497,dms.directory_160_benchmark,,,dms.category_005_benchmark,dms.tag_121_benchmark +dms.directory_498_benchmark,D_0498,dms.directory_321_benchmark,,,, +dms.directory_499_benchmark,D_0499,dms.directory_075_benchmark,,,,dms.tag_086_benchmark +dms.directory_500_benchmark,D_0500,dms.directory_385_benchmark,,,dms.category_001_benchmark,dms.tag_143_benchmark diff --git a/dms/tests/data/dms.file.csv b/dms/tests/data/dms.file.csv new file mode 100644 index 000000000..ee9eb58e1 --- /dev/null +++ b/dms/tests/data/dms.file.csv @@ -0,0 +1,1501 @@ +id,name,directory_id/id,category_id/id,tag_ids/id,content +dms.file_0001_benchmark,F_0001.txt,dms.directory_152_benchmark,dms.category_041_benchmark,dms.tag_042_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0002_benchmark,F_0002.txt,dms.directory_456_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0003_benchmark,F_0003.txt,dms.directory_183_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0004_benchmark,F_0004.txt,dms.directory_024_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0005_benchmark,F_0005.txt,dms.directory_305_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0006_benchmark,F_0006.txt,dms.directory_449_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0007_benchmark,F_0007.txt,dms.directory_178_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0008_benchmark,F_0008.txt,dms.directory_406_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0009_benchmark,F_0009.txt,dms.directory_405_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0010_benchmark,F_0010.txt,dms.directory_050_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0011_benchmark,F_0011.txt,dms.directory_120_benchmark,,dms.tag_130_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0012_benchmark,F_0012.txt,dms.directory_010_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0013_benchmark,F_0013.txt,dms.directory_214_benchmark,dms.category_021_benchmark,dms.tag_136_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0014_benchmark,F_0014.txt,dms.directory_490_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0015_benchmark,F_0015.txt,dms.directory_435_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0016_benchmark,F_0016.txt,dms.directory_337_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0017_benchmark,F_0017.txt,dms.directory_146_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0018_benchmark,F_0018.txt,dms.directory_260_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0019_benchmark,F_0019.txt,dms.directory_483_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0020_benchmark,F_0020.txt,dms.directory_200_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0021_benchmark,F_0021.txt,dms.directory_426_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0022_benchmark,F_0022.txt,dms.directory_284_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0023_benchmark,F_0023.txt,dms.directory_463_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0024_benchmark,F_0024.txt,dms.directory_010_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0025_benchmark,F_0025.txt,dms.directory_077_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0026_benchmark,F_0026.txt,dms.directory_131_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0027_benchmark,F_0027.txt,dms.directory_072_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0028_benchmark,F_0028.txt,dms.directory_439_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0029_benchmark,F_0029.txt,dms.directory_314_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0030_benchmark,F_0030.txt,dms.directory_049_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0031_benchmark,F_0031.txt,dms.directory_272_benchmark,dms.category_040_benchmark,dms.tag_072_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0032_benchmark,F_0032.txt,dms.directory_193_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0033_benchmark,F_0033.txt,dms.directory_151_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0034_benchmark,F_0034.txt,dms.directory_482_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0035_benchmark,F_0035.txt,dms.directory_317_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0036_benchmark,F_0036.txt,dms.directory_203_benchmark,,dms.tag_070_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0037_benchmark,F_0037.txt,dms.directory_291_benchmark,dms.category_018_benchmark,dms.tag_133_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0038_benchmark,F_0038.txt,dms.directory_191_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0039_benchmark,F_0039.txt,dms.directory_463_benchmark,dms.category_049_benchmark,dms.tag_035_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0040_benchmark,F_0040.txt,dms.directory_036_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0041_benchmark,F_0041.txt,dms.directory_280_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0042_benchmark,F_0042.txt,dms.directory_366_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0043_benchmark,F_0043.txt,dms.directory_322_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0044_benchmark,F_0044.txt,dms.directory_271_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0045_benchmark,F_0045.txt,dms.directory_339_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0046_benchmark,F_0046.txt,dms.directory_011_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0047_benchmark,F_0047.txt,dms.directory_281_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0048_benchmark,F_0048.txt,dms.directory_314_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0049_benchmark,F_0049.txt,dms.directory_022_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0050_benchmark,F_0050.txt,dms.directory_308_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0051_benchmark,F_0051.txt,dms.directory_138_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0052_benchmark,F_0052.txt,dms.directory_332_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0053_benchmark,F_0053.txt,dms.directory_173_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0054_benchmark,F_0054.txt,dms.directory_499_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0055_benchmark,F_0055.txt,dms.directory_184_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0056_benchmark,F_0056.txt,dms.directory_067_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0057_benchmark,F_0057.txt,dms.directory_196_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0058_benchmark,F_0058.txt,dms.directory_222_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0059_benchmark,F_0059.txt,dms.directory_360_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0060_benchmark,F_0060.txt,dms.directory_260_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0061_benchmark,F_0061.txt,dms.directory_333_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0062_benchmark,F_0062.txt,dms.directory_491_benchmark,dms.category_046_benchmark,dms.tag_022_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0063_benchmark,F_0063.txt,dms.directory_408_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0064_benchmark,F_0064.txt,dms.directory_210_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0065_benchmark,F_0065.txt,dms.directory_112_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0066_benchmark,F_0066.txt,dms.directory_090_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0067_benchmark,F_0067.txt,dms.directory_207_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0068_benchmark,F_0068.txt,dms.directory_078_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0069_benchmark,F_0069.txt,dms.directory_445_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0070_benchmark,F_0070.txt,dms.directory_408_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0071_benchmark,F_0071.txt,dms.directory_014_benchmark,,dms.tag_091_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0072_benchmark,F_0072.txt,dms.directory_065_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0073_benchmark,F_0073.txt,dms.directory_212_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0074_benchmark,F_0074.txt,dms.directory_297_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0075_benchmark,F_0075.txt,dms.directory_485_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0076_benchmark,F_0076.txt,dms.directory_341_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0077_benchmark,F_0077.txt,dms.directory_175_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0078_benchmark,F_0078.txt,dms.directory_202_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0079_benchmark,F_0079.txt,dms.directory_392_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0080_benchmark,F_0080.txt,dms.directory_336_benchmark,dms.category_006_benchmark,dms.tag_041_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0081_benchmark,F_0081.txt,dms.directory_427_benchmark,,dms.tag_091_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0082_benchmark,F_0082.txt,dms.directory_404_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0083_benchmark,F_0083.txt,dms.directory_114_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0084_benchmark,F_0084.txt,dms.directory_281_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0085_benchmark,F_0085.txt,dms.directory_269_benchmark,dms.category_050_benchmark,dms.tag_050_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0086_benchmark,F_0086.txt,dms.directory_145_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0087_benchmark,F_0087.txt,dms.directory_105_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0088_benchmark,F_0088.txt,dms.directory_452_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0089_benchmark,F_0089.txt,dms.directory_101_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0090_benchmark,F_0090.txt,dms.directory_387_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0091_benchmark,F_0091.txt,dms.directory_145_benchmark,dms.category_003_benchmark,dms.tag_145_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0092_benchmark,F_0092.txt,dms.directory_320_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0093_benchmark,F_0093.txt,dms.directory_169_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0094_benchmark,F_0094.txt,dms.directory_171_benchmark,dms.category_041_benchmark,dms.tag_042_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0095_benchmark,F_0095.txt,dms.directory_088_benchmark,,dms.tag_004_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0096_benchmark,F_0096.txt,dms.directory_471_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0097_benchmark,F_0097.txt,dms.directory_442_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0098_benchmark,F_0098.txt,dms.directory_104_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0099_benchmark,F_0099.txt,dms.directory_398_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0100_benchmark,F_0100.txt,dms.directory_197_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0101_benchmark,F_0101.txt,dms.directory_194_benchmark,dms.category_011_benchmark,dms.tag_021_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0102_benchmark,F_0102.txt,dms.directory_298_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0103_benchmark,F_0103.txt,dms.directory_150_benchmark,dms.category_044_benchmark,dms.tag_095_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0104_benchmark,F_0104.txt,dms.directory_287_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0105_benchmark,F_0105.txt,dms.directory_419_benchmark,,dms.tag_034_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0106_benchmark,F_0106.txt,dms.directory_355_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0107_benchmark,F_0107.txt,dms.directory_462_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0108_benchmark,F_0108.txt,dms.directory_386_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0109_benchmark,F_0109.txt,dms.directory_245_benchmark,dms.category_009_benchmark,dms.tag_025_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0110_benchmark,F_0110.txt,dms.directory_309_benchmark,,dms.tag_124_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0111_benchmark,F_0111.txt,dms.directory_208_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0112_benchmark,F_0112.txt,dms.directory_416_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0113_benchmark,F_0113.txt,dms.directory_026_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0114_benchmark,F_0114.txt,dms.directory_253_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0115_benchmark,F_0115.txt,dms.directory_190_benchmark,,dms.tag_075_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0116_benchmark,F_0116.txt,dms.directory_017_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0117_benchmark,F_0117.txt,dms.directory_159_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0118_benchmark,F_0118.txt,dms.directory_094_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0119_benchmark,F_0119.txt,dms.directory_132_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0120_benchmark,F_0120.txt,dms.directory_278_benchmark,,dms.tag_137_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0121_benchmark,F_0121.txt,dms.directory_064_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0122_benchmark,F_0122.txt,dms.directory_141_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0123_benchmark,F_0123.txt,dms.directory_372_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0124_benchmark,F_0124.txt,dms.directory_074_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0125_benchmark,F_0125.txt,dms.directory_262_benchmark,dms.category_031_benchmark,dms.tag_114_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0126_benchmark,F_0126.txt,dms.directory_466_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0127_benchmark,F_0127.txt,dms.directory_316_benchmark,dms.category_015_benchmark,dms.tag_056_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0128_benchmark,F_0128.txt,dms.directory_411_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0129_benchmark,F_0129.txt,dms.directory_288_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0130_benchmark,F_0130.txt,dms.directory_401_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0131_benchmark,F_0131.txt,dms.directory_490_benchmark,dms.category_001_benchmark,dms.tag_102_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0132_benchmark,F_0132.txt,dms.directory_317_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0133_benchmark,F_0133.txt,dms.directory_413_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0134_benchmark,F_0134.txt,dms.directory_063_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0135_benchmark,F_0135.txt,dms.directory_450_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0136_benchmark,F_0136.txt,dms.directory_268_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0137_benchmark,F_0137.txt,dms.directory_493_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0138_benchmark,F_0138.txt,dms.directory_252_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0139_benchmark,F_0139.txt,dms.directory_456_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0140_benchmark,F_0140.txt,dms.directory_134_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0141_benchmark,F_0141.txt,dms.directory_306_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0142_benchmark,F_0142.txt,dms.directory_074_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0143_benchmark,F_0143.txt,dms.directory_064_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0144_benchmark,F_0144.txt,dms.directory_330_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0145_benchmark,F_0145.txt,dms.directory_390_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0146_benchmark,F_0146.txt,dms.directory_409_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0147_benchmark,F_0147.txt,dms.directory_354_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0148_benchmark,F_0148.txt,dms.directory_335_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0149_benchmark,F_0149.txt,dms.directory_032_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0150_benchmark,F_0150.txt,dms.directory_164_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0151_benchmark,F_0151.txt,dms.directory_202_benchmark,dms.category_008_benchmark,dms.tag_077_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0152_benchmark,F_0152.txt,dms.directory_456_benchmark,dms.category_034_benchmark,dms.tag_109_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0153_benchmark,F_0153.txt,dms.directory_250_benchmark,dms.category_023_benchmark,dms.tag_038_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0154_benchmark,F_0154.txt,dms.directory_252_benchmark,,dms.tag_034_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0155_benchmark,F_0155.txt,dms.directory_451_benchmark,dms.category_027_benchmark,dms.tag_048_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0156_benchmark,F_0156.txt,dms.directory_151_benchmark,dms.category_009_benchmark,dms.tag_025_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0157_benchmark,F_0157.txt,dms.directory_369_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0158_benchmark,F_0158.txt,dms.directory_409_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0159_benchmark,F_0159.txt,dms.directory_061_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0160_benchmark,F_0160.txt,dms.directory_403_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0161_benchmark,F_0161.txt,dms.directory_135_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0162_benchmark,F_0162.txt,dms.directory_273_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0163_benchmark,F_0163.txt,dms.directory_028_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0164_benchmark,F_0164.txt,dms.directory_146_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0165_benchmark,F_0165.txt,dms.directory_470_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0166_benchmark,F_0166.txt,dms.directory_132_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0167_benchmark,F_0167.txt,dms.directory_237_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0168_benchmark,F_0168.txt,dms.directory_330_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0169_benchmark,F_0169.txt,dms.directory_163_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0170_benchmark,F_0170.txt,dms.directory_355_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0171_benchmark,F_0171.txt,dms.directory_154_benchmark,dms.category_020_benchmark,dms.tag_141_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0172_benchmark,F_0172.txt,dms.directory_155_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0173_benchmark,F_0173.txt,dms.directory_125_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0174_benchmark,F_0174.txt,dms.directory_214_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0175_benchmark,F_0175.txt,dms.directory_081_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0176_benchmark,F_0176.txt,dms.directory_238_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0177_benchmark,F_0177.txt,dms.directory_079_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0178_benchmark,F_0178.txt,dms.directory_384_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0179_benchmark,F_0179.txt,dms.directory_174_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0180_benchmark,F_0180.txt,dms.directory_444_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0181_benchmark,F_0181.txt,dms.directory_184_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0182_benchmark,F_0182.txt,dms.directory_115_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0183_benchmark,F_0183.txt,dms.directory_414_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0184_benchmark,F_0184.txt,dms.directory_267_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0185_benchmark,F_0185.txt,dms.directory_231_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0186_benchmark,F_0186.txt,dms.directory_207_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0187_benchmark,F_0187.txt,dms.directory_461_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0188_benchmark,F_0188.txt,dms.directory_146_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0189_benchmark,F_0189.txt,dms.directory_395_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0190_benchmark,F_0190.txt,dms.directory_218_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0191_benchmark,F_0191.txt,dms.directory_459_benchmark,,dms.tag_012_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0192_benchmark,F_0192.txt,dms.directory_129_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0193_benchmark,F_0193.txt,dms.directory_327_benchmark,,dms.tag_032_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0194_benchmark,F_0194.txt,dms.directory_438_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0195_benchmark,F_0195.txt,dms.directory_444_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0196_benchmark,F_0196.txt,dms.directory_025_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0197_benchmark,F_0197.txt,dms.directory_444_benchmark,dms.category_019_benchmark,dms.tag_105_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0198_benchmark,F_0198.txt,dms.directory_494_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0199_benchmark,F_0199.txt,dms.directory_432_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0200_benchmark,F_0200.txt,dms.directory_209_benchmark,dms.category_031_benchmark,dms.tag_116_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0201_benchmark,F_0201.txt,dms.directory_182_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0202_benchmark,F_0202.txt,dms.directory_214_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0203_benchmark,F_0203.txt,dms.directory_490_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0204_benchmark,F_0204.txt,dms.directory_272_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0205_benchmark,F_0205.txt,dms.directory_163_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0206_benchmark,F_0206.txt,dms.directory_435_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0207_benchmark,F_0207.txt,dms.directory_068_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0208_benchmark,F_0208.txt,dms.directory_459_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0209_benchmark,F_0209.txt,dms.directory_413_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0210_benchmark,F_0210.txt,dms.directory_128_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0211_benchmark,F_0211.txt,dms.directory_417_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0212_benchmark,F_0212.txt,dms.directory_278_benchmark,dms.category_049_benchmark,dms.tag_040_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0213_benchmark,F_0213.txt,dms.directory_212_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0214_benchmark,F_0214.txt,dms.directory_277_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0215_benchmark,F_0215.txt,dms.directory_291_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0216_benchmark,F_0216.txt,dms.directory_074_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0217_benchmark,F_0217.txt,dms.directory_154_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0218_benchmark,F_0218.txt,dms.directory_466_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0219_benchmark,F_0219.txt,dms.directory_103_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0220_benchmark,F_0220.txt,dms.directory_396_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0221_benchmark,F_0221.txt,dms.directory_467_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0222_benchmark,F_0222.txt,dms.directory_300_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0223_benchmark,F_0223.txt,dms.directory_168_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0224_benchmark,F_0224.txt,dms.directory_313_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0225_benchmark,F_0225.txt,dms.directory_103_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0226_benchmark,F_0226.txt,dms.directory_175_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0227_benchmark,F_0227.txt,dms.directory_283_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0228_benchmark,F_0228.txt,dms.directory_494_benchmark,dms.category_012_benchmark,dms.tag_098_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0229_benchmark,F_0229.txt,dms.directory_452_benchmark,dms.category_006_benchmark,dms.tag_041_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0230_benchmark,F_0230.txt,dms.directory_393_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0231_benchmark,F_0231.txt,dms.directory_122_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0232_benchmark,F_0232.txt,dms.directory_186_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0233_benchmark,F_0233.txt,dms.directory_314_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0234_benchmark,F_0234.txt,dms.directory_075_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0235_benchmark,F_0235.txt,dms.directory_092_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0236_benchmark,F_0236.txt,dms.directory_379_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0237_benchmark,F_0237.txt,dms.directory_412_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0238_benchmark,F_0238.txt,dms.directory_308_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0239_benchmark,F_0239.txt,dms.directory_389_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0240_benchmark,F_0240.txt,dms.directory_145_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0241_benchmark,F_0241.txt,dms.directory_126_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0242_benchmark,F_0242.txt,dms.directory_025_benchmark,,dms.tag_032_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0243_benchmark,F_0243.txt,dms.directory_428_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0244_benchmark,F_0244.txt,dms.directory_295_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0245_benchmark,F_0245.txt,dms.directory_083_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0246_benchmark,F_0246.txt,dms.directory_436_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0247_benchmark,F_0247.txt,dms.directory_449_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0248_benchmark,F_0248.txt,dms.directory_256_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0249_benchmark,F_0249.txt,dms.directory_343_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0250_benchmark,F_0250.txt,dms.directory_067_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0251_benchmark,F_0251.txt,dms.directory_363_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0252_benchmark,F_0252.txt,dms.directory_275_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0253_benchmark,F_0253.txt,dms.directory_360_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0254_benchmark,F_0254.txt,dms.directory_395_benchmark,dms.category_025_benchmark,dms.tag_028_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0255_benchmark,F_0255.txt,dms.directory_426_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0256_benchmark,F_0256.txt,dms.directory_074_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0257_benchmark,F_0257.txt,dms.directory_098_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0258_benchmark,F_0258.txt,dms.directory_358_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0259_benchmark,F_0259.txt,dms.directory_322_benchmark,,dms.tag_063_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0260_benchmark,F_0260.txt,dms.directory_150_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0261_benchmark,F_0261.txt,dms.directory_117_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0262_benchmark,F_0262.txt,dms.directory_122_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0263_benchmark,F_0263.txt,dms.directory_268_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0264_benchmark,F_0264.txt,dms.directory_298_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0265_benchmark,F_0265.txt,dms.directory_254_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0266_benchmark,F_0266.txt,dms.directory_171_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0267_benchmark,F_0267.txt,dms.directory_298_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0268_benchmark,F_0268.txt,dms.directory_057_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0269_benchmark,F_0269.txt,dms.directory_011_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0270_benchmark,F_0270.txt,dms.directory_154_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0271_benchmark,F_0271.txt,dms.directory_162_benchmark,dms.category_005_benchmark,dms.tag_014_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0272_benchmark,F_0272.txt,dms.directory_406_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0273_benchmark,F_0273.txt,dms.directory_118_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0274_benchmark,F_0274.txt,dms.directory_256_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0275_benchmark,F_0275.txt,dms.directory_453_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0276_benchmark,F_0276.txt,dms.directory_024_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0277_benchmark,F_0277.txt,dms.directory_237_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0278_benchmark,F_0278.txt,dms.directory_039_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0279_benchmark,F_0279.txt,dms.directory_134_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0280_benchmark,F_0280.txt,dms.directory_085_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0281_benchmark,F_0281.txt,dms.directory_113_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0282_benchmark,F_0282.txt,dms.directory_091_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0283_benchmark,F_0283.txt,dms.directory_040_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0284_benchmark,F_0284.txt,dms.directory_141_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0285_benchmark,F_0285.txt,dms.directory_068_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0286_benchmark,F_0286.txt,dms.directory_105_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0287_benchmark,F_0287.txt,dms.directory_072_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0288_benchmark,F_0288.txt,dms.directory_479_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0289_benchmark,F_0289.txt,dms.directory_037_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0290_benchmark,F_0290.txt,dms.directory_337_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0291_benchmark,F_0291.txt,dms.directory_088_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0292_benchmark,F_0292.txt,dms.directory_329_benchmark,,dms.tag_094_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0293_benchmark,F_0293.txt,dms.directory_215_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0294_benchmark,F_0294.txt,dms.directory_269_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0295_benchmark,F_0295.txt,dms.directory_124_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0296_benchmark,F_0296.txt,dms.directory_188_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0297_benchmark,F_0297.txt,dms.directory_474_benchmark,,dms.tag_012_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0298_benchmark,F_0298.txt,dms.directory_220_benchmark,,dms.tag_096_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0299_benchmark,F_0299.txt,dms.directory_342_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0300_benchmark,F_0300.txt,dms.directory_194_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0301_benchmark,F_0301.txt,dms.directory_359_benchmark,dms.category_020_benchmark,dms.tag_129_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0302_benchmark,F_0302.txt,dms.directory_198_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0303_benchmark,F_0303.txt,dms.directory_077_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0304_benchmark,F_0304.txt,dms.directory_203_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0305_benchmark,F_0305.txt,dms.directory_112_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0306_benchmark,F_0306.txt,dms.directory_314_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0307_benchmark,F_0307.txt,dms.directory_090_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0308_benchmark,F_0308.txt,dms.directory_488_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0309_benchmark,F_0309.txt,dms.directory_444_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0310_benchmark,F_0310.txt,dms.directory_277_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0311_benchmark,F_0311.txt,dms.directory_388_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0312_benchmark,F_0312.txt,dms.directory_461_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0313_benchmark,F_0313.txt,dms.directory_173_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0314_benchmark,F_0314.txt,dms.directory_012_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0315_benchmark,F_0315.txt,dms.directory_092_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0316_benchmark,F_0316.txt,dms.directory_299_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0317_benchmark,F_0317.txt,dms.directory_477_benchmark,dms.category_050_benchmark,dms.tag_029_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0318_benchmark,F_0318.txt,dms.directory_442_benchmark,dms.category_025_benchmark,dms.tag_097_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0319_benchmark,F_0319.txt,dms.directory_440_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0320_benchmark,F_0320.txt,dms.directory_211_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0321_benchmark,F_0321.txt,dms.directory_284_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0322_benchmark,F_0322.txt,dms.directory_347_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0323_benchmark,F_0323.txt,dms.directory_489_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0324_benchmark,F_0324.txt,dms.directory_393_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0325_benchmark,F_0325.txt,dms.directory_047_benchmark,dms.category_050_benchmark,dms.tag_050_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0326_benchmark,F_0326.txt,dms.directory_362_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0327_benchmark,F_0327.txt,dms.directory_455_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0328_benchmark,F_0328.txt,dms.directory_021_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0329_benchmark,F_0329.txt,dms.directory_010_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0330_benchmark,F_0330.txt,dms.directory_327_benchmark,dms.category_020_benchmark,dms.tag_141_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0331_benchmark,F_0331.txt,dms.directory_220_benchmark,,dms.tag_096_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0332_benchmark,F_0332.txt,dms.directory_190_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0333_benchmark,F_0333.txt,dms.directory_040_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0334_benchmark,F_0334.txt,dms.directory_013_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0335_benchmark,F_0335.txt,dms.directory_184_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0336_benchmark,F_0336.txt,dms.directory_212_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0337_benchmark,F_0337.txt,dms.directory_458_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0338_benchmark,F_0338.txt,dms.directory_015_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0339_benchmark,F_0339.txt,dms.directory_131_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0340_benchmark,F_0340.txt,dms.directory_261_benchmark,,dms.tag_060_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0341_benchmark,F_0341.txt,dms.directory_308_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0342_benchmark,F_0342.txt,dms.directory_343_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0343_benchmark,F_0343.txt,dms.directory_077_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0344_benchmark,F_0344.txt,dms.directory_327_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0345_benchmark,F_0345.txt,dms.directory_052_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0346_benchmark,F_0346.txt,dms.directory_125_benchmark,dms.category_007_benchmark,dms.tag_067_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0347_benchmark,F_0347.txt,dms.directory_310_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0348_benchmark,F_0348.txt,dms.directory_181_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0349_benchmark,F_0349.txt,dms.directory_066_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0350_benchmark,F_0350.txt,dms.directory_438_benchmark,dms.category_049_benchmark,dms.tag_040_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0351_benchmark,F_0351.txt,dms.directory_416_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0352_benchmark,F_0352.txt,dms.directory_190_benchmark,,dms.tag_094_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0353_benchmark,F_0353.txt,dms.directory_033_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0354_benchmark,F_0354.txt,dms.directory_256_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0355_benchmark,F_0355.txt,dms.directory_082_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0356_benchmark,F_0356.txt,dms.directory_018_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0357_benchmark,F_0357.txt,dms.directory_074_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0358_benchmark,F_0358.txt,dms.directory_260_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0359_benchmark,F_0359.txt,dms.directory_398_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0360_benchmark,F_0360.txt,dms.directory_104_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0361_benchmark,F_0361.txt,dms.directory_137_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0362_benchmark,F_0362.txt,dms.directory_225_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0363_benchmark,F_0363.txt,dms.directory_230_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0364_benchmark,F_0364.txt,dms.directory_103_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0365_benchmark,F_0365.txt,dms.directory_276_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0366_benchmark,F_0366.txt,dms.directory_181_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0367_benchmark,F_0367.txt,dms.directory_331_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0368_benchmark,F_0368.txt,dms.directory_222_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0369_benchmark,F_0369.txt,dms.directory_498_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0370_benchmark,F_0370.txt,dms.directory_041_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0371_benchmark,F_0371.txt,dms.directory_007_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0372_benchmark,F_0372.txt,dms.directory_293_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0373_benchmark,F_0373.txt,dms.directory_028_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0374_benchmark,F_0374.txt,dms.directory_354_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0375_benchmark,F_0375.txt,dms.directory_031_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0376_benchmark,F_0376.txt,dms.directory_338_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0377_benchmark,F_0377.txt,dms.directory_336_benchmark,dms.category_044_benchmark,dms.tag_095_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0378_benchmark,F_0378.txt,dms.directory_169_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0379_benchmark,F_0379.txt,dms.directory_044_benchmark,dms.category_034_benchmark,dms.tag_109_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0380_benchmark,F_0380.txt,dms.directory_442_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0381_benchmark,F_0381.txt,dms.directory_147_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0382_benchmark,F_0382.txt,dms.directory_413_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0383_benchmark,F_0383.txt,dms.directory_059_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0384_benchmark,F_0384.txt,dms.directory_235_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0385_benchmark,F_0385.txt,dms.directory_051_benchmark,dms.category_050_benchmark,dms.tag_029_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0386_benchmark,F_0386.txt,dms.directory_235_benchmark,dms.category_003_benchmark,dms.tag_145_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0387_benchmark,F_0387.txt,dms.directory_278_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0388_benchmark,F_0388.txt,dms.directory_474_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0389_benchmark,F_0389.txt,dms.directory_290_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0390_benchmark,F_0390.txt,dms.directory_164_benchmark,dms.category_013_benchmark,dms.tag_031_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0391_benchmark,F_0391.txt,dms.directory_275_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0392_benchmark,F_0392.txt,dms.directory_041_benchmark,dms.category_029_benchmark,dms.tag_005_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0393_benchmark,F_0393.txt,dms.directory_168_benchmark,dms.category_046_benchmark,dms.tag_022_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0394_benchmark,F_0394.txt,dms.directory_457_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0395_benchmark,F_0395.txt,dms.directory_274_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0396_benchmark,F_0396.txt,dms.directory_261_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0397_benchmark,F_0397.txt,dms.directory_481_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0398_benchmark,F_0398.txt,dms.directory_161_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0399_benchmark,F_0399.txt,dms.directory_173_benchmark,dms.category_015_benchmark,dms.tag_120_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0400_benchmark,F_0400.txt,dms.directory_238_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0401_benchmark,F_0401.txt,dms.directory_382_benchmark,dms.category_005_benchmark,dms.tag_014_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0402_benchmark,F_0402.txt,dms.directory_019_benchmark,dms.category_040_benchmark,dms.tag_072_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0403_benchmark,F_0403.txt,dms.directory_201_benchmark,dms.category_020_benchmark,dms.tag_129_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0404_benchmark,F_0404.txt,dms.directory_211_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0405_benchmark,F_0405.txt,dms.directory_155_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0406_benchmark,F_0406.txt,dms.directory_159_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0407_benchmark,F_0407.txt,dms.directory_188_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0408_benchmark,F_0408.txt,dms.directory_252_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0409_benchmark,F_0409.txt,dms.directory_410_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0410_benchmark,F_0410.txt,dms.directory_470_benchmark,dms.category_025_benchmark,dms.tag_097_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0411_benchmark,F_0411.txt,dms.directory_028_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0412_benchmark,F_0412.txt,dms.directory_064_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0413_benchmark,F_0413.txt,dms.directory_440_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0414_benchmark,F_0414.txt,dms.directory_184_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0415_benchmark,F_0415.txt,dms.directory_396_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0416_benchmark,F_0416.txt,dms.directory_336_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0417_benchmark,F_0417.txt,dms.directory_204_benchmark,dms.category_023_benchmark,dms.tag_038_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0418_benchmark,F_0418.txt,dms.directory_124_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0419_benchmark,F_0419.txt,dms.directory_032_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0420_benchmark,F_0420.txt,dms.directory_343_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0421_benchmark,F_0421.txt,dms.directory_114_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0422_benchmark,F_0422.txt,dms.directory_050_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0423_benchmark,F_0423.txt,dms.directory_020_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0424_benchmark,F_0424.txt,dms.directory_152_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0425_benchmark,F_0425.txt,dms.directory_140_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0426_benchmark,F_0426.txt,dms.directory_175_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0427_benchmark,F_0427.txt,dms.directory_231_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0428_benchmark,F_0428.txt,dms.directory_069_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0429_benchmark,F_0429.txt,dms.directory_094_benchmark,dms.category_011_benchmark,dms.tag_021_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0430_benchmark,F_0430.txt,dms.directory_379_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0431_benchmark,F_0431.txt,dms.directory_161_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0432_benchmark,F_0432.txt,dms.directory_483_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0433_benchmark,F_0433.txt,dms.directory_043_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0434_benchmark,F_0434.txt,dms.directory_313_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0435_benchmark,F_0435.txt,dms.directory_339_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0436_benchmark,F_0436.txt,dms.directory_118_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0437_benchmark,F_0437.txt,dms.directory_373_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0438_benchmark,F_0438.txt,dms.directory_496_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0439_benchmark,F_0439.txt,dms.directory_343_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0440_benchmark,F_0440.txt,dms.directory_422_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0441_benchmark,F_0441.txt,dms.directory_288_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0442_benchmark,F_0442.txt,dms.directory_389_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0443_benchmark,F_0443.txt,dms.directory_128_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0444_benchmark,F_0444.txt,dms.directory_266_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0445_benchmark,F_0445.txt,dms.directory_438_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0446_benchmark,F_0446.txt,dms.directory_028_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0447_benchmark,F_0447.txt,dms.directory_087_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0448_benchmark,F_0448.txt,dms.directory_214_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0449_benchmark,F_0449.txt,dms.directory_048_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0450_benchmark,F_0450.txt,dms.directory_375_benchmark,dms.category_025_benchmark,dms.tag_028_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0451_benchmark,F_0451.txt,dms.directory_271_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0452_benchmark,F_0452.txt,dms.directory_286_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0453_benchmark,F_0453.txt,dms.directory_271_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0454_benchmark,F_0454.txt,dms.directory_145_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0455_benchmark,F_0455.txt,dms.directory_096_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0456_benchmark,F_0456.txt,dms.directory_146_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0457_benchmark,F_0457.txt,dms.directory_136_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0458_benchmark,F_0458.txt,dms.directory_190_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0459_benchmark,F_0459.txt,dms.directory_449_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0460_benchmark,F_0460.txt,dms.directory_172_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0461_benchmark,F_0461.txt,dms.directory_127_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0462_benchmark,F_0462.txt,dms.directory_219_benchmark,dms.category_027_benchmark,dms.tag_048_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0463_benchmark,F_0463.txt,dms.directory_095_benchmark,dms.category_021_benchmark,dms.tag_136_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0464_benchmark,F_0464.txt,dms.directory_296_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0465_benchmark,F_0465.txt,dms.directory_321_benchmark,dms.category_008_benchmark,dms.tag_077_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0466_benchmark,F_0466.txt,dms.directory_252_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0467_benchmark,F_0467.txt,dms.directory_297_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0468_benchmark,F_0468.txt,dms.directory_338_benchmark,dms.category_015_benchmark,dms.tag_056_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0469_benchmark,F_0469.txt,dms.directory_277_benchmark,dms.category_014_benchmark,dms.tag_103_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0470_benchmark,F_0470.txt,dms.directory_457_benchmark,dms.category_019_benchmark,dms.tag_125_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0471_benchmark,F_0471.txt,dms.directory_011_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0472_benchmark,F_0472.txt,dms.directory_273_benchmark,dms.category_049_benchmark,dms.tag_035_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0473_benchmark,F_0473.txt,dms.directory_011_benchmark,dms.category_019_benchmark,dms.tag_125_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0474_benchmark,F_0474.txt,dms.directory_246_benchmark,dms.category_018_benchmark,dms.tag_133_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0475_benchmark,F_0475.txt,dms.directory_129_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0476_benchmark,F_0476.txt,dms.directory_248_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0477_benchmark,F_0477.txt,dms.directory_024_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0478_benchmark,F_0478.txt,dms.directory_121_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0479_benchmark,F_0479.txt,dms.directory_097_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0480_benchmark,F_0480.txt,dms.directory_184_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0481_benchmark,F_0481.txt,dms.directory_347_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0482_benchmark,F_0482.txt,dms.directory_448_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0483_benchmark,F_0483.txt,dms.directory_283_benchmark,,dms.tag_063_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0484_benchmark,F_0484.txt,dms.directory_409_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0485_benchmark,F_0485.txt,dms.directory_090_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0486_benchmark,F_0486.txt,dms.directory_172_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0487_benchmark,F_0487.txt,dms.directory_096_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0488_benchmark,F_0488.txt,dms.directory_334_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0489_benchmark,F_0489.txt,dms.directory_145_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0490_benchmark,F_0490.txt,dms.directory_383_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0491_benchmark,F_0491.txt,dms.directory_222_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0492_benchmark,F_0492.txt,dms.directory_007_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0493_benchmark,F_0493.txt,dms.directory_483_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0494_benchmark,F_0494.txt,dms.directory_276_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0495_benchmark,F_0495.txt,dms.directory_476_benchmark,dms.category_031_benchmark,dms.tag_114_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0496_benchmark,F_0496.txt,dms.directory_142_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0497_benchmark,F_0497.txt,dms.directory_500_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0498_benchmark,F_0498.txt,dms.directory_327_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0499_benchmark,F_0499.txt,dms.directory_260_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0500_benchmark,F_0500.txt,dms.directory_205_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0501_benchmark,F_0501.txt,dms.directory_354_benchmark,dms.category_041_benchmark,dms.tag_042_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0502_benchmark,F_0502.txt,dms.directory_302_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0503_benchmark,F_0503.txt,dms.directory_486_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0504_benchmark,F_0504.txt,dms.directory_056_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0505_benchmark,F_0505.txt,dms.directory_037_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0506_benchmark,F_0506.txt,dms.directory_205_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0507_benchmark,F_0507.txt,dms.directory_291_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0508_benchmark,F_0508.txt,dms.directory_445_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0509_benchmark,F_0509.txt,dms.directory_344_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0510_benchmark,F_0510.txt,dms.directory_133_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0511_benchmark,F_0511.txt,dms.directory_453_benchmark,,dms.tag_130_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0512_benchmark,F_0512.txt,dms.directory_046_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0513_benchmark,F_0513.txt,dms.directory_287_benchmark,dms.category_021_benchmark,dms.tag_136_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0514_benchmark,F_0514.txt,dms.directory_150_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0515_benchmark,F_0515.txt,dms.directory_325_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0516_benchmark,F_0516.txt,dms.directory_136_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0517_benchmark,F_0517.txt,dms.directory_424_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0518_benchmark,F_0518.txt,dms.directory_163_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0519_benchmark,F_0519.txt,dms.directory_452_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0520_benchmark,F_0520.txt,dms.directory_365_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0521_benchmark,F_0521.txt,dms.directory_244_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0522_benchmark,F_0522.txt,dms.directory_373_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0523_benchmark,F_0523.txt,dms.directory_327_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0524_benchmark,F_0524.txt,dms.directory_127_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0525_benchmark,F_0525.txt,dms.directory_407_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0526_benchmark,F_0526.txt,dms.directory_367_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0527_benchmark,F_0527.txt,dms.directory_334_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0528_benchmark,F_0528.txt,dms.directory_183_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0529_benchmark,F_0529.txt,dms.directory_303_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0530_benchmark,F_0530.txt,dms.directory_310_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0531_benchmark,F_0531.txt,dms.directory_256_benchmark,dms.category_040_benchmark,dms.tag_072_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0532_benchmark,F_0532.txt,dms.directory_036_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0533_benchmark,F_0533.txt,dms.directory_104_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0534_benchmark,F_0534.txt,dms.directory_481_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0535_benchmark,F_0535.txt,dms.directory_047_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0536_benchmark,F_0536.txt,dms.directory_477_benchmark,,dms.tag_070_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0537_benchmark,F_0537.txt,dms.directory_477_benchmark,dms.category_018_benchmark,dms.tag_133_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0538_benchmark,F_0538.txt,dms.directory_381_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0539_benchmark,F_0539.txt,dms.directory_343_benchmark,dms.category_049_benchmark,dms.tag_035_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0540_benchmark,F_0540.txt,dms.directory_302_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0541_benchmark,F_0541.txt,dms.directory_108_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0542_benchmark,F_0542.txt,dms.directory_146_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0543_benchmark,F_0543.txt,dms.directory_450_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0544_benchmark,F_0544.txt,dms.directory_489_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0545_benchmark,F_0545.txt,dms.directory_255_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0546_benchmark,F_0546.txt,dms.directory_083_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0547_benchmark,F_0547.txt,dms.directory_128_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0548_benchmark,F_0548.txt,dms.directory_479_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0549_benchmark,F_0549.txt,dms.directory_374_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0550_benchmark,F_0550.txt,dms.directory_009_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0551_benchmark,F_0551.txt,dms.directory_491_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0552_benchmark,F_0552.txt,dms.directory_230_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0553_benchmark,F_0553.txt,dms.directory_324_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0554_benchmark,F_0554.txt,dms.directory_244_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0555_benchmark,F_0555.txt,dms.directory_264_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0556_benchmark,F_0556.txt,dms.directory_073_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0557_benchmark,F_0557.txt,dms.directory_379_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0558_benchmark,F_0558.txt,dms.directory_019_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0559_benchmark,F_0559.txt,dms.directory_106_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0560_benchmark,F_0560.txt,dms.directory_143_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0561_benchmark,F_0561.txt,dms.directory_278_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0562_benchmark,F_0562.txt,dms.directory_216_benchmark,dms.category_046_benchmark,dms.tag_022_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0563_benchmark,F_0563.txt,dms.directory_418_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0564_benchmark,F_0564.txt,dms.directory_132_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0565_benchmark,F_0565.txt,dms.directory_258_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0566_benchmark,F_0566.txt,dms.directory_436_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0567_benchmark,F_0567.txt,dms.directory_018_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0568_benchmark,F_0568.txt,dms.directory_344_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0569_benchmark,F_0569.txt,dms.directory_038_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0570_benchmark,F_0570.txt,dms.directory_328_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0571_benchmark,F_0571.txt,dms.directory_159_benchmark,,dms.tag_091_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0572_benchmark,F_0572.txt,dms.directory_005_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0573_benchmark,F_0573.txt,dms.directory_470_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0574_benchmark,F_0574.txt,dms.directory_498_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0575_benchmark,F_0575.txt,dms.directory_161_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0576_benchmark,F_0576.txt,dms.directory_338_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0577_benchmark,F_0577.txt,dms.directory_346_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0578_benchmark,F_0578.txt,dms.directory_024_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0579_benchmark,F_0579.txt,dms.directory_318_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0580_benchmark,F_0580.txt,dms.directory_410_benchmark,dms.category_006_benchmark,dms.tag_041_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0581_benchmark,F_0581.txt,dms.directory_324_benchmark,,dms.tag_091_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0582_benchmark,F_0582.txt,dms.directory_207_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0583_benchmark,F_0583.txt,dms.directory_459_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0584_benchmark,F_0584.txt,dms.directory_138_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0585_benchmark,F_0585.txt,dms.directory_104_benchmark,dms.category_050_benchmark,dms.tag_050_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0586_benchmark,F_0586.txt,dms.directory_169_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0587_benchmark,F_0587.txt,dms.directory_123_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0588_benchmark,F_0588.txt,dms.directory_202_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0589_benchmark,F_0589.txt,dms.directory_208_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0590_benchmark,F_0590.txt,dms.directory_029_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0591_benchmark,F_0591.txt,dms.directory_412_benchmark,dms.category_003_benchmark,dms.tag_145_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0592_benchmark,F_0592.txt,dms.directory_259_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0593_benchmark,F_0593.txt,dms.directory_339_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0594_benchmark,F_0594.txt,dms.directory_129_benchmark,dms.category_041_benchmark,dms.tag_042_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0595_benchmark,F_0595.txt,dms.directory_495_benchmark,,dms.tag_004_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0596_benchmark,F_0596.txt,dms.directory_138_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0597_benchmark,F_0597.txt,dms.directory_292_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0598_benchmark,F_0598.txt,dms.directory_148_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0599_benchmark,F_0599.txt,dms.directory_286_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0600_benchmark,F_0600.txt,dms.directory_111_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0601_benchmark,F_0601.txt,dms.directory_349_benchmark,dms.category_011_benchmark,dms.tag_021_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0602_benchmark,F_0602.txt,dms.directory_331_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0603_benchmark,F_0603.txt,dms.directory_054_benchmark,dms.category_044_benchmark,dms.tag_095_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0604_benchmark,F_0604.txt,dms.directory_183_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0605_benchmark,F_0605.txt,dms.directory_170_benchmark,,dms.tag_034_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0606_benchmark,F_0606.txt,dms.directory_455_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0607_benchmark,F_0607.txt,dms.directory_348_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0608_benchmark,F_0608.txt,dms.directory_464_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0609_benchmark,F_0609.txt,dms.directory_414_benchmark,dms.category_009_benchmark,dms.tag_025_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0610_benchmark,F_0610.txt,dms.directory_151_benchmark,,dms.tag_124_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0611_benchmark,F_0611.txt,dms.directory_311_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0612_benchmark,F_0612.txt,dms.directory_493_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0613_benchmark,F_0613.txt,dms.directory_262_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0614_benchmark,F_0614.txt,dms.directory_339_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0615_benchmark,F_0615.txt,dms.directory_262_benchmark,,dms.tag_075_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0616_benchmark,F_0616.txt,dms.directory_292_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0617_benchmark,F_0617.txt,dms.directory_370_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0618_benchmark,F_0618.txt,dms.directory_218_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0619_benchmark,F_0619.txt,dms.directory_438_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0620_benchmark,F_0620.txt,dms.directory_469_benchmark,,dms.tag_137_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0621_benchmark,F_0621.txt,dms.directory_174_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0622_benchmark,F_0622.txt,dms.directory_132_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0623_benchmark,F_0623.txt,dms.directory_427_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0624_benchmark,F_0624.txt,dms.directory_081_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0625_benchmark,F_0625.txt,dms.directory_015_benchmark,dms.category_031_benchmark,dms.tag_114_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0626_benchmark,F_0626.txt,dms.directory_385_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0627_benchmark,F_0627.txt,dms.directory_158_benchmark,dms.category_015_benchmark,dms.tag_056_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0628_benchmark,F_0628.txt,dms.directory_022_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0629_benchmark,F_0629.txt,dms.directory_378_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0630_benchmark,F_0630.txt,dms.directory_240_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0631_benchmark,F_0631.txt,dms.directory_299_benchmark,dms.category_001_benchmark,dms.tag_102_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0632_benchmark,F_0632.txt,dms.directory_239_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0633_benchmark,F_0633.txt,dms.directory_428_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0634_benchmark,F_0634.txt,dms.directory_401_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0635_benchmark,F_0635.txt,dms.directory_048_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0636_benchmark,F_0636.txt,dms.directory_176_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0637_benchmark,F_0637.txt,dms.directory_037_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0638_benchmark,F_0638.txt,dms.directory_360_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0639_benchmark,F_0639.txt,dms.directory_452_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0640_benchmark,F_0640.txt,dms.directory_257_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0641_benchmark,F_0641.txt,dms.directory_453_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0642_benchmark,F_0642.txt,dms.directory_429_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0643_benchmark,F_0643.txt,dms.directory_468_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0644_benchmark,F_0644.txt,dms.directory_277_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0645_benchmark,F_0645.txt,dms.directory_240_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0646_benchmark,F_0646.txt,dms.directory_346_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0647_benchmark,F_0647.txt,dms.directory_067_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0648_benchmark,F_0648.txt,dms.directory_419_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0649_benchmark,F_0649.txt,dms.directory_275_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0650_benchmark,F_0650.txt,dms.directory_004_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0651_benchmark,F_0651.txt,dms.directory_359_benchmark,dms.category_008_benchmark,dms.tag_077_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0652_benchmark,F_0652.txt,dms.directory_398_benchmark,dms.category_034_benchmark,dms.tag_109_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0653_benchmark,F_0653.txt,dms.directory_045_benchmark,dms.category_023_benchmark,dms.tag_038_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0654_benchmark,F_0654.txt,dms.directory_241_benchmark,,dms.tag_034_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0655_benchmark,F_0655.txt,dms.directory_299_benchmark,dms.category_027_benchmark,dms.tag_048_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0656_benchmark,F_0656.txt,dms.directory_272_benchmark,dms.category_009_benchmark,dms.tag_025_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0657_benchmark,F_0657.txt,dms.directory_139_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0658_benchmark,F_0658.txt,dms.directory_415_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0659_benchmark,F_0659.txt,dms.directory_111_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0660_benchmark,F_0660.txt,dms.directory_265_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0661_benchmark,F_0661.txt,dms.directory_439_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0662_benchmark,F_0662.txt,dms.directory_234_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0663_benchmark,F_0663.txt,dms.directory_310_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0664_benchmark,F_0664.txt,dms.directory_367_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0665_benchmark,F_0665.txt,dms.directory_163_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0666_benchmark,F_0666.txt,dms.directory_032_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0667_benchmark,F_0667.txt,dms.directory_319_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0668_benchmark,F_0668.txt,dms.directory_436_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0669_benchmark,F_0669.txt,dms.directory_162_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0670_benchmark,F_0670.txt,dms.directory_352_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0671_benchmark,F_0671.txt,dms.directory_462_benchmark,dms.category_020_benchmark,dms.tag_141_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0672_benchmark,F_0672.txt,dms.directory_334_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0673_benchmark,F_0673.txt,dms.directory_456_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0674_benchmark,F_0674.txt,dms.directory_473_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0675_benchmark,F_0675.txt,dms.directory_085_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0676_benchmark,F_0676.txt,dms.directory_467_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0677_benchmark,F_0677.txt,dms.directory_268_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0678_benchmark,F_0678.txt,dms.directory_066_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0679_benchmark,F_0679.txt,dms.directory_006_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0680_benchmark,F_0680.txt,dms.directory_426_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0681_benchmark,F_0681.txt,dms.directory_011_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0682_benchmark,F_0682.txt,dms.directory_460_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0683_benchmark,F_0683.txt,dms.directory_053_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0684_benchmark,F_0684.txt,dms.directory_233_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0685_benchmark,F_0685.txt,dms.directory_330_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0686_benchmark,F_0686.txt,dms.directory_070_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0687_benchmark,F_0687.txt,dms.directory_418_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0688_benchmark,F_0688.txt,dms.directory_220_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0689_benchmark,F_0689.txt,dms.directory_488_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0690_benchmark,F_0690.txt,dms.directory_204_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0691_benchmark,F_0691.txt,dms.directory_426_benchmark,,dms.tag_012_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0692_benchmark,F_0692.txt,dms.directory_343_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0693_benchmark,F_0693.txt,dms.directory_423_benchmark,,dms.tag_032_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0694_benchmark,F_0694.txt,dms.directory_409_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0695_benchmark,F_0695.txt,dms.directory_427_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0696_benchmark,F_0696.txt,dms.directory_117_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0697_benchmark,F_0697.txt,dms.directory_222_benchmark,dms.category_019_benchmark,dms.tag_105_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0698_benchmark,F_0698.txt,dms.directory_232_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0699_benchmark,F_0699.txt,dms.directory_277_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0700_benchmark,F_0700.txt,dms.directory_480_benchmark,dms.category_031_benchmark,dms.tag_116_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0701_benchmark,F_0701.txt,dms.directory_002_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0702_benchmark,F_0702.txt,dms.directory_137_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0703_benchmark,F_0703.txt,dms.directory_409_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0704_benchmark,F_0704.txt,dms.directory_340_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0705_benchmark,F_0705.txt,dms.directory_499_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0706_benchmark,F_0706.txt,dms.directory_387_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0707_benchmark,F_0707.txt,dms.directory_487_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0708_benchmark,F_0708.txt,dms.directory_005_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0709_benchmark,F_0709.txt,dms.directory_322_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0710_benchmark,F_0710.txt,dms.directory_186_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0711_benchmark,F_0711.txt,dms.directory_085_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0712_benchmark,F_0712.txt,dms.directory_223_benchmark,dms.category_049_benchmark,dms.tag_040_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0713_benchmark,F_0713.txt,dms.directory_092_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0714_benchmark,F_0714.txt,dms.directory_339_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0715_benchmark,F_0715.txt,dms.directory_453_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0716_benchmark,F_0716.txt,dms.directory_281_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0717_benchmark,F_0717.txt,dms.directory_167_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0718_benchmark,F_0718.txt,dms.directory_175_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0719_benchmark,F_0719.txt,dms.directory_403_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0720_benchmark,F_0720.txt,dms.directory_431_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0721_benchmark,F_0721.txt,dms.directory_426_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0722_benchmark,F_0722.txt,dms.directory_208_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0723_benchmark,F_0723.txt,dms.directory_469_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0724_benchmark,F_0724.txt,dms.directory_059_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0725_benchmark,F_0725.txt,dms.directory_331_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0726_benchmark,F_0726.txt,dms.directory_385_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0727_benchmark,F_0727.txt,dms.directory_140_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0728_benchmark,F_0728.txt,dms.directory_339_benchmark,dms.category_012_benchmark,dms.tag_098_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0729_benchmark,F_0729.txt,dms.directory_024_benchmark,dms.category_006_benchmark,dms.tag_041_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0730_benchmark,F_0730.txt,dms.directory_153_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0731_benchmark,F_0731.txt,dms.directory_143_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0732_benchmark,F_0732.txt,dms.directory_441_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0733_benchmark,F_0733.txt,dms.directory_316_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0734_benchmark,F_0734.txt,dms.directory_006_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0735_benchmark,F_0735.txt,dms.directory_461_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0736_benchmark,F_0736.txt,dms.directory_083_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0737_benchmark,F_0737.txt,dms.directory_098_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0738_benchmark,F_0738.txt,dms.directory_427_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0739_benchmark,F_0739.txt,dms.directory_126_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0740_benchmark,F_0740.txt,dms.directory_429_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0741_benchmark,F_0741.txt,dms.directory_211_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0742_benchmark,F_0742.txt,dms.directory_147_benchmark,,dms.tag_032_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0743_benchmark,F_0743.txt,dms.directory_384_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0744_benchmark,F_0744.txt,dms.directory_388_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0745_benchmark,F_0745.txt,dms.directory_122_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0746_benchmark,F_0746.txt,dms.directory_221_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0747_benchmark,F_0747.txt,dms.directory_073_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0748_benchmark,F_0748.txt,dms.directory_500_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0749_benchmark,F_0749.txt,dms.directory_244_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0750_benchmark,F_0750.txt,dms.directory_261_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0751_benchmark,F_0751.txt,dms.directory_233_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0752_benchmark,F_0752.txt,dms.directory_297_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0753_benchmark,F_0753.txt,dms.directory_024_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0754_benchmark,F_0754.txt,dms.directory_158_benchmark,dms.category_025_benchmark,dms.tag_028_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0755_benchmark,F_0755.txt,dms.directory_128_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0756_benchmark,F_0756.txt,dms.directory_028_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0757_benchmark,F_0757.txt,dms.directory_196_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0758_benchmark,F_0758.txt,dms.directory_495_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0759_benchmark,F_0759.txt,dms.directory_420_benchmark,,dms.tag_063_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0760_benchmark,F_0760.txt,dms.directory_101_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0761_benchmark,F_0761.txt,dms.directory_474_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0762_benchmark,F_0762.txt,dms.directory_156_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0763_benchmark,F_0763.txt,dms.directory_028_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0764_benchmark,F_0764.txt,dms.directory_347_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0765_benchmark,F_0765.txt,dms.directory_267_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0766_benchmark,F_0766.txt,dms.directory_491_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0767_benchmark,F_0767.txt,dms.directory_379_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0768_benchmark,F_0768.txt,dms.directory_008_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0769_benchmark,F_0769.txt,dms.directory_161_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0770_benchmark,F_0770.txt,dms.directory_286_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0771_benchmark,F_0771.txt,dms.directory_164_benchmark,dms.category_005_benchmark,dms.tag_014_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0772_benchmark,F_0772.txt,dms.directory_488_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0773_benchmark,F_0773.txt,dms.directory_398_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0774_benchmark,F_0774.txt,dms.directory_461_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0775_benchmark,F_0775.txt,dms.directory_385_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0776_benchmark,F_0776.txt,dms.directory_300_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0777_benchmark,F_0777.txt,dms.directory_225_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0778_benchmark,F_0778.txt,dms.directory_277_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0779_benchmark,F_0779.txt,dms.directory_122_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0780_benchmark,F_0780.txt,dms.directory_006_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0781_benchmark,F_0781.txt,dms.directory_044_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0782_benchmark,F_0782.txt,dms.directory_173_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0783_benchmark,F_0783.txt,dms.directory_499_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0784_benchmark,F_0784.txt,dms.directory_379_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0785_benchmark,F_0785.txt,dms.directory_467_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0786_benchmark,F_0786.txt,dms.directory_476_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0787_benchmark,F_0787.txt,dms.directory_170_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0788_benchmark,F_0788.txt,dms.directory_107_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0789_benchmark,F_0789.txt,dms.directory_267_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0790_benchmark,F_0790.txt,dms.directory_143_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0791_benchmark,F_0791.txt,dms.directory_146_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0792_benchmark,F_0792.txt,dms.directory_366_benchmark,,dms.tag_094_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0793_benchmark,F_0793.txt,dms.directory_492_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0794_benchmark,F_0794.txt,dms.directory_371_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0795_benchmark,F_0795.txt,dms.directory_084_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0796_benchmark,F_0796.txt,dms.directory_302_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0797_benchmark,F_0797.txt,dms.directory_487_benchmark,,dms.tag_012_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0798_benchmark,F_0798.txt,dms.directory_207_benchmark,,dms.tag_096_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0799_benchmark,F_0799.txt,dms.directory_338_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0800_benchmark,F_0800.txt,dms.directory_235_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0801_benchmark,F_0801.txt,dms.directory_243_benchmark,dms.category_020_benchmark,dms.tag_129_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0802_benchmark,F_0802.txt,dms.directory_148_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0803_benchmark,F_0803.txt,dms.directory_412_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0804_benchmark,F_0804.txt,dms.directory_478_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0805_benchmark,F_0805.txt,dms.directory_345_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0806_benchmark,F_0806.txt,dms.directory_090_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0807_benchmark,F_0807.txt,dms.directory_453_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0808_benchmark,F_0808.txt,dms.directory_433_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0809_benchmark,F_0809.txt,dms.directory_229_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0810_benchmark,F_0810.txt,dms.directory_437_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0811_benchmark,F_0811.txt,dms.directory_284_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0812_benchmark,F_0812.txt,dms.directory_253_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0813_benchmark,F_0813.txt,dms.directory_237_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0814_benchmark,F_0814.txt,dms.directory_392_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0815_benchmark,F_0815.txt,dms.directory_481_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0816_benchmark,F_0816.txt,dms.directory_215_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0817_benchmark,F_0817.txt,dms.directory_356_benchmark,dms.category_050_benchmark,dms.tag_029_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0818_benchmark,F_0818.txt,dms.directory_372_benchmark,dms.category_025_benchmark,dms.tag_097_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0819_benchmark,F_0819.txt,dms.directory_491_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0820_benchmark,F_0820.txt,dms.directory_008_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0821_benchmark,F_0821.txt,dms.directory_267_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0822_benchmark,F_0822.txt,dms.directory_494_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0823_benchmark,F_0823.txt,dms.directory_336_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0824_benchmark,F_0824.txt,dms.directory_290_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0825_benchmark,F_0825.txt,dms.directory_282_benchmark,dms.category_050_benchmark,dms.tag_050_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0826_benchmark,F_0826.txt,dms.directory_049_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0827_benchmark,F_0827.txt,dms.directory_245_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0828_benchmark,F_0828.txt,dms.directory_007_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0829_benchmark,F_0829.txt,dms.directory_295_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0830_benchmark,F_0830.txt,dms.directory_386_benchmark,dms.category_020_benchmark,dms.tag_141_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0831_benchmark,F_0831.txt,dms.directory_400_benchmark,,dms.tag_096_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0832_benchmark,F_0832.txt,dms.directory_125_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0833_benchmark,F_0833.txt,dms.directory_231_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0834_benchmark,F_0834.txt,dms.directory_047_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0835_benchmark,F_0835.txt,dms.directory_143_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0836_benchmark,F_0836.txt,dms.directory_365_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0837_benchmark,F_0837.txt,dms.directory_393_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0838_benchmark,F_0838.txt,dms.directory_436_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0839_benchmark,F_0839.txt,dms.directory_432_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0840_benchmark,F_0840.txt,dms.directory_266_benchmark,,dms.tag_060_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0841_benchmark,F_0841.txt,dms.directory_360_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0842_benchmark,F_0842.txt,dms.directory_144_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0843_benchmark,F_0843.txt,dms.directory_413_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0844_benchmark,F_0844.txt,dms.directory_341_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0845_benchmark,F_0845.txt,dms.directory_198_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0846_benchmark,F_0846.txt,dms.directory_008_benchmark,dms.category_007_benchmark,dms.tag_067_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0847_benchmark,F_0847.txt,dms.directory_427_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0848_benchmark,F_0848.txt,dms.directory_264_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0849_benchmark,F_0849.txt,dms.directory_373_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0850_benchmark,F_0850.txt,dms.directory_383_benchmark,dms.category_049_benchmark,dms.tag_040_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0851_benchmark,F_0851.txt,dms.directory_091_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0852_benchmark,F_0852.txt,dms.directory_250_benchmark,,dms.tag_094_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0853_benchmark,F_0853.txt,dms.directory_220_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0854_benchmark,F_0854.txt,dms.directory_356_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0855_benchmark,F_0855.txt,dms.directory_279_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0856_benchmark,F_0856.txt,dms.directory_172_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0857_benchmark,F_0857.txt,dms.directory_009_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0858_benchmark,F_0858.txt,dms.directory_352_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0859_benchmark,F_0859.txt,dms.directory_245_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0860_benchmark,F_0860.txt,dms.directory_028_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0861_benchmark,F_0861.txt,dms.directory_079_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0862_benchmark,F_0862.txt,dms.directory_255_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0863_benchmark,F_0863.txt,dms.directory_364_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0864_benchmark,F_0864.txt,dms.directory_269_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0865_benchmark,F_0865.txt,dms.directory_134_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0866_benchmark,F_0866.txt,dms.directory_471_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0867_benchmark,F_0867.txt,dms.directory_295_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0868_benchmark,F_0868.txt,dms.directory_181_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0869_benchmark,F_0869.txt,dms.directory_087_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0870_benchmark,F_0870.txt,dms.directory_361_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0871_benchmark,F_0871.txt,dms.directory_403_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0872_benchmark,F_0872.txt,dms.directory_472_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0873_benchmark,F_0873.txt,dms.directory_380_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0874_benchmark,F_0874.txt,dms.directory_272_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0875_benchmark,F_0875.txt,dms.directory_464_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0876_benchmark,F_0876.txt,dms.directory_422_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0877_benchmark,F_0877.txt,dms.directory_197_benchmark,dms.category_044_benchmark,dms.tag_095_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0878_benchmark,F_0878.txt,dms.directory_158_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0879_benchmark,F_0879.txt,dms.directory_041_benchmark,dms.category_034_benchmark,dms.tag_109_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0880_benchmark,F_0880.txt,dms.directory_046_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0881_benchmark,F_0881.txt,dms.directory_458_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0882_benchmark,F_0882.txt,dms.directory_298_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0883_benchmark,F_0883.txt,dms.directory_288_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0884_benchmark,F_0884.txt,dms.directory_476_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0885_benchmark,F_0885.txt,dms.directory_177_benchmark,dms.category_050_benchmark,dms.tag_029_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0886_benchmark,F_0886.txt,dms.directory_102_benchmark,dms.category_003_benchmark,dms.tag_145_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0887_benchmark,F_0887.txt,dms.directory_058_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0888_benchmark,F_0888.txt,dms.directory_216_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0889_benchmark,F_0889.txt,dms.directory_403_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0890_benchmark,F_0890.txt,dms.directory_332_benchmark,dms.category_013_benchmark,dms.tag_031_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0891_benchmark,F_0891.txt,dms.directory_346_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0892_benchmark,F_0892.txt,dms.directory_327_benchmark,dms.category_029_benchmark,dms.tag_005_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0893_benchmark,F_0893.txt,dms.directory_104_benchmark,dms.category_046_benchmark,dms.tag_022_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0894_benchmark,F_0894.txt,dms.directory_211_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0895_benchmark,F_0895.txt,dms.directory_087_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0896_benchmark,F_0896.txt,dms.directory_437_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0897_benchmark,F_0897.txt,dms.directory_347_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0898_benchmark,F_0898.txt,dms.directory_460_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0899_benchmark,F_0899.txt,dms.directory_191_benchmark,dms.category_015_benchmark,dms.tag_120_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0900_benchmark,F_0900.txt,dms.directory_277_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0901_benchmark,F_0901.txt,dms.directory_035_benchmark,dms.category_005_benchmark,dms.tag_014_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0902_benchmark,F_0902.txt,dms.directory_056_benchmark,dms.category_040_benchmark,dms.tag_072_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0903_benchmark,F_0903.txt,dms.directory_433_benchmark,dms.category_020_benchmark,dms.tag_129_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0904_benchmark,F_0904.txt,dms.directory_345_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0905_benchmark,F_0905.txt,dms.directory_486_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0906_benchmark,F_0906.txt,dms.directory_373_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0907_benchmark,F_0907.txt,dms.directory_288_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0908_benchmark,F_0908.txt,dms.directory_096_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0909_benchmark,F_0909.txt,dms.directory_077_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0910_benchmark,F_0910.txt,dms.directory_075_benchmark,dms.category_025_benchmark,dms.tag_097_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0911_benchmark,F_0911.txt,dms.directory_473_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0912_benchmark,F_0912.txt,dms.directory_422_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0913_benchmark,F_0913.txt,dms.directory_208_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0914_benchmark,F_0914.txt,dms.directory_130_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0915_benchmark,F_0915.txt,dms.directory_455_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0916_benchmark,F_0916.txt,dms.directory_115_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0917_benchmark,F_0917.txt,dms.directory_358_benchmark,dms.category_023_benchmark,dms.tag_038_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0918_benchmark,F_0918.txt,dms.directory_292_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0919_benchmark,F_0919.txt,dms.directory_292_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0920_benchmark,F_0920.txt,dms.directory_193_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0921_benchmark,F_0921.txt,dms.directory_179_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0922_benchmark,F_0922.txt,dms.directory_241_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0923_benchmark,F_0923.txt,dms.directory_400_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0924_benchmark,F_0924.txt,dms.directory_167_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0925_benchmark,F_0925.txt,dms.directory_300_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0926_benchmark,F_0926.txt,dms.directory_450_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0927_benchmark,F_0927.txt,dms.directory_395_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0928_benchmark,F_0928.txt,dms.directory_173_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0929_benchmark,F_0929.txt,dms.directory_148_benchmark,dms.category_011_benchmark,dms.tag_021_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0930_benchmark,F_0930.txt,dms.directory_229_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0931_benchmark,F_0931.txt,dms.directory_453_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0932_benchmark,F_0932.txt,dms.directory_384_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0933_benchmark,F_0933.txt,dms.directory_378_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0934_benchmark,F_0934.txt,dms.directory_077_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0935_benchmark,F_0935.txt,dms.directory_309_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0936_benchmark,F_0936.txt,dms.directory_091_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0937_benchmark,F_0937.txt,dms.directory_332_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0938_benchmark,F_0938.txt,dms.directory_235_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0939_benchmark,F_0939.txt,dms.directory_428_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0940_benchmark,F_0940.txt,dms.directory_423_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0941_benchmark,F_0941.txt,dms.directory_417_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0942_benchmark,F_0942.txt,dms.directory_001_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0943_benchmark,F_0943.txt,dms.directory_445_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0944_benchmark,F_0944.txt,dms.directory_102_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0945_benchmark,F_0945.txt,dms.directory_049_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0946_benchmark,F_0946.txt,dms.directory_148_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0947_benchmark,F_0947.txt,dms.directory_039_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0948_benchmark,F_0948.txt,dms.directory_270_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0949_benchmark,F_0949.txt,dms.directory_138_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0950_benchmark,F_0950.txt,dms.directory_391_benchmark,dms.category_025_benchmark,dms.tag_028_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0951_benchmark,F_0951.txt,dms.directory_428_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0952_benchmark,F_0952.txt,dms.directory_249_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0953_benchmark,F_0953.txt,dms.directory_225_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0954_benchmark,F_0954.txt,dms.directory_259_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0955_benchmark,F_0955.txt,dms.directory_304_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0956_benchmark,F_0956.txt,dms.directory_185_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0957_benchmark,F_0957.txt,dms.directory_272_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0958_benchmark,F_0958.txt,dms.directory_498_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0959_benchmark,F_0959.txt,dms.directory_062_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0960_benchmark,F_0960.txt,dms.directory_044_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0961_benchmark,F_0961.txt,dms.directory_454_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0962_benchmark,F_0962.txt,dms.directory_164_benchmark,dms.category_027_benchmark,dms.tag_048_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0963_benchmark,F_0963.txt,dms.directory_268_benchmark,dms.category_021_benchmark,dms.tag_136_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0964_benchmark,F_0964.txt,dms.directory_089_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0965_benchmark,F_0965.txt,dms.directory_214_benchmark,dms.category_008_benchmark,dms.tag_077_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0966_benchmark,F_0966.txt,dms.directory_473_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0967_benchmark,F_0967.txt,dms.directory_195_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0968_benchmark,F_0968.txt,dms.directory_483_benchmark,dms.category_015_benchmark,dms.tag_056_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0969_benchmark,F_0969.txt,dms.directory_007_benchmark,dms.category_014_benchmark,dms.tag_103_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0970_benchmark,F_0970.txt,dms.directory_286_benchmark,dms.category_019_benchmark,dms.tag_125_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0971_benchmark,F_0971.txt,dms.directory_078_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0972_benchmark,F_0972.txt,dms.directory_012_benchmark,dms.category_049_benchmark,dms.tag_035_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0973_benchmark,F_0973.txt,dms.directory_229_benchmark,dms.category_019_benchmark,dms.tag_125_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0974_benchmark,F_0974.txt,dms.directory_471_benchmark,dms.category_018_benchmark,dms.tag_133_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0975_benchmark,F_0975.txt,dms.directory_460_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0976_benchmark,F_0976.txt,dms.directory_105_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0977_benchmark,F_0977.txt,dms.directory_483_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0978_benchmark,F_0978.txt,dms.directory_292_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0979_benchmark,F_0979.txt,dms.directory_344_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0980_benchmark,F_0980.txt,dms.directory_058_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0981_benchmark,F_0981.txt,dms.directory_463_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0982_benchmark,F_0982.txt,dms.directory_098_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0983_benchmark,F_0983.txt,dms.directory_291_benchmark,,dms.tag_063_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0984_benchmark,F_0984.txt,dms.directory_027_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0985_benchmark,F_0985.txt,dms.directory_460_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0986_benchmark,F_0986.txt,dms.directory_499_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0987_benchmark,F_0987.txt,dms.directory_395_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0988_benchmark,F_0988.txt,dms.directory_213_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0989_benchmark,F_0989.txt,dms.directory_006_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0990_benchmark,F_0990.txt,dms.directory_276_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0991_benchmark,F_0991.txt,dms.directory_287_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0992_benchmark,F_0992.txt,dms.directory_250_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0993_benchmark,F_0993.txt,dms.directory_059_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0994_benchmark,F_0994.txt,dms.directory_476_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0995_benchmark,F_0995.txt,dms.directory_156_benchmark,dms.category_031_benchmark,dms.tag_114_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0996_benchmark,F_0996.txt,dms.directory_367_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0997_benchmark,F_0997.txt,dms.directory_125_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0998_benchmark,F_0998.txt,dms.directory_477_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_0999_benchmark,F_0999.txt,dms.directory_324_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1000_benchmark,F_1000.txt,dms.directory_447_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1001_benchmark,F_1001.txt,dms.directory_220_benchmark,dms.category_041_benchmark,dms.tag_042_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1002_benchmark,F_1002.txt,dms.directory_286_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1003_benchmark,F_1003.txt,dms.directory_331_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1004_benchmark,F_1004.txt,dms.directory_010_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1005_benchmark,F_1005.txt,dms.directory_048_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1006_benchmark,F_1006.txt,dms.directory_495_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1007_benchmark,F_1007.txt,dms.directory_037_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1008_benchmark,F_1008.txt,dms.directory_495_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1009_benchmark,F_1009.txt,dms.directory_039_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1010_benchmark,F_1010.txt,dms.directory_082_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1011_benchmark,F_1011.txt,dms.directory_267_benchmark,,dms.tag_130_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1012_benchmark,F_1012.txt,dms.directory_356_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1013_benchmark,F_1013.txt,dms.directory_418_benchmark,dms.category_021_benchmark,dms.tag_136_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1014_benchmark,F_1014.txt,dms.directory_271_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1015_benchmark,F_1015.txt,dms.directory_173_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1016_benchmark,F_1016.txt,dms.directory_347_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1017_benchmark,F_1017.txt,dms.directory_068_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1018_benchmark,F_1018.txt,dms.directory_476_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1019_benchmark,F_1019.txt,dms.directory_003_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1020_benchmark,F_1020.txt,dms.directory_272_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1021_benchmark,F_1021.txt,dms.directory_437_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1022_benchmark,F_1022.txt,dms.directory_271_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1023_benchmark,F_1023.txt,dms.directory_371_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1024_benchmark,F_1024.txt,dms.directory_374_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1025_benchmark,F_1025.txt,dms.directory_271_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1026_benchmark,F_1026.txt,dms.directory_415_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1027_benchmark,F_1027.txt,dms.directory_279_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1028_benchmark,F_1028.txt,dms.directory_440_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1029_benchmark,F_1029.txt,dms.directory_341_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1030_benchmark,F_1030.txt,dms.directory_263_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1031_benchmark,F_1031.txt,dms.directory_418_benchmark,dms.category_040_benchmark,dms.tag_072_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1032_benchmark,F_1032.txt,dms.directory_444_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1033_benchmark,F_1033.txt,dms.directory_166_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1034_benchmark,F_1034.txt,dms.directory_442_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1035_benchmark,F_1035.txt,dms.directory_122_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1036_benchmark,F_1036.txt,dms.directory_092_benchmark,,dms.tag_070_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1037_benchmark,F_1037.txt,dms.directory_424_benchmark,dms.category_018_benchmark,dms.tag_133_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1038_benchmark,F_1038.txt,dms.directory_482_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1039_benchmark,F_1039.txt,dms.directory_221_benchmark,dms.category_049_benchmark,dms.tag_035_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1040_benchmark,F_1040.txt,dms.directory_388_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1041_benchmark,F_1041.txt,dms.directory_273_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1042_benchmark,F_1042.txt,dms.directory_015_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1043_benchmark,F_1043.txt,dms.directory_376_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1044_benchmark,F_1044.txt,dms.directory_087_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1045_benchmark,F_1045.txt,dms.directory_032_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1046_benchmark,F_1046.txt,dms.directory_405_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1047_benchmark,F_1047.txt,dms.directory_133_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1048_benchmark,F_1048.txt,dms.directory_485_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1049_benchmark,F_1049.txt,dms.directory_354_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1050_benchmark,F_1050.txt,dms.directory_145_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1051_benchmark,F_1051.txt,dms.directory_326_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1052_benchmark,F_1052.txt,dms.directory_042_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1053_benchmark,F_1053.txt,dms.directory_118_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1054_benchmark,F_1054.txt,dms.directory_330_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1055_benchmark,F_1055.txt,dms.directory_045_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1056_benchmark,F_1056.txt,dms.directory_394_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1057_benchmark,F_1057.txt,dms.directory_336_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1058_benchmark,F_1058.txt,dms.directory_043_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1059_benchmark,F_1059.txt,dms.directory_154_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1060_benchmark,F_1060.txt,dms.directory_294_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1061_benchmark,F_1061.txt,dms.directory_309_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1062_benchmark,F_1062.txt,dms.directory_350_benchmark,dms.category_046_benchmark,dms.tag_022_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1063_benchmark,F_1063.txt,dms.directory_491_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1064_benchmark,F_1064.txt,dms.directory_349_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1065_benchmark,F_1065.txt,dms.directory_162_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1066_benchmark,F_1066.txt,dms.directory_486_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1067_benchmark,F_1067.txt,dms.directory_411_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1068_benchmark,F_1068.txt,dms.directory_489_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1069_benchmark,F_1069.txt,dms.directory_375_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1070_benchmark,F_1070.txt,dms.directory_392_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1071_benchmark,F_1071.txt,dms.directory_340_benchmark,,dms.tag_091_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1072_benchmark,F_1072.txt,dms.directory_026_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1073_benchmark,F_1073.txt,dms.directory_418_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1074_benchmark,F_1074.txt,dms.directory_035_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1075_benchmark,F_1075.txt,dms.directory_268_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1076_benchmark,F_1076.txt,dms.directory_308_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1077_benchmark,F_1077.txt,dms.directory_491_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1078_benchmark,F_1078.txt,dms.directory_188_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1079_benchmark,F_1079.txt,dms.directory_324_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1080_benchmark,F_1080.txt,dms.directory_170_benchmark,dms.category_006_benchmark,dms.tag_041_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1081_benchmark,F_1081.txt,dms.directory_163_benchmark,,dms.tag_091_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1082_benchmark,F_1082.txt,dms.directory_327_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1083_benchmark,F_1083.txt,dms.directory_079_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1084_benchmark,F_1084.txt,dms.directory_052_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1085_benchmark,F_1085.txt,dms.directory_153_benchmark,dms.category_050_benchmark,dms.tag_050_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1086_benchmark,F_1086.txt,dms.directory_299_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1087_benchmark,F_1087.txt,dms.directory_080_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1088_benchmark,F_1088.txt,dms.directory_158_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1089_benchmark,F_1089.txt,dms.directory_195_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1090_benchmark,F_1090.txt,dms.directory_164_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1091_benchmark,F_1091.txt,dms.directory_290_benchmark,dms.category_003_benchmark,dms.tag_145_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1092_benchmark,F_1092.txt,dms.directory_072_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1093_benchmark,F_1093.txt,dms.directory_430_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1094_benchmark,F_1094.txt,dms.directory_180_benchmark,dms.category_041_benchmark,dms.tag_042_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1095_benchmark,F_1095.txt,dms.directory_297_benchmark,,dms.tag_004_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1096_benchmark,F_1096.txt,dms.directory_038_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1097_benchmark,F_1097.txt,dms.directory_245_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1098_benchmark,F_1098.txt,dms.directory_416_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1099_benchmark,F_1099.txt,dms.directory_242_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1100_benchmark,F_1100.txt,dms.directory_263_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1101_benchmark,F_1101.txt,dms.directory_196_benchmark,dms.category_011_benchmark,dms.tag_021_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1102_benchmark,F_1102.txt,dms.directory_492_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1103_benchmark,F_1103.txt,dms.directory_301_benchmark,dms.category_044_benchmark,dms.tag_095_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1104_benchmark,F_1104.txt,dms.directory_220_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1105_benchmark,F_1105.txt,dms.directory_304_benchmark,,dms.tag_034_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1106_benchmark,F_1106.txt,dms.directory_266_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1107_benchmark,F_1107.txt,dms.directory_179_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1108_benchmark,F_1108.txt,dms.directory_049_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1109_benchmark,F_1109.txt,dms.directory_365_benchmark,dms.category_009_benchmark,dms.tag_025_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1110_benchmark,F_1110.txt,dms.directory_286_benchmark,,dms.tag_124_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1111_benchmark,F_1111.txt,dms.directory_141_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1112_benchmark,F_1112.txt,dms.directory_479_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1113_benchmark,F_1113.txt,dms.directory_484_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1114_benchmark,F_1114.txt,dms.directory_166_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1115_benchmark,F_1115.txt,dms.directory_336_benchmark,,dms.tag_075_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1116_benchmark,F_1116.txt,dms.directory_169_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1117_benchmark,F_1117.txt,dms.directory_174_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1118_benchmark,F_1118.txt,dms.directory_105_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1119_benchmark,F_1119.txt,dms.directory_131_benchmark,dms.category_049_benchmark,dms.tag_007_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1120_benchmark,F_1120.txt,dms.directory_234_benchmark,,dms.tag_137_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1121_benchmark,F_1121.txt,dms.directory_125_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1122_benchmark,F_1122.txt,dms.directory_258_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1123_benchmark,F_1123.txt,dms.directory_018_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1124_benchmark,F_1124.txt,dms.directory_007_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1125_benchmark,F_1125.txt,dms.directory_102_benchmark,dms.category_031_benchmark,dms.tag_114_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1126_benchmark,F_1126.txt,dms.directory_239_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1127_benchmark,F_1127.txt,dms.directory_369_benchmark,dms.category_015_benchmark,dms.tag_056_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1128_benchmark,F_1128.txt,dms.directory_115_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1129_benchmark,F_1129.txt,dms.directory_006_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1130_benchmark,F_1130.txt,dms.directory_483_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1131_benchmark,F_1131.txt,dms.directory_215_benchmark,dms.category_001_benchmark,dms.tag_102_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1132_benchmark,F_1132.txt,dms.directory_300_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1133_benchmark,F_1133.txt,dms.directory_410_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1134_benchmark,F_1134.txt,dms.directory_416_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1135_benchmark,F_1135.txt,dms.directory_476_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1136_benchmark,F_1136.txt,dms.directory_260_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1137_benchmark,F_1137.txt,dms.directory_411_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1138_benchmark,F_1138.txt,dms.directory_377_benchmark,dms.category_040_benchmark,dms.tag_043_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1139_benchmark,F_1139.txt,dms.directory_147_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1140_benchmark,F_1140.txt,dms.directory_312_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1141_benchmark,F_1141.txt,dms.directory_133_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1142_benchmark,F_1142.txt,dms.directory_045_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1143_benchmark,F_1143.txt,dms.directory_356_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1144_benchmark,F_1144.txt,dms.directory_009_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1145_benchmark,F_1145.txt,dms.directory_362_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1146_benchmark,F_1146.txt,dms.directory_323_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1147_benchmark,F_1147.txt,dms.directory_117_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1148_benchmark,F_1148.txt,dms.directory_353_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1149_benchmark,F_1149.txt,dms.directory_066_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1150_benchmark,F_1150.txt,dms.directory_068_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1151_benchmark,F_1151.txt,dms.directory_316_benchmark,dms.category_008_benchmark,dms.tag_077_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1152_benchmark,F_1152.txt,dms.directory_368_benchmark,dms.category_034_benchmark,dms.tag_109_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1153_benchmark,F_1153.txt,dms.directory_294_benchmark,dms.category_023_benchmark,dms.tag_038_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1154_benchmark,F_1154.txt,dms.directory_065_benchmark,,dms.tag_034_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1155_benchmark,F_1155.txt,dms.directory_171_benchmark,dms.category_027_benchmark,dms.tag_048_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1156_benchmark,F_1156.txt,dms.directory_149_benchmark,dms.category_009_benchmark,dms.tag_025_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1157_benchmark,F_1157.txt,dms.directory_396_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1158_benchmark,F_1158.txt,dms.directory_107_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1159_benchmark,F_1159.txt,dms.directory_380_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1160_benchmark,F_1160.txt,dms.directory_259_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1161_benchmark,F_1161.txt,dms.directory_391_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1162_benchmark,F_1162.txt,dms.directory_476_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1163_benchmark,F_1163.txt,dms.directory_053_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1164_benchmark,F_1164.txt,dms.directory_408_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1165_benchmark,F_1165.txt,dms.directory_450_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1166_benchmark,F_1166.txt,dms.directory_160_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1167_benchmark,F_1167.txt,dms.directory_415_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1168_benchmark,F_1168.txt,dms.directory_185_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1169_benchmark,F_1169.txt,dms.directory_281_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1170_benchmark,F_1170.txt,dms.directory_345_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1171_benchmark,F_1171.txt,dms.directory_357_benchmark,dms.category_020_benchmark,dms.tag_141_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1172_benchmark,F_1172.txt,dms.directory_071_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1173_benchmark,F_1173.txt,dms.directory_016_benchmark,dms.category_033_benchmark,dms.tag_113_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1174_benchmark,F_1174.txt,dms.directory_246_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1175_benchmark,F_1175.txt,dms.directory_368_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1176_benchmark,F_1176.txt,dms.directory_154_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1177_benchmark,F_1177.txt,dms.directory_461_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1178_benchmark,F_1178.txt,dms.directory_170_benchmark,dms.category_019_benchmark,dms.tag_055_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1179_benchmark,F_1179.txt,dms.directory_039_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1180_benchmark,F_1180.txt,dms.directory_458_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1181_benchmark,F_1181.txt,dms.directory_286_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1182_benchmark,F_1182.txt,dms.directory_126_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1183_benchmark,F_1183.txt,dms.directory_160_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1184_benchmark,F_1184.txt,dms.directory_032_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1185_benchmark,F_1185.txt,dms.directory_202_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1186_benchmark,F_1186.txt,dms.directory_279_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1187_benchmark,F_1187.txt,dms.directory_040_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1188_benchmark,F_1188.txt,dms.directory_201_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1189_benchmark,F_1189.txt,dms.directory_127_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1190_benchmark,F_1190.txt,dms.directory_222_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1191_benchmark,F_1191.txt,dms.directory_233_benchmark,,dms.tag_012_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1192_benchmark,F_1192.txt,dms.directory_134_benchmark,dms.category_025_benchmark,dms.tag_074_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1193_benchmark,F_1193.txt,dms.directory_245_benchmark,,dms.tag_032_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1194_benchmark,F_1194.txt,dms.directory_221_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1195_benchmark,F_1195.txt,dms.directory_398_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1196_benchmark,F_1196.txt,dms.directory_172_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1197_benchmark,F_1197.txt,dms.directory_323_benchmark,dms.category_019_benchmark,dms.tag_105_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1198_benchmark,F_1198.txt,dms.directory_275_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1199_benchmark,F_1199.txt,dms.directory_365_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1200_benchmark,F_1200.txt,dms.directory_040_benchmark,dms.category_031_benchmark,dms.tag_116_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1201_benchmark,F_1201.txt,dms.directory_232_benchmark,dms.category_049_benchmark,dms.tag_093_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1202_benchmark,F_1202.txt,dms.directory_315_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1203_benchmark,F_1203.txt,dms.directory_033_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1204_benchmark,F_1204.txt,dms.directory_271_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1205_benchmark,F_1205.txt,dms.directory_262_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1206_benchmark,F_1206.txt,dms.directory_061_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1207_benchmark,F_1207.txt,dms.directory_185_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1208_benchmark,F_1208.txt,dms.directory_148_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1209_benchmark,F_1209.txt,dms.directory_395_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1210_benchmark,F_1210.txt,dms.directory_208_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1211_benchmark,F_1211.txt,dms.directory_173_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1212_benchmark,F_1212.txt,dms.directory_453_benchmark,dms.category_049_benchmark,dms.tag_040_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1213_benchmark,F_1213.txt,dms.directory_063_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1214_benchmark,F_1214.txt,dms.directory_308_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1215_benchmark,F_1215.txt,dms.directory_015_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1216_benchmark,F_1216.txt,dms.directory_313_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1217_benchmark,F_1217.txt,dms.directory_268_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1218_benchmark,F_1218.txt,dms.directory_253_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1219_benchmark,F_1219.txt,dms.directory_378_benchmark,dms.category_034_benchmark,dms.tag_047_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1220_benchmark,F_1220.txt,dms.directory_278_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1221_benchmark,F_1221.txt,dms.directory_361_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1222_benchmark,F_1222.txt,dms.directory_234_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1223_benchmark,F_1223.txt,dms.directory_283_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1224_benchmark,F_1224.txt,dms.directory_126_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1225_benchmark,F_1225.txt,dms.directory_271_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1226_benchmark,F_1226.txt,dms.directory_354_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1227_benchmark,F_1227.txt,dms.directory_118_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1228_benchmark,F_1228.txt,dms.directory_325_benchmark,dms.category_012_benchmark,dms.tag_098_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1229_benchmark,F_1229.txt,dms.directory_250_benchmark,dms.category_006_benchmark,dms.tag_041_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1230_benchmark,F_1230.txt,dms.directory_159_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1231_benchmark,F_1231.txt,dms.directory_216_benchmark,,dms.tag_065_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1232_benchmark,F_1232.txt,dms.directory_168_benchmark,,dms.tag_119_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1233_benchmark,F_1233.txt,dms.directory_026_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1234_benchmark,F_1234.txt,dms.directory_436_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1235_benchmark,F_1235.txt,dms.directory_296_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1236_benchmark,F_1236.txt,dms.directory_113_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1237_benchmark,F_1237.txt,dms.directory_278_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1238_benchmark,F_1238.txt,dms.directory_070_benchmark,dms.category_021_benchmark,dms.tag_140_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1239_benchmark,F_1239.txt,dms.directory_058_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1240_benchmark,F_1240.txt,dms.directory_190_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1241_benchmark,F_1241.txt,dms.directory_204_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1242_benchmark,F_1242.txt,dms.directory_278_benchmark,,dms.tag_032_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1243_benchmark,F_1243.txt,dms.directory_478_benchmark,,dms.tag_127_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1244_benchmark,F_1244.txt,dms.directory_458_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1245_benchmark,F_1245.txt,dms.directory_140_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1246_benchmark,F_1246.txt,dms.directory_037_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1247_benchmark,F_1247.txt,dms.directory_411_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1248_benchmark,F_1248.txt,dms.directory_293_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1249_benchmark,F_1249.txt,dms.directory_077_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1250_benchmark,F_1250.txt,dms.directory_342_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1251_benchmark,F_1251.txt,dms.directory_310_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1252_benchmark,F_1252.txt,dms.directory_093_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1253_benchmark,F_1253.txt,dms.directory_337_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1254_benchmark,F_1254.txt,dms.directory_415_benchmark,dms.category_025_benchmark,dms.tag_028_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1255_benchmark,F_1255.txt,dms.directory_223_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1256_benchmark,F_1256.txt,dms.directory_473_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1257_benchmark,F_1257.txt,dms.directory_382_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1258_benchmark,F_1258.txt,dms.directory_057_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1259_benchmark,F_1259.txt,dms.directory_450_benchmark,,dms.tag_063_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1260_benchmark,F_1260.txt,dms.directory_178_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1261_benchmark,F_1261.txt,dms.directory_476_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1262_benchmark,F_1262.txt,dms.directory_219_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1263_benchmark,F_1263.txt,dms.directory_345_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1264_benchmark,F_1264.txt,dms.directory_278_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1265_benchmark,F_1265.txt,dms.directory_001_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1266_benchmark,F_1266.txt,dms.directory_222_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1267_benchmark,F_1267.txt,dms.directory_120_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1268_benchmark,F_1268.txt,dms.directory_411_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1269_benchmark,F_1269.txt,dms.directory_386_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1270_benchmark,F_1270.txt,dms.directory_299_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1271_benchmark,F_1271.txt,dms.directory_335_benchmark,dms.category_005_benchmark,dms.tag_014_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1272_benchmark,F_1272.txt,dms.directory_019_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1273_benchmark,F_1273.txt,dms.directory_055_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1274_benchmark,F_1274.txt,dms.directory_483_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1275_benchmark,F_1275.txt,dms.directory_033_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1276_benchmark,F_1276.txt,dms.directory_439_benchmark,dms.category_019_benchmark,dms.tag_081_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1277_benchmark,F_1277.txt,dms.directory_473_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1278_benchmark,F_1278.txt,dms.directory_397_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1279_benchmark,F_1279.txt,dms.directory_002_benchmark,,dms.tag_010_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1280_benchmark,F_1280.txt,dms.directory_382_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1281_benchmark,F_1281.txt,dms.directory_386_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1282_benchmark,F_1282.txt,dms.directory_387_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1283_benchmark,F_1283.txt,dms.directory_148_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1284_benchmark,F_1284.txt,dms.directory_414_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1285_benchmark,F_1285.txt,dms.directory_337_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1286_benchmark,F_1286.txt,dms.directory_005_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1287_benchmark,F_1287.txt,dms.directory_310_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1288_benchmark,F_1288.txt,dms.directory_204_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1289_benchmark,F_1289.txt,dms.directory_370_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1290_benchmark,F_1290.txt,dms.directory_216_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1291_benchmark,F_1291.txt,dms.directory_379_benchmark,,dms.tag_013_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1292_benchmark,F_1292.txt,dms.directory_187_benchmark,,dms.tag_094_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1293_benchmark,F_1293.txt,dms.directory_276_benchmark,dms.category_018_benchmark,dms.tag_083_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1294_benchmark,F_1294.txt,dms.directory_498_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1295_benchmark,F_1295.txt,dms.directory_287_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1296_benchmark,F_1296.txt,dms.directory_086_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1297_benchmark,F_1297.txt,dms.directory_324_benchmark,,dms.tag_012_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1298_benchmark,F_1298.txt,dms.directory_218_benchmark,,dms.tag_096_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1299_benchmark,F_1299.txt,dms.directory_097_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1300_benchmark,F_1300.txt,dms.directory_494_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1301_benchmark,F_1301.txt,dms.directory_274_benchmark,dms.category_020_benchmark,dms.tag_129_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1302_benchmark,F_1302.txt,dms.directory_206_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1303_benchmark,F_1303.txt,dms.directory_251_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1304_benchmark,F_1304.txt,dms.directory_068_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1305_benchmark,F_1305.txt,dms.directory_313_benchmark,dms.category_040_benchmark,dms.tag_054_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1306_benchmark,F_1306.txt,dms.directory_099_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1307_benchmark,F_1307.txt,dms.directory_164_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1308_benchmark,F_1308.txt,dms.directory_194_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1309_benchmark,F_1309.txt,dms.directory_185_benchmark,dms.category_035_benchmark,dms.tag_101_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1310_benchmark,F_1310.txt,dms.directory_007_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1311_benchmark,F_1311.txt,dms.directory_337_benchmark,dms.category_003_benchmark,dms.tag_106_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1312_benchmark,F_1312.txt,dms.directory_276_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1313_benchmark,F_1313.txt,dms.directory_074_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1314_benchmark,F_1314.txt,dms.directory_305_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1315_benchmark,F_1315.txt,dms.directory_300_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1316_benchmark,F_1316.txt,dms.directory_358_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1317_benchmark,F_1317.txt,dms.directory_102_benchmark,dms.category_050_benchmark,dms.tag_029_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1318_benchmark,F_1318.txt,dms.directory_018_benchmark,dms.category_025_benchmark,dms.tag_097_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1319_benchmark,F_1319.txt,dms.directory_370_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1320_benchmark,F_1320.txt,dms.directory_408_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1321_benchmark,F_1321.txt,dms.directory_242_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1322_benchmark,F_1322.txt,dms.directory_243_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1323_benchmark,F_1323.txt,dms.directory_323_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1324_benchmark,F_1324.txt,dms.directory_011_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1325_benchmark,F_1325.txt,dms.directory_316_benchmark,dms.category_050_benchmark,dms.tag_050_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1326_benchmark,F_1326.txt,dms.directory_159_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1327_benchmark,F_1327.txt,dms.directory_135_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1328_benchmark,F_1328.txt,dms.directory_310_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1329_benchmark,F_1329.txt,dms.directory_413_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1330_benchmark,F_1330.txt,dms.directory_045_benchmark,dms.category_020_benchmark,dms.tag_141_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1331_benchmark,F_1331.txt,dms.directory_468_benchmark,,dms.tag_096_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1332_benchmark,F_1332.txt,dms.directory_033_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1333_benchmark,F_1333.txt,dms.directory_354_benchmark,dms.category_034_benchmark,dms.tag_033_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1334_benchmark,F_1334.txt,dms.directory_420_benchmark,dms.category_016_benchmark,dms.tag_147_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1335_benchmark,F_1335.txt,dms.directory_152_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1336_benchmark,F_1336.txt,dms.directory_319_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1337_benchmark,F_1337.txt,dms.directory_027_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1338_benchmark,F_1338.txt,dms.directory_241_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1339_benchmark,F_1339.txt,dms.directory_465_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1340_benchmark,F_1340.txt,dms.directory_146_benchmark,,dms.tag_060_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1341_benchmark,F_1341.txt,dms.directory_243_benchmark,dms.category_015_benchmark,dms.tag_089_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1342_benchmark,F_1342.txt,dms.directory_356_benchmark,dms.category_017_benchmark,dms.tag_017_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1343_benchmark,F_1343.txt,dms.directory_148_benchmark,,dms.tag_037_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1344_benchmark,F_1344.txt,dms.directory_145_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1345_benchmark,F_1345.txt,dms.directory_116_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1346_benchmark,F_1346.txt,dms.directory_454_benchmark,dms.category_007_benchmark,dms.tag_067_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1347_benchmark,F_1347.txt,dms.directory_298_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1348_benchmark,F_1348.txt,dms.directory_360_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1349_benchmark,F_1349.txt,dms.directory_239_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1350_benchmark,F_1350.txt,dms.directory_210_benchmark,dms.category_049_benchmark,dms.tag_040_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1351_benchmark,F_1351.txt,dms.directory_054_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1352_benchmark,F_1352.txt,dms.directory_448_benchmark,,dms.tag_094_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1353_benchmark,F_1353.txt,dms.directory_059_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1354_benchmark,F_1354.txt,dms.directory_327_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1355_benchmark,F_1355.txt,dms.directory_182_benchmark,,dms.tag_104_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1356_benchmark,F_1356.txt,dms.directory_294_benchmark,dms.category_024_benchmark,dms.tag_049_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1357_benchmark,F_1357.txt,dms.directory_460_benchmark,dms.category_050_benchmark,dms.tag_110_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1358_benchmark,F_1358.txt,dms.directory_389_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1359_benchmark,F_1359.txt,dms.directory_365_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1360_benchmark,F_1360.txt,dms.directory_373_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1361_benchmark,F_1361.txt,dms.directory_447_benchmark,,dms.tag_044_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1362_benchmark,F_1362.txt,dms.directory_398_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1363_benchmark,F_1363.txt,dms.directory_416_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1364_benchmark,F_1364.txt,dms.directory_037_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1365_benchmark,F_1365.txt,dms.directory_467_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1366_benchmark,F_1366.txt,dms.directory_467_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1367_benchmark,F_1367.txt,dms.directory_475_benchmark,dms.category_001_benchmark,dms.tag_099_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1368_benchmark,F_1368.txt,dms.directory_037_benchmark,,dms.tag_108_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1369_benchmark,F_1369.txt,dms.directory_070_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1370_benchmark,F_1370.txt,dms.directory_222_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1371_benchmark,F_1371.txt,dms.directory_105_benchmark,dms.category_022_benchmark,dms.tag_073_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1372_benchmark,F_1372.txt,dms.directory_018_benchmark,dms.category_004_benchmark,dms.tag_135_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1373_benchmark,F_1373.txt,dms.directory_334_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1374_benchmark,F_1374.txt,dms.directory_445_benchmark,dms.category_007_benchmark,dms.tag_118_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1375_benchmark,F_1375.txt,dms.directory_349_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1376_benchmark,F_1376.txt,dms.directory_171_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1377_benchmark,F_1377.txt,dms.directory_268_benchmark,dms.category_044_benchmark,dms.tag_095_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1378_benchmark,F_1378.txt,dms.directory_126_benchmark,dms.category_038_benchmark,dms.tag_092_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1379_benchmark,F_1379.txt,dms.directory_066_benchmark,dms.category_034_benchmark,dms.tag_109_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1380_benchmark,F_1380.txt,dms.directory_258_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1381_benchmark,F_1381.txt,dms.directory_245_benchmark,dms.category_003_benchmark,dms.tag_076_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1382_benchmark,F_1382.txt,dms.directory_299_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1383_benchmark,F_1383.txt,dms.directory_281_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1384_benchmark,F_1384.txt,dms.directory_071_benchmark,dms.category_039_benchmark,dms.tag_003_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1385_benchmark,F_1385.txt,dms.directory_196_benchmark,dms.category_050_benchmark,dms.tag_029_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1386_benchmark,F_1386.txt,dms.directory_447_benchmark,dms.category_003_benchmark,dms.tag_145_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1387_benchmark,F_1387.txt,dms.directory_432_benchmark,dms.category_015_benchmark,dms.tag_002_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1388_benchmark,F_1388.txt,dms.directory_281_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1389_benchmark,F_1389.txt,dms.directory_456_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1390_benchmark,F_1390.txt,dms.directory_132_benchmark,dms.category_013_benchmark,dms.tag_031_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1391_benchmark,F_1391.txt,dms.directory_120_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1392_benchmark,F_1392.txt,dms.directory_254_benchmark,dms.category_029_benchmark,dms.tag_005_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1393_benchmark,F_1393.txt,dms.directory_312_benchmark,dms.category_046_benchmark,dms.tag_022_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1394_benchmark,F_1394.txt,dms.directory_278_benchmark,dms.category_034_benchmark,dms.tag_142_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1395_benchmark,F_1395.txt,dms.directory_477_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1396_benchmark,F_1396.txt,dms.directory_131_benchmark,,dms.tag_132_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1397_benchmark,F_1397.txt,dms.directory_272_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1398_benchmark,F_1398.txt,dms.directory_257_benchmark,dms.category_014_benchmark,dms.tag_059_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1399_benchmark,F_1399.txt,dms.directory_468_benchmark,dms.category_015_benchmark,dms.tag_120_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1400_benchmark,F_1400.txt,dms.directory_102_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1401_benchmark,F_1401.txt,dms.directory_064_benchmark,dms.category_005_benchmark,dms.tag_014_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1402_benchmark,F_1402.txt,dms.directory_036_benchmark,dms.category_040_benchmark,dms.tag_072_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1403_benchmark,F_1403.txt,dms.directory_079_benchmark,dms.category_020_benchmark,dms.tag_129_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1404_benchmark,F_1404.txt,dms.directory_013_benchmark,dms.category_001_benchmark,dms.tag_122_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1405_benchmark,F_1405.txt,dms.directory_241_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1406_benchmark,F_1406.txt,dms.directory_452_benchmark,dms.category_039_benchmark,dms.tag_128_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1407_benchmark,F_1407.txt,dms.directory_374_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1408_benchmark,F_1408.txt,dms.directory_296_benchmark,dms.category_027_benchmark,dms.tag_001_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1409_benchmark,F_1409.txt,dms.directory_136_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1410_benchmark,F_1410.txt,dms.directory_475_benchmark,dms.category_025_benchmark,dms.tag_097_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1411_benchmark,F_1411.txt,dms.directory_071_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1412_benchmark,F_1412.txt,dms.directory_201_benchmark,dms.category_014_benchmark,dms.tag_149_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1413_benchmark,F_1413.txt,dms.directory_386_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1414_benchmark,F_1414.txt,dms.directory_407_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1415_benchmark,F_1415.txt,dms.directory_335_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1416_benchmark,F_1416.txt,dms.directory_310_benchmark,dms.category_039_benchmark,dms.tag_146_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1417_benchmark,F_1417.txt,dms.directory_313_benchmark,dms.category_023_benchmark,dms.tag_038_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1418_benchmark,F_1418.txt,dms.directory_180_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1419_benchmark,F_1419.txt,dms.directory_322_benchmark,dms.category_026_benchmark,dms.tag_027_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1420_benchmark,F_1420.txt,dms.directory_178_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1421_benchmark,F_1421.txt,dms.directory_467_benchmark,dms.category_014_benchmark,dms.tag_078_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1422_benchmark,F_1422.txt,dms.directory_321_benchmark,dms.category_022_benchmark,dms.tag_061_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1423_benchmark,F_1423.txt,dms.directory_489_benchmark,,dms.tag_006_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1424_benchmark,F_1424.txt,dms.directory_270_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1425_benchmark,F_1425.txt,dms.directory_228_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1426_benchmark,F_1426.txt,dms.directory_400_benchmark,dms.category_012_benchmark,dms.tag_023_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1427_benchmark,F_1427.txt,dms.directory_237_benchmark,dms.category_043_benchmark,dms.tag_079_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1428_benchmark,F_1428.txt,dms.directory_020_benchmark,dms.category_016_benchmark,dms.tag_100_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1429_benchmark,F_1429.txt,dms.directory_395_benchmark,dms.category_011_benchmark,dms.tag_021_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1430_benchmark,F_1430.txt,dms.directory_160_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1431_benchmark,F_1431.txt,dms.directory_372_benchmark,dms.category_011_benchmark,dms.tag_080_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1432_benchmark,F_1432.txt,dms.directory_200_benchmark,dms.category_001_benchmark,dms.tag_051_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1433_benchmark,F_1433.txt,dms.directory_122_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1434_benchmark,F_1434.txt,dms.directory_374_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1435_benchmark,F_1435.txt,dms.directory_173_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1436_benchmark,F_1436.txt,dms.directory_412_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1437_benchmark,F_1437.txt,dms.directory_204_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1438_benchmark,F_1438.txt,dms.directory_347_benchmark,dms.category_025_benchmark,dms.tag_112_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1439_benchmark,F_1439.txt,dms.directory_030_benchmark,dms.category_017_benchmark,dms.tag_011_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1440_benchmark,F_1440.txt,dms.directory_347_benchmark,,dms.tag_134_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1441_benchmark,F_1441.txt,dms.directory_103_benchmark,dms.category_037_benchmark,dms.tag_088_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1442_benchmark,F_1442.txt,dms.directory_295_benchmark,dms.category_021_benchmark,dms.tag_026_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1443_benchmark,F_1443.txt,dms.directory_381_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1444_benchmark,F_1444.txt,dms.directory_151_benchmark,dms.category_012_benchmark,dms.tag_057_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1445_benchmark,F_1445.txt,dms.directory_136_benchmark,dms.category_041_benchmark,dms.tag_087_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1446_benchmark,F_1446.txt,dms.directory_059_benchmark,,dms.tag_009_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1447_benchmark,F_1447.txt,dms.directory_216_benchmark,dms.category_043_benchmark,dms.tag_138_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1448_benchmark,F_1448.txt,dms.directory_182_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1449_benchmark,F_1449.txt,dms.directory_442_benchmark,,dms.tag_015_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1450_benchmark,F_1450.txt,dms.directory_258_benchmark,dms.category_025_benchmark,dms.tag_028_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1451_benchmark,F_1451.txt,dms.directory_272_benchmark,dms.category_032_benchmark,dms.tag_064_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1452_benchmark,F_1452.txt,dms.directory_326_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1453_benchmark,F_1453.txt,dms.directory_147_benchmark,dms.category_040_benchmark,dms.tag_024_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1454_benchmark,F_1454.txt,dms.directory_377_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1455_benchmark,F_1455.txt,dms.directory_464_benchmark,dms.category_046_benchmark,dms.tag_062_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1456_benchmark,F_1456.txt,dms.directory_425_benchmark,dms.category_028_benchmark,dms.tag_052_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1457_benchmark,F_1457.txt,dms.directory_361_benchmark,dms.category_043_benchmark,dms.tag_139_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1458_benchmark,F_1458.txt,dms.directory_394_benchmark,dms.category_033_benchmark,dms.tag_039_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1459_benchmark,F_1459.txt,dms.directory_133_benchmark,,dms.tag_046_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1460_benchmark,F_1460.txt,dms.directory_334_benchmark,,dms.tag_016_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1461_benchmark,F_1461.txt,dms.directory_341_benchmark,dms.category_050_benchmark,dms.tag_117_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1462_benchmark,F_1462.txt,dms.directory_179_benchmark,dms.category_027_benchmark,dms.tag_048_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1463_benchmark,F_1463.txt,dms.directory_352_benchmark,dms.category_021_benchmark,dms.tag_136_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1464_benchmark,F_1464.txt,dms.directory_231_benchmark,dms.category_040_benchmark,dms.tag_126_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1465_benchmark,F_1465.txt,dms.directory_226_benchmark,dms.category_008_benchmark,dms.tag_077_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1466_benchmark,F_1466.txt,dms.directory_216_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1467_benchmark,F_1467.txt,dms.directory_061_benchmark,dms.category_041_benchmark,dms.tag_115_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1468_benchmark,F_1468.txt,dms.directory_298_benchmark,dms.category_015_benchmark,dms.tag_056_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1469_benchmark,F_1469.txt,dms.directory_144_benchmark,dms.category_014_benchmark,dms.tag_103_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1470_benchmark,F_1470.txt,dms.directory_233_benchmark,dms.category_019_benchmark,dms.tag_125_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1471_benchmark,F_1471.txt,dms.directory_325_benchmark,dms.category_023_benchmark,dms.tag_085_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1472_benchmark,F_1472.txt,dms.directory_394_benchmark,dms.category_049_benchmark,dms.tag_035_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1473_benchmark,F_1473.txt,dms.directory_362_benchmark,dms.category_019_benchmark,dms.tag_125_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1474_benchmark,F_1474.txt,dms.directory_363_benchmark,dms.category_018_benchmark,dms.tag_133_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1475_benchmark,F_1475.txt,dms.directory_131_benchmark,dms.category_011_benchmark,dms.tag_144_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1476_benchmark,F_1476.txt,dms.directory_478_benchmark,dms.category_018_benchmark,dms.tag_018_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1477_benchmark,F_1477.txt,dms.directory_184_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1478_benchmark,F_1478.txt,dms.directory_120_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1479_benchmark,F_1479.txt,dms.directory_139_benchmark,dms.category_031_benchmark,dms.tag_111_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1480_benchmark,F_1480.txt,dms.directory_042_benchmark,dms.category_013_benchmark,dms.tag_068_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1481_benchmark,F_1481.txt,dms.directory_296_benchmark,dms.category_041_benchmark,dms.tag_053_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1482_benchmark,F_1482.txt,dms.directory_043_benchmark,,dms.tag_123_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1483_benchmark,F_1483.txt,dms.directory_013_benchmark,,dms.tag_063_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1484_benchmark,F_1484.txt,dms.directory_025_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1485_benchmark,F_1485.txt,dms.directory_444_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1486_benchmark,F_1486.txt,dms.directory_085_benchmark,dms.category_024_benchmark,dms.tag_084_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1487_benchmark,F_1487.txt,dms.directory_427_benchmark,dms.category_014_benchmark,dms.tag_107_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1488_benchmark,F_1488.txt,dms.directory_136_benchmark,,dms.tag_090_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1489_benchmark,F_1489.txt,dms.directory_397_benchmark,dms.category_005_benchmark,dms.tag_058_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1490_benchmark,F_1490.txt,dms.directory_033_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1491_benchmark,F_1491.txt,dms.directory_130_benchmark,dms.category_022_benchmark,dms.tag_020_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1492_benchmark,F_1492.txt,dms.directory_247_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1493_benchmark,F_1493.txt,dms.directory_105_benchmark,dms.category_037_benchmark,dms.tag_030_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1494_benchmark,F_1494.txt,dms.directory_149_benchmark,dms.category_041_benchmark,dms.tag_036_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1495_benchmark,F_1495.txt,dms.directory_246_benchmark,dms.category_031_benchmark,dms.tag_114_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1496_benchmark,F_1496.txt,dms.directory_285_benchmark,dms.category_025_benchmark,dms.tag_082_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1497_benchmark,F_1497.txt,dms.directory_237_benchmark,dms.category_005_benchmark,dms.tag_121_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1498_benchmark,F_1498.txt,dms.directory_020_benchmark,,,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1499_benchmark,F_1499.txt,dms.directory_277_benchmark,,dms.tag_086_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== +dms.file_1500_benchmark,F_1500.txt,dms.directory_434_benchmark,dms.category_001_benchmark,dms.tag_143_benchmark,I2luY2x1ZGUgPHN0ZGlvLmg+DQoNCmludCBtYWluKHZvaWQpDQp7DQogICAgcHJpbnRmKCJoZWxsbywgd29ybGRcbiIpOw0KfQ== diff --git a/dms/tests/data/dms.storage.csv b/dms/tests/data/dms.storage.csv new file mode 100644 index 000000000..5db4c3e2d --- /dev/null +++ b/dms/tests/data/dms.storage.csv @@ -0,0 +1,3 @@ +id,name,save_type +dms.storage_001_benchmark,S_001,database +dms.storage_002_benchmark,S_002,database diff --git a/dms/tests/data/dms.tag.csv b/dms/tests/data/dms.tag.csv new file mode 100644 index 000000000..dc25364b5 --- /dev/null +++ b/dms/tests/data/dms.tag.csv @@ -0,0 +1,151 @@ +id,name,category_id/id +dms.tag_001_benchmark,T_001,dms.category_027_benchmark +dms.tag_002_benchmark,T_002,dms.category_015_benchmark +dms.tag_003_benchmark,T_003,dms.category_039_benchmark +dms.tag_004_benchmark,T_004, +dms.tag_005_benchmark,T_005,dms.category_029_benchmark +dms.tag_006_benchmark,T_006, +dms.tag_007_benchmark,T_007,dms.category_049_benchmark +dms.tag_008_benchmark,T_008,dms.category_015_benchmark +dms.tag_009_benchmark,T_009, +dms.tag_010_benchmark,T_010, +dms.tag_011_benchmark,T_011,dms.category_017_benchmark +dms.tag_012_benchmark,T_012, +dms.tag_013_benchmark,T_013, +dms.tag_014_benchmark,T_014,dms.category_005_benchmark +dms.tag_015_benchmark,T_015, +dms.tag_016_benchmark,T_016, +dms.tag_017_benchmark,T_017,dms.category_017_benchmark +dms.tag_018_benchmark,T_018,dms.category_018_benchmark +dms.tag_019_benchmark,T_019,dms.category_040_benchmark +dms.tag_020_benchmark,T_020,dms.category_022_benchmark +dms.tag_021_benchmark,T_021,dms.category_011_benchmark +dms.tag_022_benchmark,T_022,dms.category_046_benchmark +dms.tag_023_benchmark,T_023,dms.category_012_benchmark +dms.tag_024_benchmark,T_024,dms.category_040_benchmark +dms.tag_025_benchmark,T_025,dms.category_009_benchmark +dms.tag_026_benchmark,T_026,dms.category_021_benchmark +dms.tag_027_benchmark,T_027,dms.category_026_benchmark +dms.tag_028_benchmark,T_028,dms.category_025_benchmark +dms.tag_029_benchmark,T_029,dms.category_050_benchmark +dms.tag_030_benchmark,T_030,dms.category_037_benchmark +dms.tag_031_benchmark,T_031,dms.category_013_benchmark +dms.tag_032_benchmark,T_032, +dms.tag_033_benchmark,T_033,dms.category_034_benchmark +dms.tag_034_benchmark,T_034, +dms.tag_035_benchmark,T_035,dms.category_049_benchmark +dms.tag_036_benchmark,T_036,dms.category_041_benchmark +dms.tag_037_benchmark,T_037, +dms.tag_038_benchmark,T_038,dms.category_023_benchmark +dms.tag_039_benchmark,T_039,dms.category_033_benchmark +dms.tag_040_benchmark,T_040,dms.category_049_benchmark +dms.tag_041_benchmark,T_041,dms.category_006_benchmark +dms.tag_042_benchmark,T_042,dms.category_041_benchmark +dms.tag_043_benchmark,T_043,dms.category_040_benchmark +dms.tag_044_benchmark,T_044, +dms.tag_045_benchmark,T_045,dms.category_026_benchmark +dms.tag_046_benchmark,T_046, +dms.tag_047_benchmark,T_047,dms.category_034_benchmark +dms.tag_048_benchmark,T_048,dms.category_027_benchmark +dms.tag_049_benchmark,T_049,dms.category_024_benchmark +dms.tag_050_benchmark,T_050,dms.category_050_benchmark +dms.tag_051_benchmark,T_051,dms.category_001_benchmark +dms.tag_052_benchmark,T_052,dms.category_028_benchmark +dms.tag_053_benchmark,T_053,dms.category_041_benchmark +dms.tag_054_benchmark,T_054,dms.category_040_benchmark +dms.tag_055_benchmark,T_055,dms.category_019_benchmark +dms.tag_056_benchmark,T_056,dms.category_015_benchmark +dms.tag_057_benchmark,T_057,dms.category_012_benchmark +dms.tag_058_benchmark,T_058,dms.category_005_benchmark +dms.tag_059_benchmark,T_059,dms.category_014_benchmark +dms.tag_060_benchmark,T_060, +dms.tag_061_benchmark,T_061,dms.category_022_benchmark +dms.tag_062_benchmark,T_062,dms.category_046_benchmark +dms.tag_063_benchmark,T_063, +dms.tag_064_benchmark,T_064,dms.category_032_benchmark +dms.tag_065_benchmark,T_065, +dms.tag_066_benchmark,T_066,dms.category_017_benchmark +dms.tag_067_benchmark,T_067,dms.category_007_benchmark +dms.tag_068_benchmark,T_068,dms.category_013_benchmark +dms.tag_069_benchmark,T_069,dms.category_035_benchmark +dms.tag_070_benchmark,T_070, +dms.tag_071_benchmark,T_071,dms.category_049_benchmark +dms.tag_072_benchmark,T_072,dms.category_040_benchmark +dms.tag_073_benchmark,T_073,dms.category_022_benchmark +dms.tag_074_benchmark,T_074,dms.category_025_benchmark +dms.tag_075_benchmark,T_075, +dms.tag_076_benchmark,T_076,dms.category_003_benchmark +dms.tag_077_benchmark,T_077,dms.category_008_benchmark +dms.tag_078_benchmark,T_078,dms.category_014_benchmark +dms.tag_079_benchmark,T_079,dms.category_043_benchmark +dms.tag_080_benchmark,T_080,dms.category_011_benchmark +dms.tag_081_benchmark,T_081,dms.category_019_benchmark +dms.tag_082_benchmark,T_082,dms.category_025_benchmark +dms.tag_083_benchmark,T_083,dms.category_018_benchmark +dms.tag_084_benchmark,T_084,dms.category_024_benchmark +dms.tag_085_benchmark,T_085,dms.category_023_benchmark +dms.tag_086_benchmark,T_086, +dms.tag_087_benchmark,T_087,dms.category_041_benchmark +dms.tag_088_benchmark,T_088,dms.category_037_benchmark +dms.tag_089_benchmark,T_089,dms.category_015_benchmark +dms.tag_090_benchmark,T_090, +dms.tag_091_benchmark,T_091, +dms.tag_092_benchmark,T_092,dms.category_038_benchmark +dms.tag_093_benchmark,T_093,dms.category_049_benchmark +dms.tag_094_benchmark,T_094, +dms.tag_095_benchmark,T_095,dms.category_044_benchmark +dms.tag_096_benchmark,T_096, +dms.tag_097_benchmark,T_097,dms.category_025_benchmark +dms.tag_098_benchmark,T_098,dms.category_012_benchmark +dms.tag_099_benchmark,T_099,dms.category_001_benchmark +dms.tag_100_benchmark,T_100,dms.category_016_benchmark +dms.tag_101_benchmark,T_101,dms.category_035_benchmark +dms.tag_102_benchmark,T_102,dms.category_001_benchmark +dms.tag_103_benchmark,T_103,dms.category_014_benchmark +dms.tag_104_benchmark,T_104, +dms.tag_105_benchmark,T_105,dms.category_019_benchmark +dms.tag_106_benchmark,T_106,dms.category_003_benchmark +dms.tag_107_benchmark,T_107,dms.category_014_benchmark +dms.tag_108_benchmark,T_108, +dms.tag_109_benchmark,T_109,dms.category_034_benchmark +dms.tag_110_benchmark,T_110,dms.category_050_benchmark +dms.tag_111_benchmark,T_111,dms.category_031_benchmark +dms.tag_112_benchmark,T_112,dms.category_025_benchmark +dms.tag_113_benchmark,T_113,dms.category_033_benchmark +dms.tag_114_benchmark,T_114,dms.category_031_benchmark +dms.tag_115_benchmark,T_115,dms.category_041_benchmark +dms.tag_116_benchmark,T_116,dms.category_031_benchmark +dms.tag_117_benchmark,T_117,dms.category_050_benchmark +dms.tag_118_benchmark,T_118,dms.category_007_benchmark +dms.tag_119_benchmark,T_119, +dms.tag_120_benchmark,T_120,dms.category_015_benchmark +dms.tag_121_benchmark,T_121,dms.category_005_benchmark +dms.tag_122_benchmark,T_122,dms.category_001_benchmark +dms.tag_123_benchmark,T_123, +dms.tag_124_benchmark,T_124, +dms.tag_125_benchmark,T_125,dms.category_019_benchmark +dms.tag_126_benchmark,T_126,dms.category_040_benchmark +dms.tag_127_benchmark,T_127, +dms.tag_128_benchmark,T_128,dms.category_039_benchmark +dms.tag_129_benchmark,T_129,dms.category_020_benchmark +dms.tag_130_benchmark,T_130, +dms.tag_131_benchmark,T_131, +dms.tag_132_benchmark,T_132, +dms.tag_133_benchmark,T_133,dms.category_018_benchmark +dms.tag_134_benchmark,T_134, +dms.tag_135_benchmark,T_135,dms.category_004_benchmark +dms.tag_136_benchmark,T_136,dms.category_021_benchmark +dms.tag_137_benchmark,T_137, +dms.tag_138_benchmark,T_138,dms.category_043_benchmark +dms.tag_139_benchmark,T_139,dms.category_043_benchmark +dms.tag_140_benchmark,T_140,dms.category_021_benchmark +dms.tag_141_benchmark,T_141,dms.category_020_benchmark +dms.tag_142_benchmark,T_142,dms.category_034_benchmark +dms.tag_143_benchmark,T_143,dms.category_001_benchmark +dms.tag_144_benchmark,T_144,dms.category_011_benchmark +dms.tag_145_benchmark,T_145,dms.category_003_benchmark +dms.tag_146_benchmark,T_146,dms.category_039_benchmark +dms.tag_147_benchmark,T_147,dms.category_016_benchmark +dms.tag_148_benchmark,T_148,dms.category_040_benchmark +dms.tag_149_benchmark,T_149,dms.category_014_benchmark +dms.tag_150_benchmark,T_150,dms.category_013_benchmark diff --git a/dms/tests/data/mail01.eml b/dms/tests/data/mail01.eml new file mode 100644 index 000000000..2f4e8033c --- /dev/null +++ b/dms/tests/data/mail01.eml @@ -0,0 +1,170 @@ +Return-Path: <123@acm.org> +To: Manuel Lemos <directory+test@dmsTest.com> +Subject: Testing Manuel Lemos' MIME E-mail composing and sending PHP class: HTML message +From: mlemos <345@acm.org> +Reply-To: mlemos <456@acm.org> +Sender: mlemos@acm.org +X-Mailer: http://www.phpclasses.org/mimemessage $Revision: 1.63 $ (mail) +MIME-Version: 1.0 +Content-Type: multipart/mixed; boundary="652b8c4dcb00cdcdda1e16af36781caf" +Message-ID: <20050430192829.0489.mlemos@dmsTest.com> +Date: Sat, 30 Apr 2005 19:28:29 -0300 + + +--652b8c4dcb00cdcdda1e16af36781caf +Content-Type: multipart/related; boundary="6a82fb459dcaacd40ab3404529e808dc" + + +--6a82fb459dcaacd40ab3404529e808dc +Content-Type: multipart/alternative; boundary="69c1683a3ee16ef7cf16edd700694a2f" + + +--69c1683a3ee16ef7cf16edd700694a2f +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: quoted-printable + +This is an HTML message. Please use an HTML capable mail program to read +this message. + +--69c1683a3ee16ef7cf16edd700694a2f +Content-Type: text/html; charset=ISO-8859-1 +Content-Transfer-Encoding: quoted-printable + +<html> +<head> +<title>Testing Manuel Lemos' MIME E-mail composing and sending PHP class: H= +TML message + + + + + + + +
+

Testing Manuel Lemos' MIME E-mail composing and sending PHP cla= +ss: HTML message

+
+

Hello Manuel,

+This message is just to let you know that the MIME E-mail message composing and sending PHP class is working as expected.

+

Here is an image embedded in a message as a separate part:

= +
+
Than= +k you,
+mlemos

+
+ + +--69c1683a3ee16ef7cf16edd700694a2f-- + +--6a82fb459dcaacd40ab3404529e808dc +Content-Type: image/gif; name="logo.gif" +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename="logo.gif" +Content-ID: + +R0lGODlhlgAjAPMJAAAAAAAA/y8vLz8/P19fX19f339/f4+Pj4+Pz7+/v/////////////////// +/////yH5BAEAAAkALAAAAACWACMAQwT+MMlJq7046827/2AoHYChGAChAkBylgKgKClFyEl6xDMg +qLFBj3C5uXKplVAxIOxkA8BhdFCpDlMK1urMTrZWbAV8tVS5YsxtxmZHBVOSCcW9zaXyNhslVcto +RBp5NQYxLAYGLi8oSwoJBlE+BiSNj5E/PDQsmy4pAJWQLAKJY5+hXhZ2dDYldFWtNSFPiXssXnZR +k5+1pjpBiDMJUXG/Jo7DI4eKfMSmxsJ9GAUB1NXW19jZ2tvc3d7f4OHi2AgZN5vom1kk6F7s6u/p +m3Ab7AOIiCxOyZuBIv8AOeTJIaYQjiR/kKTr5GQNE3pYSjCJ9mUXClRUsLxaZGciC0X+OlpoOuQo +ZKdNJnIoKfnxRUQh6FLG0iLxIoYnJd0JEKISJyAQDodp3EUDC48oDnUY7HFI3wEDRjzycQJVZCQT +Ol7NK+G0qgtkAcOKHUu2rNmzYTVqRMt2bB49bHompSchqg6HcGeANSMxr8sEa2y2HexnSEUTuWri +SSbkYh7BgGVAnhB1b2REibESYaRoBgqIMYx59tFM9AvQffVG49P5NMZkMlHKhJPJb0knmSKZ6kSX +JtbeF3Am7ocok6c7cM7pU5xcXiJJETUz16qPrzEfaFgZpvzn7h86YV5r/1mxXeAUMVyEIpnVUGpN +RlG2ka9b3lP3pm2l6u7P+l/YLj3+RlEHbz1C0kRxSITQaAcilVBMEzmkkEQO8oSOBNg9SN+AX6hV +z1pjgJiAhwCRsY8ZIp6xj1ruqCgeGeKNGEZwLnIwzTg45qjjjjz2GEA5hAUp5JBEFmnkkSCoWEcZ +X8yohZNK1pFGPQS4hx0qNSLJlk9wCQORYu5QiMd7bUzGVyNlRiOHSlpuKdGEItHQ3HZ18beRRyws +YSY/waDTiHf/tWlWUBAJiMJ1/Z0XXU7N0FnREpKM4NChCgbyRDq9XYpOplaKopN9NMkDnBbG+UMC +QwLWIeaiglES6AjGARcPHCWoVAiatcTnGTABZoLPaPG1phccPv366mEvWEFSLnj+2QaonECwcJt/ +e1Zw3lJvVMmftBdVNQS3UngLCA85YHIQOy6JO9N4eZW7KJwtOUZmGwOMWqejwVW6RQzaikRHX3yI +osKhDAq8wmnKSmdMwNidSOof9ZG2DoV0RfTVmLFtGmNk+CoZna0HQnPHS3AhRbIeDpqmR09E0bsu +soeaw994z+rwQVInvqLenBftYjLOVphLFHhV9qsnez8AEUbQRgO737AxChjmyANxuEFHSGi7hFCV +4jxLst2N8sRJYU+SHiAKjlmCgz2IffbLI5aaQR71hnkxq1ZfHSfKata6YDCJDMAQwY7wOgzhjxgj +VFQnKB5uX4mr9qJ79pann+VcfcSzsSCd2mw5scqRRvlQ6TgcUelYhu75iPE4JejrsJOFQAG01277 +7bjnrvvuvPfu++/ABy887hfc6OPxyCevPDdAVoDA89BHL/301Fdv/fXYZ6/99tx3Pz0FEQAAOw== + +--6a82fb459dcaacd40ab3404529e808dc +Content-Type: image/gif; name="background.gif" +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename="background.gif" +Content-ID: <4c837ed463ad29c820668e835a270e8a.gif> + +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 +eZmYmZmauZmc2ZlCEQEAOw== + +--6a82fb459dcaacd40ab3404529e808dc-- + +--652b8c4dcb00cdcdda1e16af36781caf +Content-Type: text/plain; name="attachment.txt" +Content-Transfer-Encoding: base64 +Content-Disposition: attachment; filename="attachment.txt" + +VGhpcyBpcyBqdXN0IGEgcGxhaW4gdGV4dCBhdHRhY2htZW50IGZpbGUgbmFtZWQgYXR0YWNobWVu +dC50eHQgLg== + +--652b8c4dcb00cdcdda1e16af36781caf-- diff --git a/dms/tests/data/mail02.eml b/dms/tests/data/mail02.eml new file mode 100644 index 000000000..bb07b14f6 --- /dev/null +++ b/dms/tests/data/mail02.eml @@ -0,0 +1,44 @@ +MIME-Version: 1.0 +Received: by 10.220.191.194 with HTTP; Wed, 11 May 2011 12:27:12 -0700 (PDT) +Date: Wed, 11 May 2011 13:27:12 -0600 +Delivered-To: jncjkq@dmsTest.com +Message-ID: +Subject: Test +From: Bill Jncjkq +To: directory+test@dmsTest.com +Content-Type: multipart/mixed; boundary=bcaec54eecc63acce904a3050f79 + +--bcaec54eecc63acce904a3050f79 +Content-Type: multipart/alternative; boundary=bcaec54eecc63acce604a3050f77 + +--bcaec54eecc63acce604a3050f77 +Content-Type: text/plain; charset=ISO-8859-1 + +-- +Bill Jncjkq + +--bcaec54eecc63acce604a3050f77 +Content-Type: text/html; charset=ISO-8859-1 + +
--
Bill Jncjkq
+ +--bcaec54eecc63acce604a3050f77-- +--bcaec54eecc63acce904a3050f79 +Content-Type: text/html; charset=US-ASCII; name="bookmarks-really-short.html" +Content-Disposition: attachment; filename="bookmarks-really-short.html" +Content-Transfer-Encoding: base64 +X-Attachment-Id: f_gnknv6u70 + +PCFET0NUWVBFIE5FVFNDQVBFLUJvb2ttYXJrLWZpbGUtMT4KCTxIVE1MPgoJPE1FVEEgSFRUUC1F +UVVJVj0iQ29udGVudC1UeXBlIiBDT05URU5UPSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiPgoJ +PFRpdGxlPkJvb2ttYXJrczwvVGl0bGU+Cgk8SDE+Qm9va21hcmtzPC9IMT4KCQk8RFQ+PEgzIEZP +TERFRD5UZWNoIE5ld3M8L0gzPgoJCTxETD48cD4KCQkJPERUPjxBIEhSRUY9Imh0dHA6Ly93d3cu +Y25ldC5jb20vIj5DTmV0PC9BPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL3d3dy53aXJlZC5jb20v +Ij5XaXJlZCBOZXdzPC9BPgoJCTwvREw+PHA+CgkJPERUPjxIMyBGT0xERUQ+VG9vbHMgYW5kIFJl +ZmVyZW5jZTwvSDM+CgkJPERMPjxwPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL3d3dy5tb25zdGVy +LmNvbS8iPk1vbnN0ZXIuY29tPC9BPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL3d3dy53ZWJtZC5j +b20vIj5XZWJNRDwvQT4KCQk8L0RMPjxwPgoJCTxEVD48SDMgRk9MREVEPlRyYXZlbDwvSDM+CgkJ +PERMPjxwPgoJCQk8RFQ+PEEgSFJFRj0iaHR0cDovL2ZvZG9ycy5jb20vIj5Gb2RvcnM8L0E+CgkJ +CTxEVD48QSBIUkVGPSJodHRwOi8vd3d3LnRyYXZlbG9jaXR5LmNvbS8iPlRyYXZlbG9jaXR5PC9B +PgoJCTwvREw+PHA+Cgk8L0RMPjxwPgo8L0hUTUw+ +--bcaec54eecc63acce904a3050f79-- diff --git a/dms/tests/test_benchmark.py b/dms/tests/test_benchmark.py new file mode 100644 index 000000000..1a85e4ed6 --- /dev/null +++ b/dms/tests/test_benchmark.py @@ -0,0 +1,391 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import cProfile +import logging +import os +import unittest +import warnings +from functools import wraps + +from odoo.tests import common, tagged +from odoo.tools import convert_file + +from .common import track_function + +_logger = logging.getLogger(__name__) + + +class profile: + def __init__(self, fname=None): + warnings.warn("Since 16.0.", DeprecationWarning, stacklevel=2) + self.fname = fname + + def __call__(self, f): + @wraps(f) + def wrapper(*args, **kwargs): + profile = cProfile.Profile() + result = profile.runcall(f, *args, **kwargs) + profile.dump_stats(self.fname or (f"{f.__name__}.cprof")) + return result + + return wrapper + + +# This tests will only be executed if --test-tags benchmark is defined +@tagged("-standard", "benchmark") +class BenchmarkTestCase(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls._clean_existing_records() + cls._setup_benchmark_data() + + @classmethod + def _clean_existing_records(cls): + cls.env["dms.category"].search([]).sudo().unlink() + cls.env["dms.directory"].search([]).sudo().unlink() + cls.env["dms.storage"].search([]).sudo().unlink() + cls.env["dms.tag"].search([]).sudo().unlink() + + @classmethod + def _load(cls, module, *args): + path = str(os.path.join(module, *args)) + convert_file(cls.env, "dms", args[-1], {}, "init", False, "test", path) + + @classmethod + def _setup_benchmark_data(cls): + cls._load("dms", "tests", "data", "dms.category.csv") + cls._load("dms", "tests", "data", "dms.storage.csv") + cls._load("dms", "tests", "data", "dms.tag.csv") + cls._load("dms", "tests", "data", "dms.directory.csv") + cls._load("dms", "tests", "data", "dms.file.csv") + + def _benchmark_table(self, data): + columns = len(data[0]) - 1 + formt = "{:7}" + "| {:28}" * columns + + result = formt.format(*data[0]) + "\n" + result += ("-" * 7) + (("+" + "-" * 29) * columns) + "\n" + for row in data[1:]: + result += formt.format(*row) + "\n" + return result + + def _benchmark_function(self, func, args_list): + tfunc = track_function(return_tracking=True)(func) + benchmark = [] + for item in args_list: + self.registry.clear_all_caches() + args = item[0] if len(item) > 0 else [] + kwargs = item[1] if len(item) > 1 else {} + tracking = tuple(tfunc(*args, **kwargs)[1][1:]) + # pylint: disable=too-few-format-args + # pyupgrade: disable=UP030 + benchmark.append("{}sq {:.3f}s {:.3f}s {:.3f}s".format(*tracking)) + return benchmark + + # ---------------------------------------------------------- + # File + # ---------------------------------------------------------- + + def _file_kanban_fields(self): + return [ + "id", + "tag_ids", + "name", + "color", + "active", + "mimetype", + "create_uid", + "write_date", + "locked_by", + "is_locked", + "is_lock_editor", + "permission_write", + "permission_unlink", + ] + + def test_file_search_benchmark(self): + demo_uid = self.browse_ref("base.user_demo").id + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.file"].with_context(bin_size=True) + args = [ + [[[]], {"limit": 1}], + [[[]], {"limit": 80}], + [[[]], {"limit": 500}], + [[[]]], + ] + + benchmark_data_super = ["Super"] + self._benchmark_function( + model.sudo().search, args + ) + benchmark_data_admin = ["Admin"] + self._benchmark_function( + model.with_user(admin_uid).search, args + ) + benchmark_data_demo = ["Demo"] + self._benchmark_function( + model.with_user(demo_uid).search, args + ) + + info_message = "\n\nSearching files with bin_size = True | " + info_message += "Benchmark with Limit 1 / 80 / 500 / None (1500)\n\n" + info_message += self._benchmark_table( + [ + [ + "User", + "Search Limit 1", + "Search Limit 80", + "Search Limit 500", + "Search No Limit", + ], + benchmark_data_super, + benchmark_data_admin, + benchmark_data_demo, + ] + ) + info_message += "\nLegend: Queries | Query Time | Server Time | Total Time\n" + _logger.info(info_message) + + def test_file_search_read_benchmark(self): + demo_uid = self.browse_ref("base.user_demo").id + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.file"].with_context(bin_size=True) + args = [[[], {"limit": 1}], [[], {"limit": 80}], [[], {"limit": 500}], [[]]] + + benchmark_data_super = ["Super"] + self._benchmark_function( + model.sudo().search_read, args + ) + benchmark_data_admin = ["Admin"] + self._benchmark_function( + model.with_user(admin_uid).search_read, args + ) + benchmark_data_demo = ["Demo"] + self._benchmark_function( + model.with_user(demo_uid).search_read, args + ) + + info_message = "\n\nSearching and reading all fields with bin_size = True | " + info_message += "Benchmark with Limit 1 / 80 / 500 / None (1500)\n\n" + info_message += self._benchmark_table( + [ + [ + "User", + "Search Limit 1", + "Search Limit 80", + "Search Limit 500", + "Search No Limit", + ], + benchmark_data_super, + benchmark_data_admin, + benchmark_data_demo, + ] + ) + info_message += "\nLegend: Queries | Query Time | Server Time | Total Time\n" + _logger.info(info_message) + + def test_file_search_name_get_benchmark(self): + demo_uid = self.browse_ref("base.user_demo").id + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.file"].with_context(bin_size=True) + + def test_function(model, limit): + return model.search([], limit=limit).mapped("display_name") + + model_super = model.sudo() + model_admin = model.with_user(admin_uid) + model_demo = model.with_user(demo_uid) + args_super = [ + [[model_super, 1]], + [[model_super, 800]], + [[model_super, 500]], + [[model_super, None]], + ] + args_admin = [ + [[model_admin, 1]], + [[model_admin, 800]], + [[model_admin, 500]], + [[model_admin, None]], + ] + args_demo = [ + [[model_demo, 1]], + [[model_demo, 800]], + [[model_demo, 500]], + [[model_demo, None]], + ] + + benchmark_data_super = ["Super"] + self._benchmark_function( + test_function, args_super + ) + benchmark_data_admin = ["Admin"] + self._benchmark_function( + test_function, args_admin + ) + benchmark_data_demo = ["Demo"] + self._benchmark_function( + test_function, args_demo + ) + + info_message = ( + "\n\nSearching and 'display_name' function with bin_size = True | " + ) + info_message += "Benchmark with Limit 1 / 80 / 500 / None (1500)\n\n" + info_message += self._benchmark_table( + [ + [ + "User", + "Search Limit 1", + "Search Limit 80", + "Search Limit 500", + "Search No Limit", + ], + benchmark_data_super, + benchmark_data_admin, + benchmark_data_demo, + ] + ) + info_message += "\nLegend: Queries | Query Time | Server Time | Total Time\n" + _logger.info(info_message) + + def test_file_kanban_backend_benchmark(self): + demo_uid = self.browse_ref("base.user_demo").id + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.file"].with_context(bin_size=True) + kanban_fields = self._file_kanban_fields() + + def test_function(model, kanban_fields, limit=80): + model.search_panel_select_range("directory_id") + model.search_panel_select_multi_range("directory_id") + model.search_panel_select_multi_range("tag_ids") + model.search_read(fields=kanban_fields, limit=limit) + + def function_args(args, kwargs): + return [[args, {"limit": arg}] for arg in kwargs] + + args_super = function_args([model.sudo(), kanban_fields], [1, 80, 500, None]) + args_admin = function_args( + [model.with_user(admin_uid), kanban_fields], [1, 80, 500, None] + ) + args_demo = function_args( + [model.with_user(demo_uid), kanban_fields], [1, 80, 500, None] + ) + + benchmark_data_super = ["Super"] + self._benchmark_function( + test_function, args_super + ) + benchmark_data_admin = ["Admin"] + self._benchmark_function( + test_function, args_admin + ) + benchmark_data_demo = ["Demo"] + self._benchmark_function( + test_function, args_demo + ) + + info_message = "\n\nSimulate kanban view loading on the backend | " + info_message += "Benchmark with Limit 1 / 80 / 500 / None (1500)\n\n" + info_message += self._benchmark_table( + [ + [ + "User", + "Search Limit 1", + "Search Limit 80", + "Search Limit 500", + "Search No Limit", + ], + benchmark_data_super, + benchmark_data_admin, + benchmark_data_demo, + ] + ) + info_message += "\nLegend: Queries | Query Time | Server Time | Total Time || " + info_message += "500 Directories | 150 Tags | 50 Categories\n" + _logger.info(info_message) + + # ---------------------------------------------------------- + # Directory + # ---------------------------------------------------------- + + def test_directory_search_benchmark(self): + demo_uid = self.browse_ref("base.user_demo").id + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.directory"].with_context(bin_size=True) + args = [ + [[[]], {"limit": 1}], + [[[]], {"limit": 80}], + [[[]], {"limit": 500}], + [[[]]], + ] + + benchmark_data_super = ["Super"] + self._benchmark_function( + model.sudo().search, args + ) + benchmark_data_admin = ["Admin"] + self._benchmark_function( + model.with_user(admin_uid).search, args + ) + benchmark_data_demo = ["Demo"] + self._benchmark_function( + model.with_user(demo_uid).search, args + ) + + info_message = "\n\nSearching directories with bin_size = True | " + info_message += "Benchmark with Limit 1 / 80 / 500 / None (1500)\n\n" + info_message += self._benchmark_table( + [ + [ + "User", + "Search Limit 1", + "Search Limit 80", + "Search Limit 500", + "Search No Limit", + ], + benchmark_data_super, + benchmark_data_admin, + benchmark_data_demo, + ] + ) + info_message += "\nLegend: Queries | Query Time | Server Time | Total Time\n" + _logger.info(info_message) + + def test_directory_search_read_benchmark(self): + demo_uid = self.browse_ref("base.user_demo").id + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.directory"].with_context(bin_size=True) + args = [[[], {"limit": 1}], [[], {"limit": 80}], [[], {"limit": 500}], [[]]] + + benchmark_data_super = ["Super"] + self._benchmark_function( + model.sudo().search_read, args + ) + benchmark_data_admin = ["Admin"] + self._benchmark_function( + model.with_user(admin_uid).search_read, args + ) + benchmark_data_demo = ["Demo"] + self._benchmark_function( + model.with_user(demo_uid).search_read, args + ) + + info_message = "\n\nSearching and reading all fields with bin_size = True | " + info_message += "Benchmark with Limit 1 / 80 / 500 / None (1500)\n\n" + info_message += self._benchmark_table( + [ + [ + "User", + "Search Limit 1", + "Search Limit 80", + "Search Limit 500", + "Search No Limit", + ], + benchmark_data_super, + benchmark_data_admin, + benchmark_data_demo, + ] + ) + info_message += "\nLegend: Queries | Query Time | Server Time | Total Time\n" + _logger.info(info_message) + + # ---------------------------------------------------------- + # Profiler + # ---------------------------------------------------------- + + @unittest.skip("Takes to long to be tested every time.") + def test_file_search_read_profile_admin(self): + @track_function() + @profile(minimum_queries=35) + def profile_function(model): + model.search_read([]) + + admin_uid = self.browse_ref("base.user_admin").id + model = self.env["dms.file"].with_user(admin_uid) + profile_function(model.with_context(bin_size=True)) diff --git a/dms/tests/test_directory.py b/dms/tests/test_directory.py new file mode 100644 index 000000000..ee99dee9c --- /dev/null +++ b/dms/tests/test_directory.py @@ -0,0 +1,305 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2021-2022 Tecnativa - Víctor Martínez +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import os + +from odoo.exceptions import UserError +from odoo.tests.common import users +from odoo.tools import mute_logger + +from .common import StorageDatabaseBaseCase + +_path = os.path.dirname(os.path.dirname(__file__)) + + +class DirectoryTestCaseBase(StorageDatabaseBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.subdirectory = cls.create_directory(directory=cls.directory) + cls.file.directory_id = cls.subdirectory + cls.new_storage = cls.create_storage(save_type="database") + + @users("dms-manager", "dms-user") + def test_create_directory(self): + root_directory = self.create_directory(storage=self.storage) + sub_directory = self.create_directory(directory=root_directory) + self.assertEqual( + sub_directory.storage_id.id, + self.storage.id, + msg="The storage of the subdirectory should be the same as " + "the root directory", + ) + self.assertEqual( + root_directory.count_directories, + 1, + msg="The root directory should have one subdirectory", + ) + + @users("dms-manager", "dms-user") + def test_copy_root_directory(self): + copy_root_directory = self.directory.copy() + copy_root_directory.flush_recordset() + self.assertEqual( + self.directory.storage_id.id, + copy_root_directory.storage_id.id, + msg="The storage of the copied root directory should be the same as the " + "original root directory", + ) + self.assertEqual( + self.directory.count_directories, + copy_root_directory.count_directories, + msg="The copied root directory should have the same number of " + "subdirectories as the original root directory", + ) + self.assertEqual( + self.directory.count_files, + copy_root_directory.count_files, + msg="The copied root directory should have the same number of " + "files as the original root directory", + ) + + @users("dms-manager", "dms-user") + def test_copy_sub_directory(self): + copy_sub_directory = self.subdirectory.copy() + self.assertEqual( + self.subdirectory.storage_id.id, + copy_sub_directory.storage_id.id, + msg="The storage of the copied subdirectory should be the same as the " + "original subdirectory", + ) + self.assertEqual( + self.subdirectory.count_directories, + copy_sub_directory.count_directories, + msg="The copied subdirectory should have the same number of subdirectories " + "as the original subdirectory", + ) + self.assertEqual( + self.subdirectory.count_files, + copy_sub_directory.count_files, + msg="The copied subdirectory should have the same number of " + "files as the original subdirectory", + ) + + @users("dms-manager", "dms-user") + def test_rename_directory(self): + path_names = self.subdirectory.complete_name + self.directory.write({"name": f"New Test Name {self.env.user.login}"}) + self.assertNotEqual( + path_names, + self.subdirectory.complete_name, + msg="The path name of the subdirectory should have changed", + ) + + @users("dms-manager", "dms-user") + def test_move_directory(self): + with self.assertRaises(UserError, msg="The root directory should not be moved"): + self.directory.write( + { + "is_root_directory": False, + "parent_id": self.subdirectory.id, + } + ) + with self.assertRaises( + UserError, msg="The subdirectory storage should not be changed" + ): + self.subdirectory.write( + { + "is_root_directory": True, + "storage_id": self.new_storage.id, + "parent_id": False, + } + ) + self.subdirectory.write( + { + "is_root_directory": True, + "storage_id": self.storage.id, + "parent_id": False, + } + ) + new_directory = self.create_directory(storage=self.storage) + self.subdirectory.write( + { + "is_root_directory": False, + "storage_id": False, + "parent_id": new_directory.id, + } + ) + with self.assertRaises(UserError, msg="The root directory should not be moved"): + self.directory.storage_id = self.new_storage.id + self.subdirectory.write( + { + "is_root_directory": False, + "storage_id": False, + "parent_id": self.directory.id, + } + ) + + @users("dms-manager", "dms-user") + @mute_logger("odoo.models.unlink") + def test_unlink_root_directory(self): + root_directory = self.create_directory(storage=self.storage) + sub_directory = self.create_directory(directory=root_directory) + sub_files = self.create_file(directory=sub_directory) + root_directory.unlink() + self.assertFalse( + sub_directory.exists(), msg="The subdirectory should not exist anymore" + ) + self.assertFalse( + sub_files.exists(), msg="The subfiles should not exist anymore" + ) + + @users("dms-manager", "dms-user") + @mute_logger("odoo.models.unlink") + def test_unlink_directory(self): + root_directory = self.create_directory(storage=self.storage) + sub_directory = self.create_directory(directory=root_directory) + sub_files = self.create_file(directory=sub_directory) + sub_directory.unlink() + self.assertTrue( + root_directory.exists(), msg="The root directory should still exist" + ) + self.assertFalse( + sub_files.exists(), msg="The subfiles should not exist anymore" + ) + + @users("dms-manager", "dms-user") + def test_storage(self): + root_directory = self.create_directory(storage=self.storage) + sub_directory = self.create_directory(directory=root_directory) + self.assertEqual( + sub_directory.storage_id.id, + self.storage.id, + msg="The storage " + "of the subdirectory should be the same as the root " + "directory", + ) + with self.assertRaises( + UserError, msg="The storage of the root directory should " "not be changed" + ): + root_directory.write({"storage_id": self.new_storage.id}) + + @users("dms-manager", "dms-user") + def test_starred(self): + self.directory.toggle_starred() + self.subdirectory.write({"starred": True}) + starred = self.directory_model.search([("starred", "=", True)]) + self.assertIn( + self.directory.id, starred.ids, msg="The directory should be starred" + ) + self.assertIn( + self.subdirectory.id, starred.ids, msg="The subdirectory should be starred" + ) + + @users("dms-manager", "dms-user") + def test_count_directories(self): + self.assertTrue( + self.directory.count_directories, + msg="The directory should have subdirectories", + ) + + @users("dms-manager", "dms-user") + def test_count_files(self): + self.assertTrue( + self.subdirectory.count_files, msg="The subdirectory should have files" + ) + + @users("dms-manager", "dms-user") + def test_count_elements(self): + self.assertTrue( + self.directory.count_elements, + msg="The directory should have subdirectories and files", + ) + + @users("dms-manager", "dms-user") + def test_count_total_directories(self): + self.assertTrue( + self.directory.count_total_directories, + msg="The directory should have subdirectories", + ) + + @users("dms-manager", "dms-user") + def test_count_count_total_files(self): + self.assertTrue( + self.directory.count_total_files, msg="The directory should have files" + ) + + @users("dms-manager", "dms-user") + def test_count_total_elements(self): + self.assertTrue( + self.directory.count_total_elements, + msg="The directory should have subdirectories and files", + ) + + @users("dms-manager", "dms-user") + def test_size(self): + self.assertTrue(self.directory.size, msg="The directory should have a size") + + @users("dms-manager", "dms-user") + def test_name_get(self): + directory = self.subdirectory.with_context(dms_directory_show_path=True) + self.assertTrue( + "/" in directory.with_context(dms_directory_show_path=True).display_name, + msg="The path should be displayed in the directory name", + ) + + @users("dms-manager", "dms-user") + def test_name_search(self): + directories = self.directory_model.name_search("/") + self.assertTrue(len(directories), msg="The root directory should be found") + + @users("dms-manager", "dms-user") + def test_search_panel(self): + self.assertTrue( + self.directory_model.search_panel_select_multi_range("parent_id"), + msg="The parent_id field should be a multi range field", + ) + self.assertTrue( + self.directory_model.search_panel_select_multi_range("category_id"), + msg="The category_id field should be a multi range field", + ) + self.assertTrue( + self.directory_model.search_panel_select_multi_range("tag_ids"), + msg="The tag_ids field should be a multi range field", + ) + + +class DirectoryMailTestCase(StorageDatabaseBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.params = cls.env["ir.config_parameter"].sudo() + cls.params.set_param("mail.catchall.domain", "dmstest.com") + cls.domain = cls.env["mail.alias.domain"].create({"name": "dmstest.com"}) + cls.alias = cls.env["mail.alias"].create( + { + "alias_model_id": cls.env["ir.model"] + .search([("model", "=", "dms.directory")]) + .id, + "alias_domain_id": cls.domain.id, + } + ) + + @mute_logger("odoo.addons.mail.mail_thread") + def test_mail_alias_files(self): + self.directory.write({"alias_process": "files", "alias_name": "directory+test"}) + self._handle_mail_reception() + + def _handle_mail_reception(self): + with open(os.path.join(_path, "tests", "data", "mail01.eml")) as file: + self.env["mail.thread"].message_process(None, file.read()) + with open(os.path.join(_path, "tests", "data", "mail02.eml")) as file: + self.env["mail.thread"].message_process(None, file.read()) + + @mute_logger("odoo.addons.mail.mail_thread") + def test_mail_alias_directory(self): + self.directory.write( + {"alias_process": "directory", "alias_name": "directory+test"} + ) + self.assertEqual( + self.directory.alias_id.display_name, + f"{self.directory.alias_name}@{self.domain.name}", + ) diff --git a/dms/tests/test_file.py b/dms/tests/test_file.py new file mode 100644 index 000000000..f817b0b40 --- /dev/null +++ b/dms/tests/test_file.py @@ -0,0 +1,187 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2021-2022 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import base64 + +from odoo.exceptions import AccessError, UserError +from odoo.tests import new_test_user +from odoo.tests.common import users +from odoo.tools import mute_logger + +from .common import StorageFileBaseCase + +try: + import magic +except ImportError: + magic = None + + +class FileFilestoreTestCase(StorageFileBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.user_a = new_test_user(cls.env, login="user-a", groups="dms.group_dms_user") + cls.user_b = new_test_user(cls.env, login="user-b", groups="base.group_user") + cls.directory_group_a = cls.create_directory(storage=cls.storage) + cls.inaccessible_directory = cls.create_directory(storage=cls.storage) + cls.inaccessible_file = cls.create_file(directory=cls.inaccessible_directory) + cls.inaccessible_group = cls.access_group_model.create( + { + "name": "Inaccessible Group. No directory set", + "perm_create": True, + "explicit_user_ids": [(6, 0, [cls.user_a.id])], + } + ) + cls.sub_directory_x = cls.create_directory(directory=cls.directory_group_a) + cls.group_a = cls.access_group_model.create( + { + "name": "Group A", + "perm_create": True, + "explicit_user_ids": [(6, 0, [cls.user_a.id])], + "directory_ids": [ + (4, cls.directory_group_a.id), + (4, cls.sub_directory_x.id), + ], + } + ) + cls.directory_group_a.group_ids = [(4, cls.group_a.id)] + cls.file2 = cls.create_file(directory=cls.sub_directory_x) + + @users("user-a") + def test_unaccessible_file(self): + dms_files = self.file_model.with_user(self.user_a).search( + [("storage_id", "=", self.storage.id)] + ) + # User A should not see the unaccessible file since it + # was not granted access to the directory + with self.assertRaises(AccessError): + self.inaccessible_file.with_user(self.user_b).check_access("write") + + self.assertIn( + self.file2.id, + dms_files.ids, + msg="User A should see the file2 since it was granted access to " + "the directory", + ) + + @users("user-a") + def test_inaccessible_directory(self): + dms_directories = self.directory_model.with_user(self.env.user).search( + [("storage_id", "=", self.storage.id)] + ) + with self.assertRaises(AccessError): + self.inaccessible_directory.with_user(self.user_b).check_access("write") + self.assertIn( + self.sub_directory_x.id, + dms_directories.ids, + msg="User A should see the sub_directory_x since it was granted " + "access to the directory", + ) + + @users("user-a") + def test_file_access(self): + dms_files = self.file_model.with_user(self.env.user).search( + [("storage_id", "=", self.storage.id)] + ) + with self.assertRaises(AccessError): + self.file.with_user(self.user_b).check_access("write") + self.assertIn(self.file2.id, dms_files.ids, msg="User A should see file2") + dms_directories = self.directory_model.with_user(self.env.user).search( + [("storage_id", "=", self.storage.id)] + ) + with self.assertRaises(AccessError): + self.directory.with_user(self.user_b).check_access("write") + self.assertIn( + self.sub_directory_x.id, + dms_directories.ids, + msg="User A should see sub_directory_x", + ) + + @users("dms-manager", "dms-user") + @mute_logger("odoo.models.unlink") + def test_content_file(self): + object_file = self.create_file(directory=self.directory) + self.assertTrue(object_file.content, msg="Content is not empty") + self.assertTrue(object_file.content_file, msg="Content file is not empty") + self.assertTrue( + object_file.with_context(bin_size=True).content, + msg="Content is not empty (with bin_size)", + ) + self.assertTrue( + object_file.with_context(bin_size=True).content_file, + msg="Content file is not empty (with bin_size)", + ) + self.assertTrue( + object_file.with_context(human_size=True).content_file, + msg="Content file is not empty (with human_size)", + ) + self.assertTrue( + object_file.with_context(base64=True).content_file, + msg="Content file is not empty (with base64)", + ) + self.assertTrue( + object_file.with_context(stream=True).content_file, + msg="Content file is not empty (with stream)", + ) + oid = object_file.with_context(oid=True).content_file + self.assertTrue(oid, msg="Content file is not empty (with oid)") + object_file.with_context(**{"show_content": True}).write( + {"content": base64.b64encode(b"\xff new content")} + ) + self.assertNotEqual( + oid, + object_file.with_context(**{"oid": True}).content_file, + msg="Content file has changed", + ) + self.assertTrue(object_file.export_data(["content"])) + object_file.unlink() + + def test_content_file_mimetype(self): + file_svg = self.env.ref("dms.file_05_demo") + self.assertEqual(file_svg.mimetype, "image/svg+xml", msg="SVG mimetype") + file_logo = self.env.ref("dms.file_02_demo") + self.assertEqual(file_logo.mimetype, "image/jpeg", msg="JPEG mimetype") + + def test_content_file_mimetype_magic_library(self): + if not magic: + self.skipTest("Without python-magic library installed") + file_video = self.env.ref("dms.file_10_demo") + self.assertEqual(file_video.mimetype, "video/mp4", msg="MP4 mimetype") + + def test_content_file_extension(self): + file_pdf = self.env.ref("dms.file_27_demo") + self.assertEqual(file_pdf.extension, "pdf", msg="PDF extension") + file_pdf.name = "Document_05" + self.assertEqual( + file_pdf.extension, "pdf", msg="PDF extension without extension" + ) + file_pdf.name = "Document_05.pdf" + self.assertEqual(file_pdf.extension, "pdf", msg="PDF extension with extension") + + def test_wizard_dms_file_move(self): + file3 = self.create_file(directory=self.sub_directory_x) + all_files = self.file + self.file2 + file3 + # Error: All files must have the same root directory + with self.assertRaises( + UserError, msg="All files must have the same root directory" + ): + self.file_model.with_context( + active_ids=all_files.ids + ).action_wizard_dms_file_move() + # Change the files that have the same root directory + files = self.file2 + file3 + res = self.file_model.with_context( + active_ids=files.ids + ).action_wizard_dms_file_move() + wizard_model = self.env[res["res_model"]].with_context(**res["context"]) + wizard = wizard_model.create({"directory_id": self.directory.id}) + self.assertEqual(wizard.count_files, 2, msg="Wizard has 2 files") + wizard.process() + self.assertEqual( + self.file2.directory_id, self.directory, msg="File2 has a new directory" + ) + self.assertEqual( + file3.directory_id, self.directory, msg="File3 has a new directory" + ) diff --git a/dms/tests/test_file_database.py b/dms/tests/test_file_database.py new file mode 100644 index 000000000..d619db378 --- /dev/null +++ b/dms/tests/test_file_database.py @@ -0,0 +1,154 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2021-2022 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo.exceptions import UserError +from odoo.tests.common import users +from odoo.tools import mute_logger + +from .common import StorageDatabaseBaseCase + + +class FileDatabaseTestCase(StorageDatabaseBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.file_demo_01 = cls.env.ref("dms.file_01_demo") + cls.directory2 = cls.create_directory(storage=cls.storage) + cls.new_storage2 = cls.create_storage(save_type="database") + cls.directory3 = cls.create_directory(storage=cls.new_storage2) + + @users("dms-manager", "dms-user") + def test_create_file(self): + root_directory = self.create_directory(storage=self.storage) + self.create_file(directory=root_directory) + sub_directory = self.create_directory(directory=root_directory) + self.create_file(sub_directory) + self.assertEqual(root_directory.count_total_files, 2, "Total files should be 2") + self.assertEqual( + sub_directory.count_files, 1, "Subdirectory total files should be 1" + ) + + @users("dms-manager", "dms-user") + def test_lock_file(self): + file = self.create_file(directory=self.directory) + file.lock() + self.assertTrue(file.is_locked, "File should be locked") + file.unlock() + self.assertFalse(file.is_locked, "File should be unlocked") + + @users("dms-manager", "dms-user") + def test_copy_file(self): + copy_file = self.file.copy() + self.assertEqual( + self.file.storage_id, copy_file.storage_id, "Storage should be the same" + ) + self.assertEqual( + self.file.content, copy_file.content, "Content should be the same" + ) + + @users("dms-manager", "dms-user") + def test_rename_file(self): + file = self.create_file(directory=self.directory) + extension = file.extension + file.write({"name": f"test-{self.env.user.login}.jpg"}) + self.assertNotEqual(file.extension, extension, "Extension should be different") + + @users("dms-manager", "dms-user") + def test_move_file(self): + file = self.create_file(directory=self.directory) + path_names = file.path_names + file.write({"directory_id": self.directory2.id}) + file.flush_recordset() + self.assertNotEqual( + path_names, file.path_names, "Path names should be different" + ) + + @users("dms-manager", "dms-user") + def test_move_directory(self): + with self.assertRaises( + UserError, msg="Directory can't have any parent, because it is " "root" + ): + self.directory.write( + { + "is_root_directory": False, + "parent_id": self.directory3.id, + } + ) + + @users("dms-manager", "dms-user") + @mute_logger("odoo.models.unlink") + def test_unlink_file(self): + file = self.create_file(directory=self.directory) + file.unlink() + self.assertFalse(file.exists(), "File should not exist") + + @users("dms-manager", "dms-user") + def test_compute_thumbnail(self): + self.assertTrue(self.file_demo_01.image_128, "Thumbnail should be computed") + + @users("dms-manager", "dms-user") + def test_compute_path_names(self): + self.assertTrue(self.file.path_names, "Path names should be computed") + + @users("dms-manager", "dms-user") + def test_compute_path_json(self): + self.assertTrue(self.file.path_json, "Path json should be computed") + + @users("dms-manager", "dms-user") + def test_compute_mimetype(self): + self.assertTrue(self.file.mimetype, "Mimetype should be computed") + + @users("dms-manager", "dms-user") + def test_compute_extension(self): + self.assertTrue(self.file.extension, "Extension should be computed") + + @users("dms-manager", "dms-user") + def test_size_calculation(self): + self.assertTrue(self.file.size, "Size should be computed") + + @users("dms-manager", "dms-user") + def test_checksum_calculation(self): + self.assertTrue(self.file.checksum, "Checksum should be computed") + + @users("dms-manager", "dms-user") + def test_compute_content(self): + self.assertTrue( + self.file.with_context(bin_size=True).content, + "Content should be computed (with bin_size)", + ) + self.assertTrue( + self.file.with_context(bin_size=False).content, + "Content should be computed (without bin_size)", + ) + self.assertNotEqual( + self.file.with_context(bin_size=False).content, + self.file.with_context(bin_size=True).content, + "Content should be different", + ) + + @users("dms-manager", "dms-user") + def test_compute_save_type(self): + self.assertTrue(self.file.save_type, "Save type should be computed") + + @users("dms-manager", "dms-user") + def test_compute_migration(self): + self.assertTrue(self.file.migration, "Migration should be computed") + + @users("dms-manager", "dms-user") + def test_search_panel(self): + self.assertTrue( + self.file.search_panel_select_range("directory_id"), + "Directory should be selected", + ) + self.assertTrue( + self.file.search_panel_select_multi_range("directory_id"), + "Directory should be selected", + ) + self.assertTrue( + self.file.search_panel_select_multi_range("tag_ids"), + "Tag should be selected", + ) + res = self.file.search_panel_select_range("directory_id", enable_counters=True) + self.assertTrue(self.directory2.id == x["id"] for x in res["values"]) diff --git a/dms/tests/test_portal.py b/dms/tests/test_portal.py new file mode 100644 index 000000000..623a72044 --- /dev/null +++ b/dms/tests/test_portal.py @@ -0,0 +1,91 @@ +# Copyright 2021-2022 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl) + +import odoo.tests +from odoo.exceptions import AccessError +from odoo.tests.common import users + +from .common import StorageAttachmentBaseCase + + +@odoo.tests.tagged("post_install", "-at_install") +class TestDmsPortal(odoo.tests.HttpCase, StorageAttachmentBaseCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.partner = cls.env.ref("base.partner_demo_portal") + cls.portal_user = cls.partner.user_ids + cls.other_portal_user = cls.other_partner.user_ids + cls.portal_user.login = "portal" + cls.other_portal_user.login = "other_portal" + cls._create_attachment("test.txt") + cls._create_attachment("test2.txt", cls.other_partner) + cls.directory_partner = cls._get_partner_directory() + cls.other_directory_partner = cls._get_partner_directory(cls.other_partner) + cls.file_partner = cls.directory_partner.file_ids[0] + cls.other_file_partner = cls.other_directory_partner.file_ids[0] + + def test_access_portal(self): + self.authenticate("portal", "portal") + # 404: Incorrect access_token + file_text = self.create_file(directory=self.directory_partner) + url = f"{file_text.access_url}&access_token=abc-def" + response = self.url_open(url, timeout=20) + self.assertEqual( + response.status_code, 404, "Can't access file with incorrect access_token" + ) + # 200 + response = self.url_open(self.file_partner._get_share_url(), timeout=20) + self.assertEqual( + response.status_code, 200, "Can access file with correct access_token" + ) + # 200 + response = self.url_open(self.directory_partner._get_share_url(), timeout=20) + self.assertEqual( + response.status_code, 200, "Can access directory with correct access_token" + ) + + def test_tour(self): + # self.portal_user.groups_id = self.env.ref("dms.group_dms_user") + for tour in ("dms_portal_mail_tour", "dms_portal_partners_tour"): + with self.subTest(tour=tour): + self.start_tour("/my", tour, login="portal") + + @users("portal") + def test_permission_portal_user_access_own_attachment(self): + """ + The user can access its own attachments, even if its access group are not set + """ + # Has to manually su=False because the portal user is not a superuser, + # but odoo uses somewhere sudo() internally + file = self.file_partner.with_user(self.portal_user).with_env( + self.env(su=False) + ) + directory = self.directory_partner.with_user(self.portal_user).with_env( + self.env(su=False) + ) + # Portal user can read only in portal under sudo permission, + # and still can't do anything else + with self.assertRaises(AccessError, msg="Portal user should not have access"): + file.check_access("read") + file.check_access("write") + file.check_access("unlink") + directory.check_access("create") + + @users("portal") + def test_permission_portal_user_access_other_attachment(self): + """ + The user can't access other attachments if its access group are not set + """ + # Has to manually su=False because the portal user is not a superuser, + # but odoo uses somewhere sudo() internally + file = self.other_file_partner.with_user(self.portal_user).with_env( + self.env(su=False) + ) + # Portal user can't do anything, but can read! + with self.assertRaises(AccessError, msg="Portal user should not have access"): + file.check_access("create") + with self.assertRaises(AccessError, msg="Portal user should not have access"): + file.check_access("write") + with self.assertRaises(AccessError, msg="Portal user should not have access"): + file.check_access("unlink") diff --git a/dms/tests/test_storage_attachment.py b/dms/tests/test_storage_attachment.py new file mode 100644 index 000000000..25a75bf91 --- /dev/null +++ b/dms/tests/test_storage_attachment.py @@ -0,0 +1,147 @@ +# Copyright 2021-2022 Tecnativa - Víctor Martínez +# Copyright 2021 Tecnativa - João Marques +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo.tests.common import users +from odoo.tools import mute_logger + +from .common import StorageAttachmentBaseCase + + +class StorageAttachmentTestCase(StorageAttachmentBaseCase): + @users("dms-manager") + @mute_logger("odoo.models.unlink") + def test_storage_attachment(self): + self._create_attachment("demo.txt") + self.assertTrue( + self.storage.storage_file_ids.filtered(lambda x: x.name == "demo.txt"), + "File should be created", + ) + directory = self._get_partner_directory() + self.assertEqual(directory.count_files, 1, "Directory should have 1 file") + self.assertEqual( + directory.file_ids[0].name, "demo.txt", "File should be demo.txt" + ) + file_01 = self.create_file(directory=directory) + self.assertEqual(file_01.storage_id, self.storage, "Storage should be the same") + self.assertEqual( + file_01.storage_id.save_type, "attachment", "Save type should be attachment" + ) + self.assertEqual(file_01.save_type, "database", "Save type should be database") + self.assertEqual(directory.count_files, 2, "Directory should have 2 files") + # Assert cascade removal + self.partner.unlink() + self.assertFalse(file_01.exists(), "File should not exist") + self.assertFalse(directory.exists(), "Directory should not exist") + + @users("dms-manager") + def test_storage_attachment_record_db_unlink(self): + self._create_attachment("demo.txt") + self.assertTrue( + self.storage.storage_file_ids.filtered(lambda x: x.name == "demo.txt") + ) + directory = self._get_partner_directory() + self.assertEqual(directory.res_model, self.partner._name) + self.assertEqual(directory.res_id, self.partner.id) + + @users("dms-manager") + def test_storage_attachment_misc(self): + attachment = self._create_attachment("demo.txt") + root_directory = self.storage.root_directory_ids.filtered( + lambda x: x.is_root_directory + ) + self.assertEqual( + root_directory.count_directories, + 1, + "Root directory should have 1 directory", + ) + self.assertEqual( + len(root_directory.child_directory_ids), + 1, + "Root directory should have 1 child directory", + ) + child_directory = root_directory.child_directory_ids[0] + self.assertEqual( + child_directory.res_model, + self.partner_model._name, + "Model should be res.partner", + ) + self.assertEqual( + child_directory.res_id, self.partner.id, "Record ID should be partner ID" + ) + self.assertEqual( + len(root_directory.child_directory_ids.file_ids), + 1, + "Root directory should have 1 file", + ) + dms_file = root_directory.child_directory_ids.file_ids[0] + self.assertEqual( + dms_file.attachment_id, attachment, "Attachment should be the same" + ) + self.assertEqual(dms_file.name, "demo.txt", "Name should be demo.txt") + self.assertEqual( + dms_file.res_model, self.partner_model._name, "Model should be res.partner" + ) + self.assertEqual( + dms_file.res_id, self.partner.id, "Record ID should be partner ID" + ) + directory = self._get_partner_directory() + file_01 = self.create_file(directory=directory) + self.assertEqual( + file_01.res_model, self.partner_model._name, "Model should be res.partner" + ) + self.assertEqual( + file_01.res_id, self.partner.id, "Record ID should be partner ID" + ) + self.assertEqual(file_01.storage_id, self.storage, "Storage should be the same") + self.assertEqual( + file_01.storage_id.save_type, "attachment", "Save type should be attachment" + ) + self.assertEqual(file_01.save_type, "database", "Save type should be database") + self.assertEqual( + self.storage.count_storage_files, 2, "Storage should have 2 files" + ) + + @users("dms-manager") + def test_storage_attachment_directory_record_ref_access_dms_manager(self): + self._create_attachment("demo.txt") + directory = self._get_partner_directory() + self.assertTrue(directory.permission_read, "Permission read should be True") + self.assertEqual(self.partner.type, "contact", "Type should be contact") + self.assertTrue( + directory.sudo().permission_read, "Permission read should be True" + ) + + @users("dms-user") + def test_storage_attachment_directory_record_ref_access_dms_user(self): + self._create_attachment("demo.txt") + directory = self._get_partner_directory() + self.assertTrue(directory.permission_read, "Permission read should be True") + self.assertEqual(self.partner.type, "contact", "Type should be contact") + self.assertTrue( + directory.sudo().permission_read, "Permission read should be True" + ) + directory.invalidate_recordset() + self.assertTrue( + directory.permission_read, "Permission read should still be True" + ) + + @users("basic-user") + def test_storage_attachment_directory_record_ref_access_basic_user(self): + self._create_attachment("demo.txt") + directory = self._get_partner_directory() + self.assertTrue(directory.permission_read, "Permission read should be True") + self.assertTrue(directory.permission_read, "Permission read should be True") + self.assertEqual(self.partner.type, "contact", "Type should be contact") + self.partner.sudo().write({"type": "other"}) + self.assertEqual(self.partner.type, "other", "Type should now be other") + self.assertTrue( + directory.sudo().permission_read, "Permission read should be True" + ) + + @users("basic-user") + def test_create_attachment_basic_user(self): + attachment = self._create_attachment("Test file") + self.assertEqual(attachment.name, "Test file", "Name should be Test file") + self.assertTrue(self._get_partner_directory(), "Directory should exist") diff --git a/dms/tests/test_storage_database.py b/dms/tests/test_storage_database.py new file mode 100644 index 000000000..cd8dab616 --- /dev/null +++ b/dms/tests/test_storage_database.py @@ -0,0 +1,138 @@ +# Copyright 2017-2019 MuK IT GmbH. +# Copyright 2020 Creu Blanca +# Copyright 2022 Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo.tests.common import users +from odoo.tools import mute_logger + +from .common import StorageDatabaseBaseCase + + +class StorageDatabaseTestCase(StorageDatabaseBaseCase): + @users("dms-manager") + def test_action_storage_migrate(self): + self.storage.action_storage_migrate() + + @users("dms-manager", "dms-user") + def test_count_storage_directories(self): + self.assertTrue( + self.storage.count_storage_directories, "Storage should have directories" + ) + + @users("dms-manager", "dms-user") + def test_count_storage_files(self): + self.assertTrue(self.storage.count_storage_files, "Storage should have files") + + @users("dms-manager") + @mute_logger("odoo.models.unlink") + def test_file_migrate(self): + root_directory = self.storage.root_directory_ids.filtered( + lambda x: x.is_root_directory + ) + file_01 = self.create_file(directory=root_directory) + self.assertEqual( + file_01.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_01.storage_id.save_type, "database", "Storage should be database" + ) + self.assertEqual( + file_01.save_type, "database", "File savetype should be database" + ) + self.storage.write({"save_type": "file"}) + directory = self.create_directory(storage=self.storage) + file_02 = self.create_file(directory=directory) + self.assertEqual( + file_01.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual(file_01.storage_id.save_type, "file", "Storage should be file") + self.assertEqual( + file_01.save_type, "database", "File savetype should be database" + ) + self.assertEqual( + file_02.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual(file_02.storage_id.save_type, "file", "Storage should be file") + self.assertEqual(file_02.save_type, "file", "File savetype should be file") + self.storage.action_storage_migrate() + self.assertEqual( + file_01.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual(file_01.storage_id.save_type, "file", "Storage should be file") + self.assertEqual(file_01.save_type, "file", "File savetype should be file") + self.assertEqual( + file_02.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual(file_02.storage_id.save_type, "file", "Storage should be file") + self.assertEqual(file_02.save_type, "file", "File savetype should be file") + self.storage.write({"save_type": "database"}) + self.storage.action_storage_migrate() + self.assertEqual( + file_01.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_01.storage_id.save_type, "database", "Storage should be database" + ) + self.assertEqual( + file_01.save_type, "database", "File savetype should be database" + ) + self.assertEqual( + file_02.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_02.storage_id.save_type, "database", "Storage should be database" + ) + self.assertEqual( + file_02.save_type, "database", "File savetype should be database" + ) + self.storage.write({"save_type": "attachment"}) + model_partner = self.env.ref("base.model_res_partner") + partner = self.partner_model.create({"name": "Test partner"}) + directory = self.directory_model.create( + { + "name": self.partner_model._name, + "model_id": model_partner.id, + "res_id": partner.id, + "parent_id": self.storage.root_directory_ids[0].id, + "storage_id": self.storage.id, + } + ) + file_03 = self.create_file(directory=directory) + self.assertEqual( + file_02.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_02.storage_id.save_type, "attachment", "Storage should be attachment" + ) + self.assertEqual( + file_02.save_type, "database", "File savetype should be database" + ) + self.assertEqual( + file_03.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_03.storage_id.save_type, "attachment", "Storage should be attachment" + ) + self.assertEqual( + file_03.save_type, "database", "File savetype should be database" + ) + self.storage.action_storage_migrate() + self.assertEqual( + file_02.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_02.storage_id.save_type, "attachment", "Storage should be attachment" + ) + self.assertEqual( + file_02.save_type, "database", "File savetype should be database" + ) + self.assertEqual( + file_03.storage_id, self.storage, "File should be in the storage" + ) + self.assertEqual( + file_03.storage_id.save_type, "attachment", "Storage should be attachment" + ) + self.assertEqual( + file_03.save_type, "database", "File savetype should be database" + ) diff --git a/dms/tools/__init__.py b/dms/tools/__init__.py new file mode 100644 index 000000000..1f48df096 --- /dev/null +++ b/dms/tools/__init__.py @@ -0,0 +1 @@ +from . import file diff --git a/dms/tools/file.py b/dms/tools/file.py new file mode 100644 index 000000000..3f3bce3fd --- /dev/null +++ b/dms/tools/file.py @@ -0,0 +1,103 @@ +# Copyright 2020 Antoni Romera +# Copyright 2017-2019 MuK IT GmbH +# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com). +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +import mimetypes +import os +import re +import shutil +import tempfile + +from odoo.tools.mimetypes import guess_mimetype + + +def check_name(name): + """ + Check if a file name is valid. + + :param str name: The file name to check. + :return: True if the file name is valid, False otherwise. + :rtype: bool + """ + tmp_dir = tempfile.mkdtemp() + try: + open(os.path.join(tmp_dir, name), "a").close() + except OSError: + return False + finally: + shutil.rmtree(tmp_dir) + return True + + +def compute_name(name, suffix, escape_suffix): + """ + Compute a new name by adding a suffix to the original name. + + :param str name: The original name. + :param int suffix: The suffix to add. + :param bool escape_suffix: If True, the suffix is added in between the name and + the file extension. + :return: The new name. + :rtype: str + """ + if escape_suffix: + name, extension = os.path.splitext(name) + return f"{name}({suffix}){extension}" + + return f"{name}({suffix})" + + +def unique_name(name, names, escape_suffix=False): + """ + Generate a unique name by adding a suffix to the original name. + + :param str name: The original name. + :param list names: The list of existing names. + :param bool escape_suffix: If True, the suffix is added in between the name and + the file extension. + :return: The unique name. + :rtype: str + """ + if name not in names: + return name + + # Extract the suffix from the name + # e.g: "file(1).txt" -> "1" + # "Directory (1)(2)" -> "2" + digits = re.compile(r"\((\d+)\)(\.\w+)?$") + match = digits.search(name) + suffix = 1 + if match: + suffix = int(match.group(1)) + 1 + # get the name without the suffix and append the extension + name = name[: match.span()[0]] + (match.group(2) or "") + + name = compute_name(name, suffix, escape_suffix) + while name in names: + # has to check recursively if the new name is unique because the user can + # rename the file with suffix n+1 + # and then duplicate the file n, leading to a new file with suffix n+1 which + # is already used. + return unique_name(name, names, escape_suffix) + return name + + +def guess_extension(filename=None, mimetype=None, binary=None): + """ + Guess the extension of a file. + + :param str filename: The name of the file. + :param str mimetype: The mimetype of the file. + :param str binary: The binary content of the file. + + :return: The extension of the file. + :rtype: str + """ + extension = filename and os.path.splitext(filename)[1][1:].strip().lower() + if not extension and mimetype and mimetype != "application/x-empty": + extension = mimetypes.guess_extension(mimetype)[1:].strip().lower() + if not extension and binary: + mimetype = guess_mimetype(binary, default="") + extension = mimetypes.guess_extension(mimetype)[1:].strip().lower() + return extension diff --git a/dms/views/dms_access_groups_views.xml b/dms/views/dms_access_groups_views.xml new file mode 100644 index 000000000..7d501acd9 --- /dev/null +++ b/dms/views/dms_access_groups_views.xml @@ -0,0 +1,112 @@ + + + + + dms_access_groups.list + dms.access.group + + + + + + + + + + + + + dms_access.group.form + dms.access.group + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + Access Groups + dms.access.group + list,form + + +
diff --git a/dms/views/dms_category.xml b/dms/views/dms_category.xml new file mode 100644 index 000000000..ce1e8dc16 --- /dev/null +++ b/dms/views/dms_category.xml @@ -0,0 +1,110 @@ + + + + + dms_category.search + dms.category + + + + + + + + + dms_category.list + dms.category + + + + + + + + + + dms_category.form + dms.category + +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Categories + dms.category + list,form + {'search_default_all': 1} + +

+ Create a new Category. +

+

+ Categories are used to categorize Documents. +

+
+
+ diff --git a/dms/views/dms_directory.xml b/dms/views/dms_directory.xml new file mode 100644 index 000000000..658225001 --- /dev/null +++ b/dms/views/dms_directory.xml @@ -0,0 +1,732 @@ + + + + + Subdirectories + dms.directory + kanban,list,form + + [ + ("is_hidden", "=", False), + ] + + + { + 'default_parent_id': active_id, + 'searchpanel_default_parent_id': active_id + } + + +

+ Click to add a new directory. +

+

+ Directories can be used to structure and organize + files directly in Odoo. +

+
+
+ + Files + dms.file + kanban,list,graph,pivot,form + + [ + ("is_hidden", "=", False), + ] + + + { + 'default_directory_id': active_id, + 'searchpanel_default_directory_id': active_id + } + + +

+ Click to add a new file. +

+

+ Files are used to save content directly in Odoo. +

+
+
+ + Subdirectories + dms.directory + kanban,list,form + + [ + ("parent_id", "child_of", active_id), + ("is_hidden", "=", False), + ("id", "!=", active_id), + ] + + + { + 'default_parent_id': active_id, + } + + +

+ Click to add a new directory. +

+

+ Directories can be used to structure and organize + files directly in Odoo. +

+
+
+ + Files + dms.file + kanban,list,graph,pivot,form + + [ + ("is_hidden", "=", False), + ] + + + { + 'default_directory_id': active_id, + 'searchpanel_default_directory_id': active_id + } + + +

+ Click to add a new file. +

+

+ Files are used to save content directly in Odoo. +

+
+
+ + dms_directory.search + dms.directory + + + + + + + + + + + + + + + + + + + + + + + + + + dms_directory.kanban + dms.directory + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + + +
+
+
+
+
    +
+
+
+
+ +
+
+ + +
+
+ Icon +
+
+
+
+ +
+
+ + +
+ +
+
+ + + + + + + dms_directory.list + dms.directory + + + + + + + + + + + + + dms_directory.form + dms.directory + +
+
+ +
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + Directories + dms.directory + kanban,list,form + [("is_hidden", "=", False)] + +

+ Add a new Directory. +

+

+ Directories can be used to structure and organize + files directly in Odoo. +

+
+
+ + dms_directory.form + dms.directory + + primary + + + 1 + + + 1 + + + 1 + + + 1 + + + + + + + + + + + + + + +
+
+
+
+
+
+ + New Root Directory + dms.directory + form + new + + + diff --git a/dms/views/dms_file.xml b/dms/views/dms_file.xml new file mode 100644 index 000000000..24043407d --- /dev/null +++ b/dms/views/dms_file.xml @@ -0,0 +1,650 @@ + + + + + dms_file.search + dms.file + + + + + + + + + + + + + + + + + + + + + + + + + + dms_file.kanban + dms.file + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + Icon + +
+
+
+
+ +
+
+ + +
+
+
+ + + + +
+
+
+
+
+
+ + + + + + + dms_file.kanban.wizard.selection + dms.file + + 9999 + primary + + + + o_kanban_mobile mk_file_kanban_view + + +
+ + + + + dms_file.list + dms.file + + + + + + + + + + + + + + + + + + dms_file.graph + dms.file + + + + + + + + + dms_file.pivot + dms.file + + + + + + + + + + dms_file.form + dms.file + +
+
+
+ + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Files + dms.file + kanban,list,graph,pivot,form + [("is_hidden", "=", False)] + +

+ Add a new File. +

+

+ Files are used to save content directly in Odoo. +

+
+
+ + + Files + dms.file + new + kanban + {'create': False} + + + + dms_file.search + dms.file + + + + + + + + + + + + + + + dms_file.list + dms.file + + + + + + + + + + + + + + + Files + dms.file + list + + [('require_migration', '=', True), '|', ('active', '=', False), ('active', '!=', False)] + + {'search_default_group_storage': 1} + + +

+ Add a new File. +

+

+ Files are used to save content directly in Odoo. +

+
+
+ + dms_file.form + dms.file + + primary + + + 1 + + + 1 + +
+
+
+
+
+
+ + New Root Directory + dms.file + form + new + + + + Move + + + + list + code + + action = model.action_wizard_dms_file_move() + + + diff --git a/dms/views/dms_tag.xml b/dms/views/dms_tag.xml new file mode 100644 index 000000000..12297caf2 --- /dev/null +++ b/dms/views/dms_tag.xml @@ -0,0 +1,172 @@ + + + + + dms_tag.search + dms.tag + + + + + + + + + + + + + dms_tag.kanban + dms.tag + + + + + + +
+
+
+ + + + +
+
+
+
+
    +
+
+
+
+ +
+
+
+

+ +

+
+
+
+
+ + + + + + + dms_tag.list + dms.tag + + + + + + + + + + dms_tag.form + dms.tag + +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + Tags + dms.tag + kanban,list,form + {'search_default_group_by_category': 1} + +

+ Click to create a new tag. +

+

+ Tags are used to categorize Documents. +

+
+
+ diff --git a/dms/views/menu.xml b/dms/views/menu.xml new file mode 100644 index 000000000..2b70c2c5f --- /dev/null +++ b/dms/views/menu.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/dms/views/res_config_settings.xml b/dms/views/res_config_settings.xml new file mode 100644 index 000000000..2ee43fdd8 --- /dev/null +++ b/dms/views/res_config_settings.xml @@ -0,0 +1,56 @@ + + + + + res.config.settings.view.form.inherit.dms + res.config.settings + + + + + + + + + + + + + +
+ +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +º + + Storages + dms.storage + list,form + +

+ Create a new Storage object. +

+

+ Storages are used to configure your Documents. +

+
+
+ + dms_storage.form + dms.storage + + primary + + + 1 + + + 1 + +
+
+
+
+
+
+ + New Storage + dms.storage + form + new + + + diff --git a/dms/wizards/__init__.py b/dms/wizards/__init__.py new file mode 100644 index 000000000..8f4a16b6f --- /dev/null +++ b/dms/wizards/__init__.py @@ -0,0 +1,2 @@ +from . import wizard_dms_file_move +from . import wizard_dms_share diff --git a/dms/wizards/wizard_dms_file_move.py b/dms/wizards/wizard_dms_file_move.py new file mode 100644 index 000000000..53109b581 --- /dev/null +++ b/dms/wizards/wizard_dms_file_move.py @@ -0,0 +1,25 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class WizardDmsFileMove(models.TransientModel): + _name = "wizard.dms.file.move" + _description = "Wizard Dms File Move" + + count_files = fields.Integer(readonly=True) + directory_id = fields.Many2one( + comodel_name="dms.directory", required=True, string="Directory" + ) + + @api.model + def default_get(self, fields): + vals = super().default_get(fields) + if self.env.context.get("active_ids"): + vals.update({"count_files": len(self.env.context.get("active_ids"))}) + return vals + + def process(self): + items = self.env["dms.file"].browse(self.env.context.get("active_ids")) + items.write({"directory_id": self.directory_id}) diff --git a/dms/wizards/wizard_dms_file_move_views.xml b/dms/wizards/wizard_dms_file_move_views.xml new file mode 100644 index 000000000..127d7b8b9 --- /dev/null +++ b/dms/wizards/wizard_dms_file_move_views.xml @@ -0,0 +1,41 @@ + + + + + wizard.dms.file.move.form + wizard.dms.file.move + +
+ + + + + +
+
+ +
+
+ + Move files + wizard.dms.file.move + form + new + +
diff --git a/dms/wizards/wizard_dms_share.py b/dms/wizards/wizard_dms_share.py new file mode 100644 index 000000000..c36a3c946 --- /dev/null +++ b/dms/wizards/wizard_dms_share.py @@ -0,0 +1,19 @@ +# Copyright 2024 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, models + + +class WizardDmsShare(models.TransientModel): + _name = "wizard.dms.share" + _inherit = "portal.share" + _description = "Wizard for sharing DMS records" + + @api.model + def _selection_target_model(self): + return [ + (model.model, model.name) + for model in self.env["ir.model"] + .sudo() + .search([("model", "in", ("dms.directory", "dms.file"))]) + ] diff --git a/dms/wizards/wizard_dms_share_views.xml b/dms/wizards/wizard_dms_share_views.xml new file mode 100644 index 000000000..affae0783 --- /dev/null +++ b/dms/wizards/wizard_dms_share_views.xml @@ -0,0 +1,28 @@ + + + + wizard.dms.share.form + wizard.dms.share + + primary + + + 1 + + + + + Share + wizard.dms.share + + form + new + + + Share + wizard.dms.share + + form + new + +