From c8b4c761a3944454266186d09fb0c8cb42aa8236 Mon Sep 17 00:00:00 2001 From: Ernesto Tejeda Date: Tue, 12 Jul 2022 09:01:22 -0400 Subject: [PATCH 01/36] [REN] product_pricelist_margin to product_pricelist_simulation --- product_pricelist_simulation/README.rst | 115 +++++ product_pricelist_simulation/__init__.py | 2 + product_pricelist_simulation/__manifest__.py | 24 + .../demo/product_pricelist.xml | 59 +++ .../demo/product_product.xml | 17 + .../demo/res_groups.xml | 22 + product_pricelist_simulation/i18n/fr.po | 200 ++++++++ .../i18n/product_pricelist_margin.pot | 198 ++++++++ .../models/__init__.py | 2 + .../models/product_product.py | 27 ++ .../models/product_template.py | 14 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 2 + .../readme/INSTALL.rst | 11 + product_pricelist_simulation/readme/USAGE.rst | 14 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 454 ++++++++++++++++++ .../description/product_template_form.png | Bin 0 -> 50030 bytes ..._module_web_tree_dynamic_colored_field.png | Bin 0 -> 62263 bytes .../wizard_preview_pricelist_margin_form.png | Bin 0 -> 50885 bytes .../tests/__init__.py | 1 + .../tests/test_module.py | 42 ++ .../views/view_product_template.xml | 23 + .../wizards/__init__.py | 2 + .../wizard_preview_pricelist_margin.py | 99 ++++ .../wizard_preview_pricelist_margin.xml | 64 +++ .../wizard_preview_pricelist_margin_line.py | 56 +++ 27 files changed, 1449 insertions(+) create mode 100644 product_pricelist_simulation/README.rst create mode 100644 product_pricelist_simulation/__init__.py create mode 100644 product_pricelist_simulation/__manifest__.py create mode 100644 product_pricelist_simulation/demo/product_pricelist.xml create mode 100644 product_pricelist_simulation/demo/product_product.xml create mode 100644 product_pricelist_simulation/demo/res_groups.xml create mode 100644 product_pricelist_simulation/i18n/fr.po create mode 100644 product_pricelist_simulation/i18n/product_pricelist_margin.pot create mode 100644 product_pricelist_simulation/models/__init__.py create mode 100644 product_pricelist_simulation/models/product_product.py create mode 100644 product_pricelist_simulation/models/product_template.py create mode 100644 product_pricelist_simulation/readme/CONTRIBUTORS.rst create mode 100644 product_pricelist_simulation/readme/DESCRIPTION.rst create mode 100644 product_pricelist_simulation/readme/INSTALL.rst create mode 100644 product_pricelist_simulation/readme/USAGE.rst create mode 100644 product_pricelist_simulation/static/description/icon.png create mode 100644 product_pricelist_simulation/static/description/index.html create mode 100644 product_pricelist_simulation/static/description/product_template_form.png create mode 100644 product_pricelist_simulation/static/description/with_module_web_tree_dynamic_colored_field.png create mode 100644 product_pricelist_simulation/static/description/wizard_preview_pricelist_margin_form.png create mode 100644 product_pricelist_simulation/tests/__init__.py create mode 100644 product_pricelist_simulation/tests/test_module.py create mode 100644 product_pricelist_simulation/views/view_product_template.xml create mode 100644 product_pricelist_simulation/wizards/__init__.py create mode 100644 product_pricelist_simulation/wizards/wizard_preview_pricelist_margin.py create mode 100644 product_pricelist_simulation/wizards/wizard_preview_pricelist_margin.xml create mode 100644 product_pricelist_simulation/wizards/wizard_preview_pricelist_margin_line.py diff --git a/product_pricelist_simulation/README.rst b/product_pricelist_simulation/README.rst new file mode 100644 index 00000000000..5fac9c0c5b2 --- /dev/null +++ b/product_pricelist_simulation/README.rst @@ -0,0 +1,115 @@ +===================== +Margins per Pricelist +===================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmargin--analysis-lightgray.png?logo=github + :target: https://github.com/OCA/margin-analysis/tree/12.0/product_pricelist_margin + :alt: OCA/margin-analysis +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/margin-analysis-12-0/margin-analysis-12-0-product_pricelist_margin + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/132/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module is designed to extend Product Module in Odoo to preview product margin +depending on the different pricelists. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +**Lazy Dependency** + +If you install the extra module ``web_tree_dynamic_colored_field``, +present in the OCA repository (https://github.com/OCA/web), +the lines will have a background, depending on the final margin. + +* the greener the line, the greater the margin +* the bluer the line, the greater the margin +* In case of negative margin, the line is red + +.. image:: https://raw.githubusercontent.com/OCA/margin-analysis/12.0/product_pricelist_margin/static/description/with_module_web_tree_dynamic_colored_field.png + +Usage +===== + +* Go to "Sale > Products > Products" + +* Open a product form + +* a new button is available, named "See Margins per Pricelist" + +.. image:: https://raw.githubusercontent.com/OCA/margin-analysis/12.0/product_pricelist_margin/static/description/product_template_form.png + +* Click on the button, and check if the margins are correct + +.. image:: https://raw.githubusercontent.com/OCA/margin-analysis/12.0/product_pricelist_margin/static/description/wizard_preview_pricelist_margin_form.png + +* you can optionnaly change date, or quantity, if you have complex pricelist depending + on such parameters. + +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 smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* GRAP + +Contributors +~~~~~~~~~~~~ + +* Sylvain LE GAL + +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. + +.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px + :target: https://github.com/legalsylvain + :alt: legalsylvain + +Current `maintainer `__: + +|maintainer-legalsylvain| + +This module is part of the `OCA/margin-analysis `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/product_pricelist_simulation/__init__.py b/product_pricelist_simulation/__init__.py new file mode 100644 index 00000000000..aee8895e7a3 --- /dev/null +++ b/product_pricelist_simulation/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import wizards diff --git a/product_pricelist_simulation/__manifest__.py b/product_pricelist_simulation/__manifest__.py new file mode 100644 index 00000000000..8495ec005fe --- /dev/null +++ b/product_pricelist_simulation/__manifest__.py @@ -0,0 +1,24 @@ +# Copyright (C) 2021-Today GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Margins per Pricelist", + "version": "12.0.1.0.0", + "category": "Account", + "author": "GRAP,Odoo Community Association (OCA)", + "maintainers": ["legalsylvain"], + "website": "https://github.com/OCA/margin-analysis", + "license": "AGPL-3", + "depends": ["sale"], + "data": [ + "views/view_product_template.xml", + "wizards/wizard_preview_pricelist_margin.xml", + ], + "demo": [ + "demo/res_groups.xml", + "demo/product_product.xml", + "demo/product_pricelist.xml", + ], + "installable": True, +} diff --git a/product_pricelist_simulation/demo/product_pricelist.xml b/product_pricelist_simulation/demo/product_pricelist.xml new file mode 100644 index 00000000000..d8753407672 --- /dev/null +++ b/product_pricelist_simulation/demo/product_pricelist.xml @@ -0,0 +1,59 @@ + + + + + + + 0_product_variant + + + fixed + 80.0 + 2000-01-01 + 2000-01-03 + + + + Public Pricelist -10% + 10 + + + + 3_global + + percentage + 10 + list_price + + + + Public Pricelist -20% + 20 + + + + 3_global + + percentage + 20 + list_price + + + + Public Pricelist -30% + 30 + + + + 3_global + + percentage + 30 + list_price + + + diff --git a/product_pricelist_simulation/demo/product_product.xml b/product_pricelist_simulation/demo/product_product.xml new file mode 100644 index 00000000000..6a153669b07 --- /dev/null +++ b/product_pricelist_simulation/demo/product_product.xml @@ -0,0 +1,17 @@ + + + + + + + pricelist-margin-product + Demo Product (Margin per Pricelist module) + 20 + 40 + + + diff --git a/product_pricelist_simulation/demo/res_groups.xml b/product_pricelist_simulation/demo/res_groups.xml new file mode 100644 index 00000000000..85da34246ea --- /dev/null +++ b/product_pricelist_simulation/demo/res_groups.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + diff --git a/product_pricelist_simulation/i18n/fr.po b/product_pricelist_simulation/i18n/fr.po new file mode 100644 index 00000000000..d5de9372435 --- /dev/null +++ b/product_pricelist_simulation/i18n/fr.po @@ -0,0 +1,200 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_pricelist_margin +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-06-10 09:13+0000\n" +"PO-Revision-Date: 2021-06-10 09:13+0000\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: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__bg_color +msgid "Bg Color" +msgstr "" + +#. module: product_pricelist_margin +#: model_terms:ir.ui.view,arch_db:product_pricelist_margin.view_wizard_preview_pricelist_margin_form +msgid "Close" +msgstr "Fermer" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__standard_price +msgid "Cost" +msgstr "Coût" + +#. module: product_pricelist_margin +#: model:ir.model.fields,help:product_pricelist_margin.field_wizard_preview_pricelist_margin__standard_price +msgid "Cost used for stock valuation in standard price and as a first price to set in average/fifo. Also used as a base price for pricelists. Expressed in the default unit of measure of the product." +msgstr "Également utilisé comme prix de base pour les listes. Exprimé dans l'unité de mesure par défaut du produit." + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__create_uid +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__create_date +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__currency_id +msgid "Currency" +msgstr "Devise" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__price_date +msgid "Date" +msgstr "Date " + +#. module: product_pricelist_margin +#: model:product.product,name:product_pricelist_margin.demo_product +#: model:product.template,name:product_pricelist_margin.demo_product_product_template +msgid "Demo Product (Margin per Pricelist module)" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__display_name +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__id +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__id +msgid "ID" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin____last_update +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__write_uid +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__write_date +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__line_ids +msgid "Lines" +msgstr "Lignes" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__margin +msgid "Margin" +msgstr "Marge" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__margin_percent +msgid "Margin (%)" +msgstr "Taux de marque (%)" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__pricelist_id +msgid "Pricelist" +msgstr "Liste de prix" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_product_product +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__template_id +msgid "Product" +msgstr "Article" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_product_template +msgid "Product Template" +msgstr "Modèle d'article" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__product_id +msgid "Product Variant" +msgstr "Variante d'article" + +#. module: product_pricelist_margin +#: model:product.pricelist,name:product_pricelist_margin.sale_pricelist_10 +msgid "Public Pricelist -10%" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.pricelist,name:product_pricelist_margin.sale_pricelist_20 +msgid "Public Pricelist -20%" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.pricelist,name:product_pricelist_margin.sale_pricelist_30 +msgid "Public Pricelist -30%" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__product_qty +msgid "Quantity" +msgstr "Quantité" + +#. module: product_pricelist_margin +#: code:addons/product_pricelist_margin/models/product_product.py:18 +#: model_terms:ir.ui.view,arch_db:product_pricelist_margin.view_product_template_form +#, python-format +msgid "See Margins per Pricelist" +msgstr "Voir les marges par liste de prix" + +#. module: product_pricelist_margin +#: model_terms:ir.ui.view,arch_db:product_pricelist_margin.view_wizard_preview_pricelist_margin_form +msgid "Settings" +msgstr "Configuration" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__price_vat_excl +msgid "Unit Sales Price (Excl.)" +msgstr "Prix unitaire (HT)" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__price_vat_incl +msgid "Unit Sales Price (Incl.)" +msgstr "Prix unitaire (TTC)" + +#. module: product_pricelist_margin +#: model:product.product,uom_name:product_pricelist_margin.demo_product +#: model:product.template,uom_name:product_pricelist_margin.demo_product_product_template +msgid "Unit(s)" +msgstr "Unité(s)" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__wizard_id +msgid "Wizard" +msgstr "Assistant" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_wizard_preview_pricelist_margin +msgid "Wizard - Preview Pricelist Margin" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_wizard_preview_pricelist_margin_line +msgid "Wizard - Preview Pricelist Margin Line" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.product,weight_uom_name:product_pricelist_margin.demo_product +#: model:product.template,weight_uom_name:product_pricelist_margin.demo_product_product_template +msgid "kg" +msgstr "" + diff --git a/product_pricelist_simulation/i18n/product_pricelist_margin.pot b/product_pricelist_simulation/i18n/product_pricelist_margin.pot new file mode 100644 index 00000000000..e5a92fbe325 --- /dev/null +++ b/product_pricelist_simulation/i18n/product_pricelist_margin.pot @@ -0,0 +1,198 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * product_pricelist_margin +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__bg_color +msgid "Bg Color" +msgstr "" + +#. module: product_pricelist_margin +#: model_terms:ir.ui.view,arch_db:product_pricelist_margin.view_wizard_preview_pricelist_margin_form +msgid "Close" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__standard_price +msgid "Cost" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,help:product_pricelist_margin.field_wizard_preview_pricelist_margin__standard_price +msgid "Cost used for stock valuation in standard price and as a first price to set in average/fifo. Also used as a base price for pricelists. Expressed in the default unit of measure of the product." +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__create_uid +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__create_uid +msgid "Created by" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__create_date +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__create_date +msgid "Created on" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__currency_id +msgid "Currency" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__price_date +msgid "Date" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.product,name:product_pricelist_margin.demo_product +#: model:product.template,name:product_pricelist_margin.demo_product_product_template +msgid "Demo Product (Margin per Pricelist module)" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__display_name +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__display_name +msgid "Display Name" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__id +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__id +msgid "ID" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin____last_update +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__write_uid +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__write_date +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__line_ids +msgid "Lines" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__margin +msgid "Margin" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__margin_percent +msgid "Margin (%)" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__pricelist_id +msgid "Pricelist" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_product_product +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__template_id +msgid "Product" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_product_template +msgid "Product Template" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__product_id +msgid "Product Variant" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.pricelist,name:product_pricelist_margin.sale_pricelist_10 +msgid "Public Pricelist -10%" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.pricelist,name:product_pricelist_margin.sale_pricelist_20 +msgid "Public Pricelist -20%" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.pricelist,name:product_pricelist_margin.sale_pricelist_30 +msgid "Public Pricelist -30%" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin__product_qty +msgid "Quantity" +msgstr "" + +#. module: product_pricelist_margin +#: code:addons/product_pricelist_margin/models/product_product.py:18 +#: model_terms:ir.ui.view,arch_db:product_pricelist_margin.view_product_template_form +#, python-format +msgid "See Margins per Pricelist" +msgstr "" + +#. module: product_pricelist_margin +#: model_terms:ir.ui.view,arch_db:product_pricelist_margin.view_wizard_preview_pricelist_margin_form +msgid "Settings" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__price_vat_excl +msgid "Unit Sales Price (Excl.)" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__price_vat_incl +msgid "Unit Sales Price (Incl.)" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.product,uom_name:product_pricelist_margin.demo_product +#: model:product.template,uom_name:product_pricelist_margin.demo_product_product_template +msgid "Unit(s)" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model.fields,field_description:product_pricelist_margin.field_wizard_preview_pricelist_margin_line__wizard_id +msgid "Wizard" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_wizard_preview_pricelist_margin +msgid "Wizard - Preview Pricelist Margin" +msgstr "" + +#. module: product_pricelist_margin +#: model:ir.model,name:product_pricelist_margin.model_wizard_preview_pricelist_margin_line +msgid "Wizard - Preview Pricelist Margin Line" +msgstr "" + +#. module: product_pricelist_margin +#: model:product.product,weight_uom_name:product_pricelist_margin.demo_product +#: model:product.template,weight_uom_name:product_pricelist_margin.demo_product_product_template +msgid "kg" +msgstr "" + diff --git a/product_pricelist_simulation/models/__init__.py b/product_pricelist_simulation/models/__init__.py new file mode 100644 index 00000000000..18b37e85320 --- /dev/null +++ b/product_pricelist_simulation/models/__init__.py @@ -0,0 +1,2 @@ +from . import product_product +from . import product_template diff --git a/product_pricelist_simulation/models/product_product.py b/product_pricelist_simulation/models/product_product.py new file mode 100644 index 00000000000..fcff0a6ef49 --- /dev/null +++ b/product_pricelist_simulation/models/product_product.py @@ -0,0 +1,27 @@ +# Copyright (C) 2021-Today GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, models + + +class Productproduct(models.Model): + _inherit = "product.product" + + @api.multi + def button_margin_per_pricelist(self): + self.ensure_one() + view = self.env.ref( + "product_pricelist_margin.view_wizard_preview_pricelist_margin_form" + ) + return { + 'name': _('See Margins per Pricelist'), + 'type': 'ir.actions.act_window', + 'view_type': 'form', + 'view_mode': 'form', + 'res_model': 'wizard.preview.pricelist.margin', + 'views': [(view.id, 'form')], + 'view_id': view.id, + 'target': 'new', + 'context': {}, + } diff --git a/product_pricelist_simulation/models/product_template.py b/product_pricelist_simulation/models/product_template.py new file mode 100644 index 00000000000..caca303e244 --- /dev/null +++ b/product_pricelist_simulation/models/product_template.py @@ -0,0 +1,14 @@ +# Copyright (C) 2021-Today GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + @api.multi + def button_margin_per_pricelist(self): + self.ensure_one() + return self.mapped("product_variant_ids")[0].button_margin_per_pricelist() diff --git a/product_pricelist_simulation/readme/CONTRIBUTORS.rst b/product_pricelist_simulation/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000000..9f76a75bc18 --- /dev/null +++ b/product_pricelist_simulation/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Sylvain LE GAL diff --git a/product_pricelist_simulation/readme/DESCRIPTION.rst b/product_pricelist_simulation/readme/DESCRIPTION.rst new file mode 100644 index 00000000000..afa86f03520 --- /dev/null +++ b/product_pricelist_simulation/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module is designed to extend Product Module in Odoo to preview product margin +depending on the different pricelists. diff --git a/product_pricelist_simulation/readme/INSTALL.rst b/product_pricelist_simulation/readme/INSTALL.rst new file mode 100644 index 00000000000..fc182949f52 --- /dev/null +++ b/product_pricelist_simulation/readme/INSTALL.rst @@ -0,0 +1,11 @@ +**Lazy Dependency** + +If you install the extra module ``web_tree_dynamic_colored_field``, +present in the OCA repository (https://github.com/OCA/web), +the lines will have a background, depending on the final margin. + +* the greener the line, the greater the margin +* the bluer the line, the greater the margin +* In case of negative margin, the line is red + +.. image:: ../static/description/with_module_web_tree_dynamic_colored_field.png diff --git a/product_pricelist_simulation/readme/USAGE.rst b/product_pricelist_simulation/readme/USAGE.rst new file mode 100644 index 00000000000..4158adfeed1 --- /dev/null +++ b/product_pricelist_simulation/readme/USAGE.rst @@ -0,0 +1,14 @@ +* Go to "Sale > Products > Products" + +* Open a product form + +* a new button is available, named "See Margins per Pricelist" + +.. image:: ../static/description/product_template_form.png + +* Click on the button, and check if the margins are correct + +.. image:: ../static/description/wizard_preview_pricelist_margin_form.png + +* you can optionnaly change date, or quantity, if you have complex pricelist depending + on such parameters. diff --git a/product_pricelist_simulation/static/description/icon.png b/product_pricelist_simulation/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/product_pricelist_simulation/static/description/index.html b/product_pricelist_simulation/static/description/index.html new file mode 100644 index 00000000000..3d8d761a5ec --- /dev/null +++ b/product_pricelist_simulation/static/description/index.html @@ -0,0 +1,454 @@ + + + + + + +Margins per Pricelist + + + +
+

Margins per Pricelist

+ + +

Beta License: AGPL-3 OCA/margin-analysis Translate me on Weblate Try me on Runbot

+

This module is designed to extend Product Module in Odoo to preview product margin +depending on the different pricelists.

+

Table of contents

+ +
+

Installation

+

Lazy Dependency

+

If you install the extra module web_tree_dynamic_colored_field, +present in the OCA repository (https://github.com/OCA/web), +the lines will have a background, depending on the final margin.

+
    +
  • the greener the line, the greater the margin
  • +
  • the bluer the line, the greater the margin
  • +
  • In case of negative margin, the line is red
  • +
+https://raw.githubusercontent.com/OCA/margin-analysis/12.0/product_pricelist_margin/static/description/with_module_web_tree_dynamic_colored_field.png +
+
+

Usage

+
    +
  • Go to “Sale > Products > Products”
  • +
  • Open a product form
  • +
  • a new button is available, named “See Margins per Pricelist”
  • +
+https://raw.githubusercontent.com/OCA/margin-analysis/12.0/product_pricelist_margin/static/description/product_template_form.png +
    +
  • Click on the button, and check if the margins are correct
  • +
+https://raw.githubusercontent.com/OCA/margin-analysis/12.0/product_pricelist_margin/static/description/wizard_preview_pricelist_margin_form.png +
    +
  • you can optionnaly change date, or quantity, if you have complex pricelist depending +on such parameters.
  • +
+
+
+

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 smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • GRAP
  • +
+
+ +
+

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.

+

Current maintainer:

+

legalsylvain

+

This module is part of the OCA/margin-analysis project on GitHub.

+

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

+
+
+
+ + diff --git a/product_pricelist_simulation/static/description/product_template_form.png b/product_pricelist_simulation/static/description/product_template_form.png new file mode 100644 index 0000000000000000000000000000000000000000..eb0e511e481abc955b3e19aa7e91f22bcf4e61ff GIT binary patch literal 50030 zcma&O1yogC7cP7N1*98k0SW1DDM3(5Y3c6n4rytTPC>f6yQDj$yStmac>Ugczx$7S z$A8Zl9^tUh-utXI*IZA`d4fJkiy*w?Xby*Mp^| zA;X|?lS+K~eUFE0!;a2QC`eLL5|e%}7M*Gp5=}J1Ve?~CyoA{2&!4%hSDuZIj=sVO zTH4+Y^74X=7i%{64%RvzY7oA4!74Wx_?nriADx^{IbEiYn4X>vfnWqZv)vqIw+;F| zCr^W|Sg7(G@{-enutTTxOP}rTB>moEGf7ZT5H$^r@cvBYNTsO~-{ak>f=!d*_Nff} zI|m0297c_hFd|;ESFc*;I!VcBA_IkJ(f@f&$Zs@8ONspRkcWmX{LfFi%tjPsPmgr` z;Qx83GLlMA;L{_gOK14w-y_*^d=&pVkSwqCR~84Issnt_W%*B+Z&}vZ!6HW|HmzIL zb@=lsG4Y`d4Pu|DqbJnL5+rCMTNVa!Sm1bVas7Tn1j_YL?lfMLk>zQSRn9Qcs9&@T z&B^q_ifmBJV#~p3XfQaLs&O_>7{~virlb3sUydXj)FJ7Y?~L`4LUxoz+g$%eZAN2l z@VnPbhE;AWhm@`LO#!vR$MQ>;Wa#Lh&sk>pt{(2Q*|eTR(5*J56IyoyP*1N`r{Hr% zpp^{qh&MJ8>#0RtuHq?dm;b)Qh4Qun-}IzFHvf8c>RGNx+eWPX>Jh8NM#rHj7?Yh- z$$v-cY_TOR`kz4wG@<+VMfv~p@G0O|eCw3iZQu@{Z%p($#Z8Zlj@Ca&M?+V5lPMeY z&+Te>PBicHiN$?r=3+rxkgKSIwOxm~=GWq> zWbfs*jLaxS7v~3Tti50qqJ~oAF=MsbBxQwcW?DaC@1}dWw2~6EMi+WpNVE{oDx?Cnu++ddrQBbz6P|I`x6e_LFGkrV}bYmos=Ne9o>x^F%Fk zbMpfo5HHam3l()wHwLCFj4=@q5PZ*NbFpCHP((g`LfaTh4QFh+f@X>D520XBZBTVB zImvFXNk&zBv?eFaYVx0~igvuKIGRv)-b2Bv@j1k95!2;qsU^Hs`XH5GT}{j5Xz?sp zJ_Mbdr**TI2iAFRo`~6X5Y3I-w4`;hMaVpqxcUPoryCnH1TtJ@4iiE!MFjbjAA{}Y zhBWkf;>Sk{1VltA2r9`&jB)C4iTlf&QQ9Npdp?y)^KjC3O`)xY5}G%Qep^OrH=8!m zgo#_t8y3RQSsr{ZMmD7pJp(QdMd!|Uo%TbSYphqZdfeSp4+FFK3rFs_HQ77|ag*=r zm!phRNqKo^jUIe`U5%#4;Sl`N$8GL$`LjJOrhWZ_W75*nAdJWa-xj9|->_>9^!5r< zJz6-OpL6!PrHqfu`|k6;`c;3i<%79QMXO>4Rt==3xcTAR`R>%aLd6WFVvU#VCRjJ; zyKsnzh-R}@$d=9b97USVVGRupAKzLkE5GzdCh(uHcZ^NAjMemLoh(!hwWxQyW?69A zrSDJVESBxd&Lk*-mK`^q#S5in2I0QBp+3_4;gpNYfV@dlt_gqYW3e&v3u72sQ$*i` zp!Y`*&A?7FB>XczhDY6oD*KCq-;j3{puZECSiYatj*cXcf$JE8{RvP#T3S| zI`Z=;@?$r;p8G~eW24-=zmyY5_MU6tLn7h%B|B7YJ%&?pe6Ej-5&1$|+9t%wnQLXG zNO%8ck=b+uDau)?P|g2fz7864KtZX~CKkoKnO|J0^`Pd{KumnVh3$bPYrL&l`sg>b z9b-NV1*tTx*LhGX@2eP^+~;MsI|}A<+G1LQrk`G3bQ{L;lywA_H^)J3+B64?ps4Y_b}5g&EZ%!!D(F| za-|j_t9f5)9zr;SM;(jD)7W4CLf#pVY@O-CfS}b;;otkXS)Uo1`Gpypng;!B=V>Xd zdTV1tOv=IWVR|x8!M(!r(9Z|%QOK%<@ihi>SJ-aYM1GiJuPyWXSv<8!QpmHkT;qv4 zM@IDEm^%n0Lj3hh4m&2kxp}{RXJ_ZQ<|S1(4tE+2d=7bK0ct&nn!1{n_D|3JK zn|P#d8Q=EBAyn2ZnNG0IOKc`gu&{AjM@FC!H$43eq!J;JFv7R~&llapladGnJ9X|3 z8y%V5w$Scsb`1BXD+vNnNIK66IGNmMs3?d7w!XZM6hE5SW3=8nLf=~;QrWoQnauTZ zTqF*b5x9l+qRg4a#D|rTka$f+rMsQ(w>6p1Sft(*2#5N8g!dJExxrwIw~y!QU~>JD z@d)9fJ1a@P$3y3mtw}GKVP^duyGHwWu&8a-no0xeO6u2-4^jO?p1vKwUOUy)>&{*z z|Lz;=-X+&$t{X}v;MD%}T{NPHuvB}MQu21~SYYKSFe>hJ!tGa9)=!Pbx;SoKo)eO{ zZ3Wz#LZ5%NNEA2tOL;!{;|4VNI@=nqK7VB3vcEyvaKA^kA?Ej$C+iH14bVO#$bdl9 zT`yYWIK`Ir){Mcqgy?Xdu4HAKufB51vdK;X68`a&rY97H|7r=Q(F+@b!=RSKDeWUd zmRoUpu|JC|mB7|&nCh-*vhd>v*4oBKTVG$FR$_KG6%L)USD|Y4%7)ZfVH-{Q474IW zx%ckqxjv#AExi#~i9S5`>z}B9SXr0)1P2qPDe88fyc7SJH~mVq(e+j^SAMzvumvSU;faim;~Gl|C?wz!cQw$bIHg?DwKt@WL!?sP<}({-jc1+f?b z6Xx5{aTE5*qDSO_aKg^vR>p*WTz6*J;8=$Cn(FuMlT~NMrkS!7+=;Gov0f)`1X^sv3{d5iY2TpE}^PF1~ z<-Fey7R8QQT8(CYy|}xtYXK*U%pTP0L=7g56lXe^KfbyjLXNvyhNIx;v{jb_u!SF_ zah~@fFTE+HkZ4W#uh%etUW~T2L0ec@L_28cZn9F)&>-y3R&&-3%+A)AefxE|P`ZPx zT={^kh8^rFCOO#by_+g4i8q0RLb0d#M#xlLoM8N(Q|tW127Pi-qMwdkEBWD%ppSjN z5=m#HFA|%H8UY;Y9ZV%YHI3}b-8JvlWaAfotlG9-{3Yz6*!bw@Vq)F0x86Y_WOhc2 zDE54O5D572B8&WuzFGF(Q0~mG2Yg9EJc!K<$<`-V+S7mjKtXuy_aM3Q-+b#|SUK2? z@>&>ole(x7@p?d)Zx}&G2GrJ0dmcpyrJRKzDbFgCFE6|;&^V>#zgl#qAZFcua4)!V zM*ezZdNUpT>Z=+hW&-LiMi5&@j;W>c7ZsJZu`$e`4VwPwQZtO$c z?xoK5{t$t9=p51Q{;aGVXgamRbli?QoU03$aeH5?oq^_C&&8V&TFiKHC=dwMdT-6g zM@W1?+;%w_>?1tf=sJaQXd#xw_hM?MXlp`_HOxDpo)`M&yz^&sc*|lj;wuc&98WK+ z5Xw-3WeuG_b;0tN|14p;*HZYnovmACpVQTD=ldfp4&PP*_CdH5s`K;_eB_Iyt-4n7uPdhtrj=;aT)e;=bwWWH}*{ zVxMQM15*^Y@$lMKudY-B!<+Tlp4JowW)u^3M+y5gNWhn&I^l70dbf(Tn!g^FD;D%88B)EaB_@*@h8AeV_8x@ z$;m_p0|^TI>$Eg9Z32&XK0Q%XN{2y2DmrVvQ(m3T%XW3p+@-3ecF0E$aSZx9x+@&k!suD*ZfU>)sjg^6=mn>W`Sr=TYqK@09=?)4+a%+-MGV!`6Ys%5#z=rnn=lF!58h1rc@hN50M3!L4fv9u#!r2V*Sk_>@@5 z*|RCE`JsK!`F&nTrjyVSaVe?iX?R}Ss~<3z_a`7j*A>*(i}b41q+HZ!i}Z1f1#&de zTYHN{$JG|?ot=2b#@lTil`5g8)>9+HvwdsK>ZbMhb6OHILxSc?Qzru4WMnQ`9bNpy zs+*m-nrttZEc;^U1A~Lxy`W(7>Wv^?ad9u%%%;&eI5H>L6}?SR)TEvl=o^2(6OmiE zx^dAtPQP~{hfz{&L4X_|zd15reGv&?Qt=~w|FlaiRi0X*q%`->J&U=S*-_7r4_6!Y zhou`+_BD@7P+$-3xFD)$vL3|(0BdT?L&zHnBzDxx1LLCO`T7@5hxadj4-B;XtYQ6L zV{vk-0T@?zT_&FtBPb#pv54sWYjo$H zVdOq(^4aA9h0fY;#_^I63#6s9^SNiiZKY(!W8Q?xU9C1N?6c?Fg|XtVw?J~`Fq;V} zV!R@!V1EwxV4l^;X-1;qsf#2+Hqt!RW`$4MJeVAjkl>%u9fqinH0ueuzfrW6qah=^ zk&%#=es5E@@u;e(h%;I6#Rr*yqh)Xqr9A+ZQzHK3&X5W{$ke<%#yc$R-n$?8a@NMy z=4a%Vy|A6y5)>sQ-gJfTdRLmtq)DmD5OQOv9(dVzZTcWhW@c|bjW3to5sN>HY51Ge zXXI2=B)AN7LfO)xNGILuu3il4_`1DRLRSVt)FBmNg%~(EI614!-W|VwvD~M*+IRF> zedk@yo-jSyZxbzv__(|}22C47&-|yj;@z!79G^Ax`*3$SQBl#7ii(cMMqZRklRso2 zkm@ge)5TIDzx7!fSP$qMxU3+Ql1aW`w+u*ofQsX_gi6oQEiv0Bivl@50htgjB&`KP zcdgA$M^6{hv{_hCz+@%J)TGW-EGvdW7rc@xXDgd4|C0TNemr;8JBB{Bz1DW~xcf$P zxJ3I8tT%jkpvZdzN{ypKof7&Q&sUUgY3{_ril&=3Thn^cnkruO2h3z zy^C{3dODMP-F8gGShh?zK>a^ubJG;_nVpWbK+vK}#4;3CoZu8&4-83*d7ytXNu0O& zq-Xf5`70DHByilM9nG@KaJIMNv_ghNDMRVC7JK#|+p|rP(B{Nvhd0CqG*ScIyYJYg zoEM{hy0#x(_y75ni+s!TO@yrB_JZqY(8E{`-IPSGe7cMvlf_~!3`q5!cU3q5s1#*k zJX{{RMh50=1c!u(WJ@O>9WB4xo2$hH5|Ox!Oh9Af+Z4|SXCz|28d;dh$BI3PD^o|7 zgyv~Psk}4|+Wk9e!hQ>%h=X-RWp64ZmB+r96)~vAs1s~%GBGk=il@K|R4y~)?rLQB zhcbP0Mf{|$5Jz*!0NLmMa-vuhb+P}kcdio*DH#Ueh@j+OHAh4t=>J*mk$hGNTfW4n zAfgkw%o7Pu)BeX3-b*+a0BdGP=D@T6QcHB%jLuD#zGZV-DP#z_8~Rj+T~r>uq98)Z z97WR4tNo9Pqtw?mCrUcnK13If*o+H=ro343LJkdu~wbx<8RPjq%N4aXWtgR|ZSZ zhEIgU{O3CV+hw-@lpB7gdh>#KgW<(z3h|F0g;)NRZ!o~3N4B)KLjC#k=jmtk5zm+k z^?C=dfXIkwn3+#fhI$ZYR8&-_3RAbQ2W3n}<#P-dZGZc_K!L&Wj_T=6WEos&e}@Bo;{Q)ROyM$W1RD!~(iJmL^Dxnn;~w;* zMI+PwX*}3R@GmYufDIX?)yIEncrifgKn`!{r)fAp7rF<=ix-!}CAp|r2%RGmY%LYgq)n7XN&!* zGlw&oawt4Ig=)b~b^iv4u@Xgh5w+&xWZ*p&e(9sgs+;`l1(#Fg5YNYVb9L@OJ?eEs z`B(19?Rnz?1)(C7)>-uUk9c^d_c4sGcj@DvLdavYqn55N35!?`o~A9l8KBFQsBbiiwF4mzM6jpeI1L-6oMteBibr-bnj0 zmSwc`h2+m4?kkrCLO1SB+9#$yDuy{+X-E>{Y>Nfx=z9|r{0<%T82T^IIICw|)*I|^ zIiP)DbxwYTTiuCpeUFM7DShYKAIFaj`5+2(3~RWTY24p&n7rU?9OyDfv#Nt!1;7SPZEAI zzJRY^p`Y%Ikjn}lY^d-%BwjMv(%#B+3}dE|KkP{6UCuiz`*5EwVtT+w$ZvzC6Z!Ju z!XfVZ+7JlL9sj$4pty7USKs{|M^$7@gf>SamnGFb)LbBHwx^IIPs7!-Ze?u^m1bPW zdz*iKW!%X^$X$W@csV%hq}#8Ig^f+h%8IDF=z*%+-QeAfy4P83>d{s))YMX0v-^H1 z(;xqx2BEK%Y8Aq6+Xazez{URZk``luYU75|T%A2Zz=hw+)w0hg>Te}xo#7A&kXn-X zG5wUp8hrOvIiMl@NoUL&gjioQ0xnkDQM+_kv*^+A;;^KI%ic5L_6sNorN`ZiIg_cbpZ7nfaqAG5(Ide-LWQp{h`0jT z^F09toye4ZLmI7e=Zb`w6!fhv(&rWp>t$N3We;j!WJHA5k*=q%=d^`L(s)vRL-BKn zuUJyYNJh7{)}aL<|4V;V0Vfhy;r8KLIk6Bo{bw$hJ3U^1h4Yl(m~e&Vh8|(La+Ksd zdtVwJHdKvfexO)MjSpzB7D7 zH|HbSN-}#3m?kG~_cs?^l{H))i=%9Q^9}X{{-{I+v75=(mfHIX6D1`jUh*`4&8Z|7 z_lcU%(AQY->Kw<$`za|YNckUd{82p6AxmTF&+qQ)UJBHT`vSBCZQ-(sq z^9%wOrOy-4JQ+8BJ>MK27!?Wl!Aqc}P0!5ebo90RZqi`{4gYlK1v(3pvzj`q{67AZ?#xDT(D>)87f5~rW<)?wDgp2ztD^uq- zOdZe#(c+Z(K5V1EX*7BxC=o8WQwIqF&r66D1_A-(a=G3w_-JFg8okbxx2&ujLUD=ITO?_>&OUPM>Bo`N-N72Pa0*m5WrO`qIo`>24Kt2y}O$p5qWCHe%iZ@Sr z;})Y&=I^$pD1%i&NtL|>;3YgB+Uo+-g@QMfZbt%0gnUTPpFg*9bnISg^eLR1tC92^{^1rR@9t%DCwa-+pO55y}3+;cDC@^aA&y2qJP1;$U4`US>i zMZlobxix4v=;=h!v8xOYW*r?Jv+IpR@RNPv=y-|Hh~uHo(_SoLh=qf#yEyv98?sVSPdC| zRv;Ee?3kNe{#-mz` z-(oIA>~i6LIN#D!t?mrfjf&3a`0)}Yfx{U3@u2ZZ{B9~#)n3adr#Vx3c8)5j zVL@DXz88GZc&oiIwWu@FW(fs((!GEq1*i~g=AiiKKhrO=PAZ!}VbY)U!tFZqA%?LD zVlc=i7T+(NDJw)b*>N<+e@hsK5*Ej!FY6Z;9bqLChm%!tE%|}`!2+XUH`e^<4b)=w zKWCC@q#}NMWqi~XXMN?cOa@8ts0(=DZ)^4ak6j5-gn3+g6NK%i2aS zZ4AlyR{yO9kR2V6rA{v^5wOK~=$xFF`5-nbU~TXQ75(k(-o9DnDbvtDw8&*gym6b-=Fj*SfEA3rl!h0>+C!2y-!E|b0~Nka^ZQaKK5;@rzdyr zHZkeMf2$eTtUxY746j}LF2V5cQ{Rp%V3u*RDQ+|Sqah(k(`%bP_JwC`zlVmzEL`eZ ziHNe|4HAt1eX27VC5sdnkFEBvq`Q@XO8dP?GMVa$0&zOqLWfAPN(f>;gLn-zO9fUM z?_aE3_a$=JyJf`}iPxo>tL97;7_a~LrK!He1gMzbTvl5U@0U3t=R0`Hu@{qN%I3nJ zk*idysOzY3HcL{zJHG$#J9xSm4~{VkREH>H)ognH z*VB4=IIh;?Z^f z7@SkND^H`4+r9c9FCMxzMrlxA5Jv}`pOV+9K=AlN%6>1tT z$OWZ#QZ?i){~ZxeAvN)UTuZhp7YPGE3-}NUS-O!*0 z#fM@N3|9+cEdsw-TMB4P^!c?le-Ah-;IiMr&||?9AwwS>8#^~qvmXPc4H*BdZgd3- zU3ZmW#>_hQf|-rhzwZ!HkRtHp;pX0+DA~F2#)i3JFDUqzSMF%#O%xxvH1ZdMQWp@_ zj)z%Fp2mMmLbl@5_s2}ku(So`VDgp5dR6|d3X$$w`8?k}x^h}#GWPE!K2)Qc9`hH@ zR4}f-5`NP@K>;-?Xt|#4PqE?A? zQ_-u(GS{4{8}s$=XpEG8@t#U`=%l*GZSjK;*H1A($Csnv8PM24+HK$p#BWxx|vGTOOe|? zJ(ei;0$6vIO6A#qs%X0Sw!`IIc#___#vDF}{>05$Znvq=jvZX~?E~TK!9HxEvn76Zh(b5^wv!JURr;eVGA;r0FYe z9f!9FnZF7$C~ELePG+yOw^Upy<#9CjmCLqxWoC(#;#x%f8sl?xbYc!mj~)wv>OZ>_ zcuh(UsM}<1albzeQBFD*0`|kz>T7u#c9-*u*3K>7=_+;v``zB<9h2f%PG)9IUdN<& z$#pDtThnOWVO=ZX0_4orIuLmp`}lABYR0_7z~0gRgZ zzV)plK8HC^=z~yUWWskJR>Ku2NV(yDn*^i1Z)o9jSy`Lm3`1LGWpN0^aA=_|Xmu(g zG7@f9CB~`A9Oi6iAEs2r7G`I4>u+UmU(Ne*I6Yf1sOOe?U@p> z5Xi#9f^wN&P`reEErWWUukl#ci)~OzlmY6;4Co@A_kqBeuT+dPD)4YczB8Vy+XaF@ z+Dua!smzub3X*+^2eQ9CmQJeikAN~CuCX@Xn{|9~d#T>` zd#Y}0eSfC#&G!RC(q#*t_u<-JP%3#Psgfg6rW= z&&LPK@XPDX)YZG|QgG#JNuol^8+B(w<4f#}@ zLKqVx`|d9W75Cm7o9i>sOW4>C*h^Itm2Hr|Kd?a*ge0f0{Q-Dl3I8EVSdpWaKfo zE{vb2379b5R(uZ)MK&`tgBY1)5%arI&$YsMb##bGCi7sExSyfBTm5g`l8i8ebO>x>tw;z}iQ zuq%BwB`j4A0mWv!g>t#_PZnXBejgf1F`oGHa(lpZtu592aANZ?od+r+9=olei}1ie zw1aUd>e4^OK0YvI<>f!+X{>L~j59b5$;iq5x`7Adbam8|7zD)Mb!+QB!d7)OeB%Rd}((#7%bvtP@w^xX3W#z za&AJWT+*VI3MP2(PdVI^-6AO|^7%9Rnhm!~wMD3q4{Yn~tSV!(N?})vH;mue)$uAi zC>{eIxX$Ile2wQLKfqJKlsekUFK+AVf(7=|Y_(;#Hw;`vQc{RYrAh1JB1y*kP?kR( z#|w?F@W{xWeu%gc-@ktarv3EnY{ut|_eYnPVnZo!K|Kl0@s2U{A7FVekI4vhg3?3Z z^Ua}D+^>_s`^NOVI|i~tPtOa}sUlG)C$7n2&G5A~y$~W^93degm+sK8u&!1gIBQ^! zX;WLpOTv}O1_p+s^K(&gad><-qgQLmtcEDk z$vm0Wo}d=7t*s3L3C3l7-|nAzsXMX(2VrC^#z-^-mm|!UNrg=_CR5`xQlQ4-a=oB~ zq=6Fy@r|0fz4$H6`T=sJSaCE%mOh<^(L-yUG1lm~JwaxW3^KphEb& z^C`{1@Nis>v6dFWXRxq36L|{LAn8EBh9qUVl=&T2hlby1qBoj$d3o6zR7UDPKHNXe z&@b6HZfY>hii%&ZHZp-DS<#c2320~?r#P`lBFQd zu0bJcB*lPlwmE!fcC2l6??JXHays!CLtZc-p&MaRShe}#U|$ETN>lxqT3I)?cyhu231 z=hcnC&UA$E70E~Uy|It5fDCkn5e0*JhQEg{R;&H$>-%gx|MDvMsS4tBbBOZ_Jr#uO zy8x8sqvdv|!^TTAG_*8FGoTq_;h5a0tgWqS-QS#pBH*Y9DsFB(UWdIFP~F6AI!Q;T z(eTpq@xHp`Er67+7kjPApz6W#K+R{#ba%2)x!NLGL(WhTQ%g)#loZrNJ-riG(+x^V zX^N^r#eZ&oetBo-+Yc-$%%7lORy)zJbCvfeH#av3g6^-+5q--xHZ~Au5fKndj7G?k zxUAcj2vLdoo`gB8t0Qf@{TXZ$k1J9-diwJdv$-1d=KG7pg*pOG3$4y?*dXJv!l%&8 zf&~K#j0CpW<6*sSFArBA?r*uQmLN~tx6iBl4?wWrMlL(MI~|IRYX-@n#%3MC#>U3# zV2&FL3#+BK_v5t3@ro!2ix=Iauq9m`U0pgG{qZivq-oAli~w^1QyKVW(5wdiUh+3r z9@@?em~~J^lOTXf%>J;bHG2>NJ@|dNYQoB4GANuW&}=3K(c4xBq}e2HTUcC1jgAKA z)8StqqE-T!KVG^(CmaRPet8&_2mlif(&47MR{C3n$psto%>-X>l zmkk$=Sa?TU`#XPcpOgS``5WsH*Mq zW~N_O)_Mp68xwr%&eza_*~zyq5RHt_+>~^qAP}jG#DvCGuk9QVZnGiF_sNjeb0k4d4|O6>HqC%S!eEYP-6>Ts*#9^lb0zL%g`S zaDiFr=;(L_0uyY3Xp?^a{wtvF6MGcMiSu>#KERV_&}<3;SA~LDEH;J4vl{9wxB0;e zG4XZ3lykr=j3tNgBKjrI|q_F1fb>c_TF9u zOiD?#ldjIr?dJucr~w`Y#Xmov_UZf}ni1~f^V`6rm+19iXg}jJG&IykOVjNRTL!@k z(uZ=X&hwp#`~Xk^PEJh?51KyO!LNRa`276*TO%1@&*<#T96x? zDvW)=wKG7a71&~?@=M3e@#l)vd3_SJ=2zYB&!>dFzT_*?hrDEl9vmDD1bYie#}LTo zVDdX7qZ|!WpRy(@kh!yPOTKmLob60VI7waZ&t^|K*74E5__jG;Ziw2}-o6aFS^&>o zP4#?0=idc7ymF%pdlN{z2t=-65J7DN?hSq_uOkXTplD%@R?EV4noVlcGMTd47l2!| z?5wT%YPb8hwztE8BU->mj7&`p2f64cSd1_EoUGzgIngJOOxQ~6XSeVDAh~_^Fm(6uhqDB8SgEu>?_5_<5jmN3*(uT@|kI( z@w27py&4)lo9-3yn!f0yj;}mLNi2i;ngM8Q0UQ5|shhQ)DB)qCJNUg)powmqnwnZ;+B-fz ze)1DCG7LU`U0TvQ1BKL(VbHuZS7Qw`RjdgIA>_6ZIee=$dD#Jam(EVy&ql4V#G;r{4dzl$EuhM>W9jq&kJ{%py` zjv}@E#|j$@|1U%WZ5N5R$5Z?7xW2y(O8nzEEWZ&tzD-i2$z#o^BBH-h@o?$--%it!Pn`$3$Ad%OIiL@(*)rZ3lnT29*n- zkL9Nsz*6IV0Noiil01S=Hh_#r`!a6TD%g7=pPD_~eLm|3AmPdC3+!QHVxr^XQvGs0 z-^o;hF)}p`21xm*k?ql4UDz+T+)LjB)18eCkh-8-@{5~PjHPsULH<kK;i`>pkng%BtbiOc_7F9 z79BmZs4H}y$#pOS14a>YbZQ#%$JRg1e)ncVzU&)ju&C4O04|fAk?XQ$e_T-;mWYhW z>iPW3g&YC8PMj^JW?F}iL)6j#3!mwXg0 zSE8y8;jj1UO@4~a55m{GN-9@xUTB{c?ZWXQs!9eWh0kydP7^f1dOk0Fzvgo~ZRPHm z$%pC^;;sVbd(6$qCkeD9GZ)6)*{T_M1O)kxdolFLx31!uvTWuv@;MW=&Zm?>>aO+N%a^C|_4WOc zFx1_h-H}!a7|Q#pU4C38C8Z3xDzMLr7kideQ8EG;2=JRQzwT5cNFYaNXB_}}OSq$~ zD>PJ%O7BV+{Myu*R?9P{>sis&Q z19P<<^eZ!SJF~Jfrp{aEi?OM3Fe`_raiL13FK1z?M@Stx>@LR?-9p8@Jbj`X11_=Y zW;VSBxhkHUyZdnuRqBuF>f!eG_AQtBO`RQQpl&`*DZ2(99v&nOggn#rT!qvZ+Qb7p zR*K|inym%NH>Se~MhTjxrd!gf{DrunEm6k~NI@O z;Z;JBKPkGQsLDxYN~{9VS|Say_~fJ_e80VB_ld`1+)WWFS$e|yRwUJ9s&T*nZhhqU zRR1tll5p#YY$spVH@G9MmFz4CWy8bE$5KkBLD-*qnb78U?K;ln7MD#nq(JIh!&z@# zYXZo<&Sj@tga5&= z+#hw;$C`QdiWA#h_6y%qjQH!4>gs^lSX>RK<>!r1>5^~wP4X2*Q-Uv?f3U|njZ)Tj zny!RK=kl#HX9JZ~YrQub!Up3t-|VURl6w}!^SD75kPb!>m3@4Cn9Zh{elm7_r;xB( zYVl@??woc_FPJJRE2=EbTGe-#iOHf%<(#+O<_Dd6{FE{&YAa0&_N@MaG-7S@b|UW= zyzqf!1)3zw^q(oDKfaG?VU1Ta(G~kMUBYZl8^hEjCszCEt*ypMrrFjKJ#Rm51?Z|KR=gK zb?ESH)He?qpXhL6jUW2+vQ&K#j7(@lCsd40Uqfx39H$y+O%N|bc%gzwA=nJlmf_FBY!MN zWyKZvzj}Y&s)3g7h#x=nBB(exCb!NQfR)0C#<Rf+ST|nE1A4L0 zB9Fbiw)Tq??MJC;LVSGg6mCTp%Z0o3Y8P_j;kTP}5>&F$oX_OT$ACbb6|tu|hl5I$ zgo10Tbi;QlD)>$J7pe`%T?9_&6H3frI|iNUl863rZvcT76c-O1!4U^x1XvXF)xpmM zMUsDJ1S{YI(B=8b&Gq#Q_EOO2{sd(g zAS^&nXa_*^6;AN-`nn%btzt|Uet$ax=p#=dKO#08PuvX1I^g#)#HEM3Q<+9jtxhrL z!Z%&321ftZ0^D5e=PS)tgK8ehcotE3f54Ie;h-{`8vK(xktId&^Ma9?86D7bAlTtn zfkyqN4zCiY)Gh#l;pGnW3=MUGut0fv4peR*SY+R(XaFT!0r>ILOIy&hQ znwJLg2e%@L*#&lqX0*}0HuHg};CxwfqfKH79Of!n*V>@L!WSy$`}gl>CRsp1E106H z1Tqw8FrLfc1h=OW_qBW6u!zSJLqT3o@Ab;+s^4}zL<d;-e=gZn8y2Pn7`(2w)M^V`Gb)#0D-gk8XAaIxh~ z<#$&x;z5CcuPWe&b0MS2NGGF^{cfA)j}P33nmR@G(;myFYgphgU2SKlYU%6yot@b| z(Z;7=&o-E|vu8=%n>cIt9h1$;6OlT^$zdoON4cIAvw83>EovQlwCSRYaJ?*B&`JfE zMfs);7j`$-rc`E^)eKCf%PG&s+S*pA4T2GLAdueDHQwGkJhb~Gw*!UHkK}UE{gOyW zSNBQh15o2hmjWGB$}li6`FvW>*>H1e9l^sx`V`0~HuZU}Ey}KSoYKX)QkB7|+sP zK&Ye=eE$(Oae!H&>(ZKY@I%atQfm^{8E`T{r$~Y1HS+TvTn0J%uE}IUyao>khhm&# zB^ziRJi54;OvJ39lk$O*YF64Gr`z7%R<5&q1H^-=#{l%=M zi|ts9C~y?eDxedl*no^tR8(}end)h^JxT!}!Q_>9AaFsL+;8lFnA!%KX$%LGMqEii zSMg7vkqgfNdI&-a^F8`Py(42;S=n%&0xf9l-L=;RGVlbVGSom|`^=+hmxUmZ0Jo$T zfdv`sQZrv{~1{ z05T?(v~PI$a)TBanK%w}{EdOcfV(?4;Arj5RQA1E1X_LmIidg)6B@vqSNqkAz#e%L z0ruD@V7CN>N-PUDv-vvg?l7WuK*W31s(`UXMoleV zGxAF|_snD!4(X+r>*c|A<@cN*4UcPmv&AN&L{3YNX+W*0&EO7x5-CoSz20<_EiIhD;D zvOwssU%xGh9?53vbCV2;GvJs;{&`@vumH)}k-;h^)7 zU?@Jj({^U;f!Vs~S{~UD#Zfm&?PnZR8B9`A?BBJ)n8)mv3rS#^k7kIWnoJc*)!M9| zh{OX=Ar5#9fWoy64TXbF2xgP<9JkbV@No=4V7eW5;({-$I08{KSLu!xnLp;P(%GfQ z0`z<-fZ>eCbI`$#+-!hq43>F3h!J2<7)%wZgG>+=9qk8nI1uGPRby~=kvxb2-pm+a z`!Njay+8sscjmOTw9J#w6$Z)3GKW-`kuoZXbHNG3s$;psz6uHnzof7*G~g##w2C2M zB1Qr8j>K^ zb%^+_3#bcd1ySz4a#S8l}pKhzO)IvGLS)JtIWOtb5IaWhVy2!qgfxQ6q>iXcJv7dfO|SM*mFSm zC0|`Rf$yxy0c%Ev|60$xdiKrd^k-lJ>w#G^TWE*}%~(+}G5!EFV$;Y2$~;+NJhqY2 z1W$1ybJ^-)>K#C&leC39FV^aBf^M467wc+@vL#RWlAQ?ttK zk1!Cy%~F|x+tF>tVGAHSpS2$tKwwyDC6fOHGvd6#jTSju%yenY4sw}lu~~(Svoks| z@rR7}tqw&^fxkm%fyx8K)ylWToEBEZa7GR4F3Ts7N#tGK377Dn%iR%(Kiw88QzgsZ7Zb5lKi$=6Omo z6(MAvGtXs?ecZj@`~7}*%pSkMc+uVRS} z4Gawx);Txc(rnU{tsXP(gu882A9WQYcXSAaVxW zrc>&fk51qGj8TkkMD4LNXF@8O+#}U8jP{xNd#+Yw)p^wxzgS=gf23G#vNrhi{Kr=< zIVmD}qLenAnldIMo9^FVJ5BGG{itb3a(qay9F2~e%qLaiGT3dmc)y*uB%6!=WzPt;_j_wFrA^;d~|@}wNK?zv-Y z`^LCFDm$_fUMLQ8)hzR}H`KO?Lh##3@8v{E#7Gcd^Z z6uVl4cl`LFYE)k*{<}CJfCdRgJ8Cum$)mNPeTX>NNDm;ooSUx~4?@{eZSWe4GrN8r zd8;AEN~ha>!xba?*_oN%F8iK}t}ape*sM!FvrQ0OgERK$m^)W zhmQv8%}s1aHv|#TpfL;+=yBOYI8~&Bv2gVCrq(PGP@y1^48VKep6NZ`ar`FY&6X`& z2yzSoKoW*u7VLlhsH*7X$&-&3drB6Hc!cf7ZuB0amJU8y))*&a5uoEV8Yhwwi0nAE zpmgJ+d#y5aAhfH6@@AP znHiJ1$h?KEkAM9-b@V9b=C^&&HRI3X7DM&vJ=d>OVD{KgEufyF%#NDq=GPZzA~Ats zVPV<4c{4FE0!S)q7}IV=>ldR|BIAMaCUC`peGUKx}b(` zXllVafL%2v@8Nu=yAj2!7FRIzSjOg9?)9X3t5dSh(W*k+=fUXL_?W*lyID?!MkW=9 zMn?K4CGGL|-$9~sNX&%;IqK%}+|bhUazolpDFy}x!dePZ(CEhpy-ci}_;ELuxVX4k zpxdCJpz@mmq7PG3xj?uuMlJyXn_K_WHfNRVf8VJ%UUuA-Q%LA#k+a-DpWbWBB5MI9 zNz_Y7V3n<{&#}1&rlxk3#s-MhutdA)3n!pzC$OZj{S?g9u4NcqeMm)jzwMS$Xvg~cItd^#F%YKZP`{|D$$)TdJKg;f1+6~! zfw>SzL@xlvN??UVI&^Amzqq+$hc&Xlfow#LWrAXguC2pdws|!QOVMqD+f`KCFNu(+}wg+(J&DeKVG8#r%OrP35=#^h(Q2M(oH(}|@%+4lWjFu<*`$^5xT~0$YzijhH z=M)qaJUVAbT5;k1D1W7}fRNf`qeQ|1G6vP+ks-E_lMjrI)gViN0sUR6wzjU$2(in- z$?4h4mtV2w+dz0~XlOWo;zR>RAZ$wSE}lC_0!oAdu;Z4kTZdT7+uFi6)`rEug!6hM z)x%efnM68-t%3kW8abTo5Xm$&1Y#G^1yx@RVN?21=*WvN9)qc$V~vlG&j1)C-``&M z^k#J0=0RKl=n3|u0G;PQFt}hY~x*|?R%woh>U%3;qB(FJ2>j=>OPkp5ny)) zEC5cEfIW$F(mtPx`xW}t8HLe0Q(LY*_ugV`s3od1-rs*87DFUhIV51xwA0rE>||a2 zZjhz^_{kHt4-D?^?%K|iXOflKQRW@NBS*m!2n50Hyl@Nn64bm;20WVx7s8ATUeFG{ zs3^O*h>#d%v@K|2a-Et_^EZZAThwHBC%jWxWZ~f0uA-8l!HFfJe!x%CZFQ1JDi-FS zm|0lnYuHnXM2S682gVdKJ2775;^OM~&=(OB6;+2NjE#Zz7;RONf=ymuN0JH`Cek-G z)~#dbrS7}>UTLspIKQy9bDobE2d{!uJ+xP!?)hR2l^6<%-N90zz{ z)hTu@x+MEo_yQLz;Lff1800-iI?^vRr@0xeH}&(FtVMS%9@fx&Xa zn=5<3==%Z8hrJ25R77&}sg4rV_=I&M!=Xc0tQ6HP?Ze(Wf6p zMF38SZcQ*N07)nYl%#_P>0OppgVCOV(?o{LvNd2gro}~xfBw<>-Ci0&sQM2OL9?Z> zsOYheOuTG3`Gl50o}aaK^6}$)Ig=Q6_WHCu(I#tc&4Vlv>#{tzwR_mE z;q|33S>_jfrXPQeHdTN5GDrX*6jFl1!iuOccQA@nq0J&>J-7{Bu{Wqh5BNC_GqP(J z3gSgDK6(NQ5MTvA7^NmZJ{(CcoTDV5#MZ4CFV`VNsDaD?0Edg?ww)yb>(pPw4yE#0 zg8c>t&q0VmFi&~}+}%*VFm$<&V5T{N?y@6iN5+ zmxrLrjfdOTM>&zKbm>+hetG5-J(;?)4%#7ceiNbBUkKfd$=$ms7M{r&&`_;O(UzrXXt>)#(M zy!juOydEZ-6kEj3YA^5Lz<2s|^_v9aeM|X1K6~P%9rqjcTf+MnBP#0MZ8~ZrlRM2ghCE|7JHc?l+e7o zr5+;n%S%hwVkN1goTr4=)-2sg-O!@*Jt*Lh`gW%3SU~5(+;(#;vBKXi8lZ^yxcyma zOJO9woAn0UUktbS`0d*V2UYoJA0ABkze@g+NiHfOC$HbHdnt?*C*-y!2rkzkcsni& zZN>+v$edOFNR0EDnO9ej=H{R68yO+F-P~8MvWJeYdTyw8_V;hYxxwn( zf&$VR>?za@(Ld@EGc)<(uSR^v)zef@5gX!w;F2m;Zd$2f!@68vt8i6$aQw9i43 zMMhEYy^ERz5l|o94h-!YGK}S;9Qr9pKz#udipB zOh0}i?SKyzg*NKLZ{MyJZ>&3iF|sLUtf{qgM{6Vej5#f6A3OkKhU;s~1ONd^neE0~ z6n~`KC@Iq|jvYJZ39G^|a8Y;f+(}R#SQX=`NI=;$Mh_R;K;gZn5MdkgPC13L6qKOl zo{e=WTU$O5Ljb1y#avf@d|q>(|0*!iT@-;i9*}$$Z@q|TgUN9el=Wh(zSyh^=>}I2 znQbK8jsGUAj;o8NA>-0=a>mn9O%px#3-Psr|KH$@3)4YF#-sHa%CFUazltwNC*r^j zDlBM+VL~=PiQ}diT=Z*UB?_i3RgqlRwne+CS5E6 z_;mVV0rA37hTpPNb!6bLSB5?pa;7&Y&Ax@%JH%a6O;Kjs8j|}LxvZb6AAV75H`?e0 zYRq*M#J-Zp&^sZbwPPrJLRiYm%5wAb)Ah>9K(@7OouKEGH!d)FYZo~+B&+d~ zw7l2y2@2XnN=8-M(6CEfTpWFF1oli09q=(2U4LE2JGLP|vdBkmd4qF+=ZD)$+{Mw+i33}Ugm^4x%v<2nW{=PO z7&LMeWaVfzAqd^QQY2a?H}M7Zzd(3he@HWDG90(K$e_Ib7^Tx zr0!ne8mK1%U%sRsTv!QZReXrd%HzK7BDOlgOLG7IeS$s%%M3E~;e4f-T=!Oqx;-D? z$;1?Z?wFjM9LZiT?ZR)Xf5Y-W3*?vLwmYCiyeTL$n6MYMAZX)bP+9#dz~eO z}FqKN7XP3D)za|tkpIxJx2+*`T{Q=z+E`B|n-WN=f6 z*lYUn0R_sO{Q?3xCRz$>qKC_Z(!H1FP3aTJXc0aBjQn} zOW47Ib8puCt^(~Wz z!p`mk_9_#)I~Yz}hI<*Thbm*kt!#X7R(OBv(YqOQG z3=SaLN3SpW9PHjPxNxfl{T?0nKOw2bD>b1HDbeg~MBs+Fp&qr?XnWSU-J-QsOei(gDYx=}`a-*QT$hS82lcEG%r> z+L>KV|299nxi|$b#J=90>cpfB-kEgBoU-RXeWj@<=#QOoo^d_S{Y{=);V(2~Rrqha zD9z_%XM$1&Iff}j^b(c%x9O9%y({5AovHt?yGQ?Rkp27FSR1EI;?M9OdHnsm?Wwl5 zoD|t*<2$yuOPk86nYd`2RsLy;O{L?TADaID`R1NyFcW%x<1x5If}M$9FYhw0u488A z-;~t+q^+Z=yZP@;33UE)s5X;1;f+Fka5R0g^;Q2JJC^p%A7MMI?DrQ22d?^R@unyz zDN!r4?v)}Zr#`a(FQ(XxI_+P``(OP0KSOD+ss9`3SO~4mB~QRQh(Cz3NlXmB+ox)R z9eYD5vM%f^*A2Mfug3m z^5153{zf><<);_p07BM)eny8uBf2Q_>dP?EO?1AEypTg21r>?YlG}^z*Z_U(e zqILOdB+EQ(KGpitI%BvtIs9Or!)dQ4`{tul_lRrwd3pvm#(nkTv|3vV2|n59m72Or z-8z&W98Bf!rBgb6FG6@@`ax5IK7iX@xZ-W%za>~R)y0ygYJE~8`-ffYpXK3~7o&U< zE^Mk?(njW0rv1`WHeJHhm(#PZJOA_cQMpgO(^j9mx@_u~36LKOx-Mhd{Em&xv#eVQwP)Z3LHjApy4uiS z10cR*XLkavaAMr=>Uzh<<{0Lm=sW(JrsdEmi`=LiUN(-7*ZY$XCzoArBKH%UjIB9& zo&=U_XWH+xN_z9g;O?E7`9d@7!89(c%6S zL5qs)nAIO=!3vkJs;AmqR?7o!QFookaSZ1}*tl<1ZHIGKhS47@IHXXsut@0-^oI-H z-5Yp)I9z1Xye>L`Sy(uN*^i#b_f zN=~^IEwqsTav!5$Q=&4c`K1==hs^{&F{VaEQ%!O~-Wr^a?%DT^?f<=Ww)zeX<^MZ8Y;V$!&G!qmZ0cEnvU!x6W7Oe-X9Kkm* zbaorA3&PZsHmExA>cN0?8{;i%p$wf}vbN*O-aMO%KUF61EYF|Gv{dxNkLMa|Czr;O zdI0Pg_pyt?st*v?)dOWN6&Y!Yx=NgOku{0SS+^5cBb56uUZi4Wr8_`1^Qna1<}`n} zPN-KPn##U(CA_zFW$sR%t&aDTs;*Ac=c9M{pk_$VchbGp|GLZCiS!Jcx5`~TEi)&z z+9Ny8+1rsF=3m$?Lp!~0qsHExwA!@X*S<{8*4C!nk}Oo(ClP2ctjem@?#(DVHqhVy z35js6P?sewjTME!+FIdALxvb5V@|5~ykxknzsRp^)Y;xqhxz$oZ*pK^TDaDRRGs8$ zR8+;=fah~RHMFX#J`4&oVIaC}sCK}cMykJ8_qbp#-yz}V^bq%@+j~nk7RaA-8eYq@ zzT&iC=23Qga=`JYEkmtan~bCrt&ouNJ7tbbm2z3!^wg1}dn&nV7Xw3IY&uuqeV<}S z@oFsBv!KSuzOucKS?FzMO4T3>ln-IU;Lobf+Lt4uyt*!1fw@$6aq9PNdx2d{(KXL1 z3h;7BOdczzB%v=p<;-l`ap!`Byl$5I9e$z47>TQFH)f78Gl$o+r1WiwO_{Q9)N-{n zyi-y#+wz?Am-A$U)IpxUrVy8<>om`vHHPusIir=|(ic#E{ZmEUwe(<`0I~L+o|`}$ z0F#@uv56!2WVmqpQBe*bM$z$}-#0nXO( z*4C6v{`3+7mRd_rH5b>Xiv*Tk#%$$YijjH*#U5LwVHkYbD#fk$rP9ICajv$endFO3 zZkUAkhVI;hjhV?`Tr+1PmR)LmJAb1|=sv^!vOVW!|Bve=E~h8W*_5^!w5SAyuZ_C@ z_+YwSL&CoEo14(tv+0iJCq2m*jDJZ@HzvAj6i4vV2&kxhcAq;!677EWMZBNHfz`JC zTY_1?`f`a6_)y#wv{_)7chfdV>It>zSRUyTa9D3Mh8W^Fl-cCu$C!%e&vMZ)R<&jr zDJF+;F%_+nk*@q6TFn#RbQ?bW>%trEz6XDA>T&;b!cSssemQuQr0}%$0TQN?jnI^P z&TWNTw+lIr@#(nmKOEJOJ^Vpa?X&z!W44aoD$Sg3kfh7nx<=vh7 zCnY&K>F@F9#;tYRI&3g-Vi36<`tZoTNU?pjIEA9j;~t0OWR~2GB;_ZUeC}?jxgS$g zYcnt&p7|W1g_e9;h+f(t_jE~z!&_Hs$>R3FDADl@hXzYfE0$~uB++qm=zsjVaOMI# zw($c?@$8GB;;%Vr2@yXQF1!5*C-JMhG$|fV_H;j*B6@w48Fk# zEB+7m)26$3TXRV}uIB3T4DHBP%{QP~Ul;Q|&=$DgJ5#Txn3q9}Av`tN?_j{~u^Xqj zc9_;CrQZEi+thqlBl;YbgtC85n;9v{j&8Ln(ktBhlBVRnxGc80 zwrk2B32)I)vjh8o6#sc(@pAq;MWM*ABM*xjqsqOH3Ek=6jJ=hoUmj}s00E`qo&WXA{#F3>wlb#abwVJ*zd6{ZozW+)d8!*Hm_p&GlrwjiY`jA+*w-! zFH!glAa~UVmG-9hTGT)5+N9OhTkOUaek`{4v;rVpmaly+-@{Dhmc~)}G1kI8dU-xa zu|Q5u(s$xq1b=f|*8H1?djVNH%Y9K(e5$M*7#Q#j2na~=GN-9#WraiYz~HaenJ?9f z#xn*b`)_T$=KA#E<|3mkCueq4v%(3PZ*R}L!eiM?BUP>GbM}$2EJ>|6S6Q zHz1Llm%sU2k-2g9tq!@+iu;>LwWApM-l|k8*R5J@L?lGJP?5la?LM2*pyv1GgY8_T z*GeocG-8Ew#P-i~JP!-|6jLrWvV3_z31;mhKZ-eGgzt9LP`uZsF6pmWcZpm*mUQQ` z1c~(O^P?;*-pqdMP7DVloO`;=l-TFHT6OgKS4qCT(mr%F_Vs&>Mfhnq#VI<=*5!#> zcjepmf9pH;Ml=7xz0RoCcOmR;3$^;y%wp?PQ4-YjWWU_$IacVz(Yk!YHy+5 z!FluGlaWOamd6y!QYQrk58Scg#Y}U{ey;f5$;lc;d4Y)YJiGt0`~sW{7{ zx)PRL8tFd==v1%Rc~{rfS%@r-c09a?PaO z*SfOWS}&N02wD${gon3f-cs{AYd0zUOOUteF#gd9=^Mu&!KVmt$p9=sb&Ua6##1+xu( zZ8$c3=kDFi-^nX0`HFF7tVm7H!Zg)(LxZYqS>wkMFUVg>H!DO6@3(SxKP0mAO4iuA zgCho*rR7>?O|eq0&w`rJ67`q#W7p;Oh>m7SEpDL@7nk30=*jV1Bhy0HPLgeuY^X{f z2kkoDnj){)WA3g){z^He)4?M)c2|!+<8kKrz_75-6+W!ljJ*nRg+3RxHHeWi8=?np z38C?h_^N3c{o<=p$AB|i)7Ze|Rm6V?A3#!(pp15nr*YkAKIq|AUvd$+iZY_5+YysNS1^*-17x_Ycm5b9pjvw%)58*-ZV2eSEHEV z>Al`Nd`afYmAnTHCWD#=d&`=Wx@L;=^73d^quDE1ezugYJ~`{)==3x1Y41>oyEPL` z95wP(#P|7ybU8v4Ksx!rJaVT(3%93xd8F z39u=GSQzM&8r(RGNih7nV!=mus#d$TioH zCTrOLScrsC2Efz(sjH3`dc+o{j2q{*LpdZqstKU)9&A zw;K!#p+BhjG0_SW|Jz3Rq|Cs){A;N>m2W{7q|RhPZIp*p+DyGP#M!shN>rR9g1HkWpNrCwyGe??N^ zv#iiwvR9GWub|IjFPE~fSb+G8gnQ0$?Cw9}m|IS8kl*HMabcVR^n1 zofQ)dXlcl(EzvYNhzGnr9a|xwl%roEGO}=4i$pH+k>0{$1gpw>L7L9EHm~|MSGo5-&VIg*h!TAY(hn!^ zNK2Dp?$;VQG3->?1T=~2uPNKYuD_piwtRwPFW1j|&vV!-e4J+h@hOW^?LYb-VsUum zTqGh|GmP(y*Pw9YSPau#84oisQirK_j^T5zID_8N5a+&AoKw3kE$bYd@_(w4AO5XC zhHi59P1CG(y9q9xy}5fh1w43p(r@iQ0sv~|xS1bai9Df8oK0gB6Q4ZX6Ib03SDk&#pN9_79@JaLw_dWPG0 zy$|hAIWyaw?(^zSiVJvTKO&PkI| z9L3&a?lm+p@DOWr^`rIhIYD=^z=2Ax&TDkUkkel1b7dunN&r?gpc7)4QK0s#Lm7I_q*NDWApekB^>{cUZ?T75_QgWb9V?oi4+plgiwybgq@7#6G|h z>Ycg%53L@ZN2)!^7O<8G3|3^$@~~)yw!2&V0pHt7n?EbuhAZfBaVqtm%^7P}(bgaP z6;8##!{G7o_ju!Y;QJg+%hV|?I$=GY`Vzj)836+52weS?*i^VwQxZNqWSn_x;c#ln z>MnWFS=FfDPK!f+0x3<~x;b~f>j^K2;RL!*CMl>Bre z3GtLpx2wJLdCgb|aNuz%rJL-_bjGAJ0y^#SSF;LQYALU!sI%tVC86+OG%8y=gh3NH zDi^x)hfKO(Q%c6-kR|rhc4JOJ%tQgP`l}~4lH%M>Mk%Rd@}gbASm0?B z^^g5f-p1cxjqY&S``&Wce;X3{t5WSs`Z7asKkkdUzW5e@^-OWptgw)K-Qlhxsj1|G z08!eHA2%lZ(SSpj?e)!s7s02(I~=S!-kS^RO1J;Tf#BI!rTsI8*9%lP#+s$5=b;pO3m<)cUKn?lM1_j9%T z`6Tfkde4)riEjLq@3(KHOUrpfrkTvl%s=tJ$B%bv5Z&cK;mHCk0mYi0h=oZ{uxEw? z#9!Yks`$Gd_Axg($$uq2i*Y$_!R>dZ_V$mxwuZXHPernyGQl2)YU%dZW?b*9mbpPI)?gh$?9y@lO^~ABBqYq2 zlG4n;tfL85L7SgPgO3Vlj8gDe!2)}T8Vm9Y;42JJec(N$pQid2L{dUfS6+ThhptuQ zE@tt>2oNl(wLgCdA_chKg|U_AFFuKPKH8-I`Xa^3;cOGt1)l~7G-5iS}% zXq2WJhAAFMW_61%3JQdAd%+IcWINtM?LoPZ?MIY(XYOp*`}dj^P|AdXPXiXkaD-Jc zjx#Kd1-Hg!eR&xCmX_}3J%R2Ywr;1Lff3KZ^mP5xBN8J`2{ah|`qH0y0.mZiXo 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 literal 0 HcmV?d00001 diff --git a/product_pricelist_simulation/static/description/wizard_preview_pricelist_margin_form.png b/product_pricelist_simulation/static/description/wizard_preview_pricelist_margin_form.png new file mode 100644 index 0000000000000000000000000000000000000000..4b98811a09cb9e91ab1d45ed1c5ad2a3c6683aca GIT binary patch literal 50885 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�Mir{=VN9OqOT+C*nwxkdU~eq*P$qgA=mloUNIgol#Vzi<@lU2FQe!kxO zA)kRT?0f8_vixsBDD0G!+*_TQ5%IZ|4|EcqJgsUOL2C!8!BF`LojmO?#q5ORn@>XH z@1MjN9o?C*8t&F6PLH!A$_c+f*P~8(?^8QGEPJ2i zV6ppioH4D_LHtA5ka|B0c<06edg`r%1Kr80g2D{`e{0f81Sd&jW6Jd6;xQHrCe6G&Ja!t!xV-K7Xcs8D*QImGp_#_%)6@dDObr!FsOh)u8eWwfcW^#=sL> z&dk?otWr{Vu=7K?3nbA>!>q=yaO~{xWqX;qEGXWWJ9VNJoZv>$ulNode^Wo(CgHu^ z;kBuFYZW_5E9oUH1hd&X2E{|%)YrwV4@GS+J$-K}B7z6^7!JSEEL4FYwdKb!QbFqU z(znEWc<6CC?O#XGx^X?*;Qt5k(q?ZCA9`d!khs=J-bLsalOIUFy``>1cB(M?rzt5& z4 zY-!0Y9=WP}wCw_Xb=a3Lo=HiUfgWTZxOsJRdUFa3(H56YCQX`9lF`J9GXJ~JSe{v%WzEIK71ax(YmvQM8%aD?1?ZKRi9-gz zhe{r1m1O!e8;#KUQF3v8X=^ifSCMDCj$7+(_gy3a)E0eJHPUxO zsT3Dvqh!BrW;&d(7fzhmW-3mItY%ZT4v&r`eKaQ{wrlZpL{{X#04ymY?4j9~uUuFuSptCV|u6ZOey=zZ+8^Sj-CzF^910ZdzYA~_5J(z$wftC^OD~Bzngf8`Na#)+N~LR!~Q33 zDOgs$eHqH+oglsjpuVF8-1wnIFDfbNsc>v|8pGQbI- z2zNlkm|9(JOA6wTF>?!}mPXOw!0O#5Cnvu}#@p1&SP8_03jweFQ{brSlyW}wrz_x+ zlS{)k6Y@KAg6MFAi1n&FuyG;KcQZTfuR0^wM~hi1&-RH`3QgIR4GK+=-u;Gi>!lkQ zn$4k)eyJ9R9v<5Ne4SPUTrNt`k&%(PLCPJTsa9%vw5_MDql4=7<&q_slmq4DlA>-MSm&M9+)lubwzdDY6+1qSBu@7B zh=RzD(adIA`CngwCbM4Z@dD0)$zoav#U+;S-hnVcT~?65If45cvT$duaN-UDK@-rB zkciEF_bZKuneiCaC4e&O6u97p#g>R+y(TIu8t=R60aKpm5eVby{-KxrO@=tZx3*amv$mdj(722ynI>o2&wUV(uDu~Fvz9ggZDbLLC*(W_;`3?71Rl!Q_)FKRf#;dKLMzM3>0dA|l)m9=rh_wdZCOeaFJ#{#v@je6(9g zNQi6tr^gf&7v_&lxjLGffF-=+uG1Kp?RMb`JkMi|3SNVbIJB>lvFxLE6E29h7&ff* z{+8ee&)@cZzXr6RF0f_BqeUT1It{H$ef4{Lp} z8@011;WX;%Lc!&FovBKQfU^Tsn7pQ1ShElaxQF{lvuihR{s3B&gwx#p>(~3h$fg0K zOzyIabAEmfqQ49XJhrPt|EP}k2hXgmwEotrMIb-Vl)<6l2i5u|@Jzt*{j2_RPcW~I zP8Ud>RpDV?(P!z-88 z)O^m%TV~emYUVW^dA32t%^mtkT)!uG;n_$*c~pVP#$2~(?A_uHjtP>w=H}?bLjn*i zo8F_F0lS2AzHy;`682K9=o;?)ox6S4+=0d19CwmtHXA4QCp{S_rB}!V+1Ps|KlTp6 z(ATcP$_rQa%*=J`rS1C=NDZy&H&hBUwTFHym|Iw|MXHqU^Sq2=a8haE)UFdEAt5ns zEieQ5TkO}eT=bijcUy6!o4^I?yXPX97;a8%gqv=!+8IXk+ zFKun{*bG^9+dkV_*d4SLZUhiV?ZBzsTrZu#B`WcOt~@j}^o6Z0JH3i6EY=nX0Jw0O zfeIR=O<(_E?8?@8QDGt^;=MDZqej4g`o?xuvAx);vFPG_N>@MGYO%|fL6x(;%A=Eb zCr#I^Dx2N;h%u|jdf8e44K0F@BNLm?@y2)AAI}7z zA28dkuTWAooM)+a_Exw^BfPQAq=U#juihL(tzfEBE)yyDhfSo}#2qr%Pk8j)EXG4u zX6*P3I?}<`fB|X)+&3Y&wP3|pdp^BZ`N?WbQ5KyBafDYq5)<20=lqldBCe*o+QVsm zsqyRp8-23Q_p(I7`K7e9W=KD{W@Z8a=?lOMbM1-zuWG35H=+Jq=yiWPi00bis2Uh4 zHXi29$ze`=lYR|K9-h&lYoqr~fgGbj<(gV)BAd2|xVR>4fwrmg1J|eVxr!ud@);n8 zUI<1p6sTjpdzWU6+^21i8PlVSf^hw%G{fa=j~N|J_&Q5Hh)HL>wz09W%MpAj!GtX8 zlr%IRKi{mp%2d4<8iq^2GOxyevdZS{(h4xe>IV6Ed~k3g32#vZ1oCGIDs|^A+?Mby zM)R_Zvkm#(Rj%OYJ_TXncY}OIqrM?x+A19lKu|7Y`$7 z2d7tuUr{`)CE#;phLkql^CP#eK?Gh&2e?Mq(UE9pp|W|roESa^&Zl-?D#z8UsX}nv zcIL~gBk9ut2v3bWoe-Z~#o{@t9RJ54V4=Z(>Adp5A;@`-=I3}2FS9q)VUaBLS~Da% z0S?a5!efiVWxzNruBY}5LFAnvj34dxO26y6@0RW{>}-<@NDLt)EKJxr$G^X~SKr%< z#|~=1bvjIiQu37KWW3{&pdf7U6o{nqf{z8D(Bt2ud*O^4@c^Yj!X<<9;{hTa)V?d4 z`>Vqw+}0nP!>Cbiix^g#q2utvOb0zZy)BTj!XhIZP&OdY$%1mNnpL>w8c0a!06KsX zDZYhg!&%haTmUu+1L0Ti3mb?_a{5>J>N<=fCL(bO@nfuIP#*8}P9dUbYG5ImGvsWNhH()WgAtv_*E9q|g zSMN7k00_8s3lD4%ojO6~&8J6lkL9S`#lrBOS})q;F&4Csy3RH+RGjVWjJrBr+gULC z@h080E$$tbxRg`}==dQK5zSE=>&ezjInGCOPMn;IhpV{(5;1x1P|GmnOetDwwJmg8 zBP0BY_PFJeorU4<@aUhE5vL5VKGWC7fXFY~9}ygPyAZYAQ148Z6d-Oq-JBwYqOg%? zH0XJD!jWsgg((rUi=N<|<9&XXFxSo@8XA7LGlCWefJeN=jQ(~rwb9$5-)z*$+OCJ$Kj%jzK8pn;`pwk`T$+37Y(vecO`;3m{Dr;<4Iw;MkSoNHaM zntOQ#0iMgd_h>Pg4LZ2_j~DT4YNT>>o7=RbXnA;uF)@(_)Acm>wz@b3B-4 z81Nb6r^2KM0A}bz+EU8V6-nH~K%(cAt}oZahb|3nq^-m++`1J=!krfor5@9MvcXsn zrKs|BTQ701K#`7wE5{EK_oOGbYt7hLt35g1-qGaZVjU_i_IyX@xY6LCXJDX{%?Zix zgsf#H){LKmnc2TnV4~)iQu=VE8w;%hL&=nb@@JP5_H3uZwVmZ&X^yVS3l_kL??nPe zy2?)w%6W^j_X#xk0+H8ltv80#XmmsNA9q~2u-~limWbYFlZ>&ROiAF!oD{f-t{%=! zlt`!umF8D^-v86)Gkd!&jy}W~Dz&ocpGHBwyn|zrIn+oy7_hvyq7q2NM)cbRne}MA z;N!>HLZ<^mbyqIRiONUf$zw~}W3nKX#K*^@{6^4f^nzVURn51nhCo#Joz za;Jmsy+IAD^HT@dD!teILnOyua@gO>ff@$hxT6?B^#Br?hq zv(Vyj)3zldU9deS0P(h$ihw+UxNyC$PL+z)8U-I}beUz+Wbg0HnT|2=@#x~@4r&H`@o4#_AsHMPOZ2+M_x!t>{Ynb>2Sy!0Rtk^_=dEHtIb&X$3@ zELQXwhsCXMegn3@YtN3h`%@K}g542F^RL(M{lvl5A$HBTS$X2POYku_7Yp&=!E;Va zU3@XIYXCTXzkcm#Sdcnczx>IjZTpE-`O3ge3f9+luD5ZHl43YEUMBGC1SG_=uSrZ) zNKaJX8FPHJF0UpF_ooS#YC14t(a0rF0`HWiUQY0|YX8wtfr$#Z3hKekf?_Z{F>Y!D zkt2dX50;8Ra)AyoFkOXa(QKlk4BVj&D=x>o5BT`Lfb$_2+zf_&snslJ88X%|N46oZVW!}SgA?JS)-Nc-vU-|Z2+ zyw2CvsF|49HH;#LjT?}q{@Lr$AMW%kC}epT7ll(Wthd;-Zq9~n{5Bp|)o-&8f!x{s zqt){U*(n8;+_}*!XnT2)g~*ch{Uw%99bZhw#MRWs&I>=#OmtF(H5U|$DyIeGeL{0WMuqx^=c1jX;~&V5Kmn(g~eX{-eYYp&5TlL_SPMJAymi3ZF}PZ z4Nd&#&#gCzZQ0EAbiel&nApu27%a#(=)mFkYwb^vq+;RX8g3|_nX}1vU0)v;j+Zm5 zIM$!;kduEgD^~>+V!e9ED4%tXeK3wp`29PK)y$Ox4127RzMo2}z6ozw zZA~iy!m6tmo-5r9DI8arSWsA*Ur~wQ-3=FPom*Zu@4?Q3bfTaa(G9|F=9@%$bUCL81_o2qa>Om{tSob37wj-^a3!2Lee(08prK)y z;Ib^|#{a>&$Dme1M=iBTk^8YJqpQq80RfEgVGvfstM}%sK#XnA4OU*dSr9y&t;J*7B_61mM2*Z@otk*{R?N^tUnvJsN67EuO@YCU8!4Y9LbqS9Ggbo#q zF{e$lRA8&;2f9HcFt%w-rPi51WD*Bu@saWK^B={pjFs9|Al1=;=KIm*h;Rlg(j$h_ zq1l@R#nm(iLBDHC6fQvn3af8&YMieO;|82i4jKmwNzRV>-h69*J37X6yO%UiJh|yJHU*}!cJ>CzE%%KdgRP2ORZZLipeB_> zliNvd*`AHn&VA4tR~w2mxE@)UILyqLG;*-BUw6Cs#Gv$Vdq9djGdz5ckx@g3r+7yAAw|c`x~mZtFB0%bcQ+0+vLRvA z*s>MQZ2E1F)j4KYnn^bZ;I8scsVVF3a^2dl#}}Z<8+@Kw);QdlGHD_8;$wAV$}gN` z=*0Xd@ra# zR>lny)GoAz0nAGakk&-Ah@x%oq;FQ9sX+e*-C&Ye>)05O-U6r#&o8(uDj`8R*Yc*i zKmRWD+^5^EQP3u;9mqejS;5G*n6U)+F(C3^>gC^sPH2CY70-y^-q8lL`j|~=PQg1X zMwNnJtfrkgE+=L{`N&ne(k>6&oQBF6$7z9ZzeyY!5^QcWV5c#${lO=Jbw3PQvN$s% zUheo0oeFyt*vT2xxEtl9$3$QEp+iI4(<|q zhbt|$&A`0R#^$xu+j!3bE2##c)vHQZ@kshu%pt08;J{=u85xZkc1LZ2>gc_sxR8)3 z<8kAaJ8H=i2)IqHwUG_9tJnhd>thNV*CzpsZki*1hk*Z;-RykWK0~c^9Z;(VT$L#J ztHFMK3k$yjYp7vxz93n>6*#}_Y_HCAF%pdqoz5bu| z4F-L{G{5ajr8hMt>&u$>1Q03sGl35X>h+(}@jt>ilb@%jr-eEh^bNEM*KIu*rOI`* z8Hn-wfKvQqi7b8NcS@*Su-f8J$OtUXbp-{Ec-N9e(+y25m#m6ou3UW(a)KJC78K&Q zW(4ZBv%5+UE>o5G|qE*A*w`jun^B_-jyobY#?Yy>^v8)J7+g;Rw(Zh*5;^w4%| z5URas_}m+d!gA5j5GIM*RRfUJs#TwAi%#+l8na8aq#RtxQpx!pnC*jO0O zL#plh*b5)n5_)CpMANZ(5u+_2_?VpbVOw&pL-;EfRy5kL6)z-%)3kGEF-a1BRU62| z*Xi<6;o+3P+!#z&-G@e8daT6jK)HFv5MKco)mPeY`iZ=4<&&Q8aPj1_QfFg`A9^p; z%)8UZs^94vA(Lc0^WO9Q`n(6GNTfZF7xaDFH6J=Z3tULTFOUM__rBrKyhw4<2Wk-0 zjIitJ7RyihjMgzb0nNB{K+dyY?8s(7;Fw%rm#pM1i4)Ohuk*HHsb3h$W$3(b;l(w z801J(EskW0wG$H{H~j&lUZHh$ir%+OJj24UOh&HsLbnKX_ejc^Scuj*%=4{SN6$VW6C&<^Rs0gQdxOI^AVsCj5WHtv6Ey{WaH*fECc5hEm)bG~o zmhZ=k%t~7x@4ow~z*u555Bj}@Wed6K^o$O{)31aRZf-XKT?3OdP}J^wS2uQQXy0ee z`)2FmQc5RQ+o&1{yIKtynx@uSeU+a?$xQ%V(lHENd1q+^mVRbqMIJz&jRJk>rA6De zm1l=D_^6$23XU>$bgK2vXE8mZa?^mxD3Gl1`HyrnOy?*mwyB$%hFr#`^4u_&<>|Mv z3v`?5s3h#e{r#=M=&h7H&$HZLx~0oQ;T9eni&^dz1deU93wkmtDU!Mrs-kiZow;*jy|A=#uv7k1@N6%B`&}ow|>K{zNt$ z>gsy-hf~xW*4gK*kfNuz8cWAQv%_R9U5@>!KwX3OqbTEq5ZLfrq$3@{4@~T*y!dw) znYxO8L=0s?4zWBvtZ-&210DFT@Yv6}z~W)k{y!$3?ZKpf|3yLJW_7)BJ4&CK3o&e0 zLh$Fuvfpn=P^IvweH0LyQatY&9cvAZu(|&Dh|lPc|6sN=_#gQJCHVH}()-f~Zb2u% zKaPRG#7ixuO3AcEAfJ9I=Z{B1BcOTqgO4bo;Q*amir==+W0F>l_%+G>1J|TKE{Z0N z*pfGYRqBubPt&{2hWW}H)(`$l&O+;y`Tsk{e*ZsoGIUy|VBOze0h2k<)MwtUUf$jz zp?7@xW45TnUkaV4Nl;Pq^0{2QL1&lZM`4Lv;*l3Rm$(SuQ1sF{66bMb_3!JuOG0XN zS<0@2lVZCt@*lw(!a(vu*>w3M9yNjx9;u0J3d@yKmI|GIlwUzs_8ZEtP?0A*8)Q|} zolPVr)@@gEpTh0hap1iWm4$>Y(sT$%i{V9a6(LhnY8&!dkHl)nWH`g9(ph5V8aNEhd+w~lzX8n%1W(bVK#iSsp ze2yN25I^V3sL3^c=c29LdhP0oi3CvCwqVv2)Is@QYe3OqqZ|y^?>!mK{05HjQ=N#^ zxkE@dq`V+mhDNl5vvTY4y!LyL0R^}9bDRPO#6zzweb50gpJ)lVZ08eSVK&ZI~!=+ z=5&Am)_#3u`;M)FfkD)lFD~#mquMtRR3Y3qVNMN(FvP&}kM^0@ff+6~1$4Z{l@+V? zQ7+U9L+8$Ay?8r0Ik{y4104BnV6k9gWz{|2T{1=%1c13A?#maYGJB@+@o@yqpvh&b za)IcqSZYg8ubiie8bY66Sy@31biyzP3>ncNM1#om`ch>Gh=^pt>+pU&fr1=%ExVv# zAbK9AZ5LN6%O8$kdoa#RLxY{2>y+C;3kENkr$mrb5B$dqKn`OZ%wYLn2JH$=9M`b0 zX0j^JYwGGg0K*UHwey>>pJLuy9B^gKfn5OxsD0qxSZtPGBY=0v%&UfeOc#CzX6QNI)LFN3iI;5!wk#!A3rQ$ zK1y}R;dqw@Xz04CDtBNKw2X{e-=kv{xn1xFk4Mn)^2SwFJ%bJZke|;6-0l<%ZK4Kk zU`;PS)oHi^e@D@5;4j#%j}k)RhoQ$HktDQ9ut6Z;^A>D+>xm67&I5K=mBPkK-MXXK zH?_#i%9LS{n-55BcaT2i=h4yC^iS=vkN47jq7;k*Ns&rJ^>~6Gd1caGgI59pBfy9% zSecfPhoY!~tB0b2v(PU5QqKPbyiE5GaeM^EO(G$f%JvNm1Z%>(m!(K}{=j_4msW^J zKjYXsDrd;|??T{_l~XD|cH-qDW`WnU=-+t6z8@Xh znc!wx-P-yEK7x?1gysCaF~Y&u_ZoBo5eMT|l$?hm9_!B^)FEj)tGB|amufAIN*N8l zm-Bp;O!8CC&>t^zaE7557`XBR<4h=sHqaPHu)@yWAmjZEF#+nN69RlCkL8kYKro|b zHt&gxw@Nq|a8$yE^17YJ0TKq-`o6MK0DLJ80|V??u?*wS#3P;SVH7LvRbotsH3*Tv zRJj7SX592^y%EZV=kC!g0*_$ucy^Xjzm4E!scktppxiBHT!DY28Lf0%U^DT$Ex0HT zBr-xyKj6cjUw#;q2ikilJmEI4#jVUfJ{wSlooDVg12fG98WN)S#52$N`Ft+KX{! zV;34^xbnX~V^qzxrYPp>V`w;Mf0m48=>5?u3i6HWwO@@vZV9qK#{ZF)Zb-Q&_`P*! z_!;rXhWdKFXqcGCa*v336TiK^wWS3o90Kt1#uKB2)k~jaVxD*grS==TN4fe8jg67I zxVXR|X+13TM?b$Lo0S2^h$wq2P>^E5ZlR<7%_%r$rt#wIyWS4K+xQVL>q|FW{YAps z_Ezu@SF%{(RzOpCd;R1daF31c8T8artB#T?4?f&3IRon&;^n~*FlMOd13+XSffVvF zD5$f~RsZ|VR2YDI0pDB#f6=>l?|7XLH}~$Umqnmfc4Ok%M1>BGQVy$OJ|TR(gwHMV zC#@Pqlj5Ej>)boO0RdD`yAssPMYJ_FpA}n1K-M-(rfwZ^MnKEa3`}ESVj|AKz>idg zEOdCYOOuP;6HDV`SVk+daKTKPRrXTxqt7iZ?>u@Lu3Pf~9RzIRh?m0Y@?^YjWUXP; zK?smo+4-DqIY~OnU)^GF+A;4Ku?t5HL&KYgzZ-|~cC=L4AD@^7tsAPJL-h$y02;Oun7MT7R%h8Inb8>3>`y)W^{3f5y^z`Xhhn;z^0{$&WSWyn?rS*wQ z$@ZAc=;UFf0tF@I$MCy1Z{2#s(hkqvV1_V9mzR3*!CncL2&T&}Bfu)iN^}#-Q~k&Y znC%8M-@Ow9Cf7<;9r^qxBy<>{6Nxr8HdZY{$2ZGAIWSuoVyB{}#w8+xDnp>tSRrm~ z%*wz3z=mgL*12?4`bpMES6@OCB|kj(+<6dsqDf;SSo{!OW;o1{gXQ zkCFn<%>~-zc)3dSfLy_^%P^M6>v;E5lFm&4D35o*m?0R=JV&EeLK1vnbnSsqi61`p z)C`M2Z{G19vMYVCh~kM%b?Z*p3{3FJ6q>57kC(SXSuchZjZMz43lGpxEw=P}^5*9& zFzpzdm@u)k&x8F1hJH~z_UqT-p`B1TJa&0Tz)Uv>?nFBQ!ROC+Scy^!WCW}iUnPH4 z89W6~BMvEPI}H1S0a7bo!1uwp>$Pj0Ow29L58fL8qGDn?zgURYjWN*G6%?%58B`K_ z@Zl9K47k2**-b|3U}y~{@sebJytG~&3YneNotqH2I7RvXVBcUe-y25eew^{R9JAVO zjQ?;wJ62RwG>54*h=8kCuTG)>3{0j8mqkoVCa0T#B!GHS1I*NJ&IBQ$e-XHPtD>VJ z-~xSef31>6rp80v_m;2`7YFOP(nW~O^!Ot9f`E%L^TpPOQO9wbou|h{~7YkN=UC z4Yf{V(C;&3xr2+#EGaJG9O&!2bkW)B{G95+6qjNCC@+rS-J2#|rSQar^P>gwaib2ql@_|`kJsGoPd(S09;(kLb1Sr5d5)yri%F4YNNb18Aa`c{rwvwWvg&6Fr z57)3he!Qx)IXO?KxQU*bY4VhVG2{_>MpILxM05{!{zx2Sh2r-zYGZBfn0I^-=&&uC z+S)%Qckn;j3(Iz0J zlQXy_Vh&eB@Z(@QI2u+*B2Mfvp#-Nm9jr$u=bIqqj~w7>4AJv%;8_WPlQ ze8tvS(B0J)%&gafLwd$qJIea{=kBw;8gva_KI*v`>}PPc59ed^TgvXyCd(A($VECM zzI}^-s`pZ3B!8tHll(@r?08q#{h#tS7(Jy*!~_Jgzy%`U$ugbe<(2R-fbpS`it>ag zoN3AF>7HBoQMSTr{(>PJQ%6ubfMs*u?G{aa{lpcLC~72CDxOz~V9rSoAU(<=3)en1 zHI-O~OMhN|>GD~z^Ds6%tO^?*HStXIs{joRjqyYUiPg@XzSM5_k$mEi$jFv>z7^E0 zXiG#d7|h;B(wE-b!n+D(N%&!5LH2W>3NX`wT=RB%T6-wph}6{7<#!yrhx(cHozIWEBCJILY8s<5Hw+#a?_|D4dw@ z$(cKW>SDRj!3I`>rh^Hy@G8ZtA=E$f;A=EYZ==fNGHQglsp$nwskf%eBwf!jMxV~@ zV%HdZ^7rq*O~)i|k#0A1b$tYX!A>)^1{lxL zpfqIVl^4%ho$OD5)ejw;Y_z`R=iT`DFjx#M(V+8qngnQ8m^GhWzH#FQ0N$75V4T!D zKjr(LoSfr&W*kU%MjAjBU1Afg>PY7W}9!4R7%8i|XUAH2!%t{O1$jwZM8}De@OI z%kY2aY@x5x{6Cf47A$-4r}y|?SQ!v8saV!cNB1(RdlVz|Q^{k&kA>=Yh$NrR&$A1w z-F`5BwWs0wgXo%kG59XTDQE$WkRn)JS z;rw~)a5r&c+UjiknI8%{g{9xF!PS{jywmZzJ?-{gCI7#3-GFBQ-0EGYKLPgbKZ_uE zRVIA4`M-7R|Klz0kYN40K9Bb)Ir08oADLA#bGrYPwf#T&0}NjEq5o$e2iF(7cijY` znH2xefvtpH@8|P=U&DEx*LfW~H3D+P z^=|*t9%J5K`>&tW6V-o@ZJX!U2Hd$f&}PztO{(_&PYusd(EE?$eW?DvZ9#P46lbX& zxmQev4qF<#?f>cE|JQ$I#rEir@6I>`S3Qx)n-{NjZMEBrd-KNpT>D4z#D-;mIE`%x zGtyg>y15}a`s#;uW4@}(y4U{Uq>KnE@H>$IC#h) zh){D-^rQFgIh@K^esShmEMd<~t=C|+PQ*v|9 zQDaKw#_q^Z#_nnmgDh@Cm0tNQTD^L;R~_x9sr>ZmA#`K;Q}&c3cR&K4!Gs1@W)D(Q zj$uw!i!T4Y{`-@ajo@bG#@lV+&W7Qmv+|&ly!-=N1rVWC5&AJZyr1lR(=DBT81&YtzgntsO!xFjIkS+-(#r3Z@CCI+_+k^Wl$Q^50Vx6*KCUG&MCh ze|z@;1*$6Drc9n1x%MHV{SSGOBk?dAqoQ(wA%r^Ww@pT88lomonQ|&(eXN+I2@DFN zl%u2a0fFo7;P7)pp6-e~mmTqL}WBV0_W^b;F2^}0nq;hElvp}E_4q6PsjZFHRP0~l@5+Iq) ze7E@Dtv`k3S;$gvO4s>xBNVw(_V!g-Tb1YwfMCRU5Xl#D&S~a1gvZWM*a#5;%*dN7|}pQB4mX zJc%SweSKq+KaUe&Yd(Us?A%;o4<}rX7|ud_l@T~4u+iJTMlC$sY#m-|e7cMoGZXFV zCUhG(f=zJbfiN+1^oPaNuYikrfhYTt`jzCnWmSl&v=W2 zZ_c;8PCTHR6)@WrOej5?4-eFFZ&?-7&RzGv)rX4@raT;`y7wet*(%VtdF#E?@Bw=% zz5#VryZc#L_~Y$;4$HISNEu>?Jq;h%h}*<~3UgndiV}Qz!Sa?xY8CUMrSKssDK9^& z5hM&N!FkSJxS;vF_1Ep?#VC__gSTR0CO^00ULNHaOEBSN*o1>1^StGD(Aw~-?4VBg z?Iq{sDJ?ZP=qq4RZpiqViMz`>-h%11-;uDc*NL%|$~%h_pE9@ZIpaxj@kn)bbwI9e z773AkgF-?=Zf$zl@%r`a9|~e*Fmp`d#?VbDFnUd6uN|b}c4tpz&qb$(F^FrPzWc@H z`JGM;Q)Uv~my4Y7eg6-Y{;&0iPTv+>cpzLSq$@3W1#d|hVF5!M8yTU<>xMUw5nv|o zb5^c_3syN4^J%xrnd9U0sW1*dDXrc^hc4wsh`Yex2w~HmbMZXM(GkgwxD>ZyV^cFSx~ZzFN+6L= z<^P12UP_8a*bzpV%IJkN{ndRr!EL|c3enaB0sI*iO~g*8@7-$Drxkw_V~~bCOOet+W{)D}ept!~*~uMw>Rx1>XEXYB-g; zhJh|ml~(|;K(i^x_n7T-{L|vOnEq3Dc5`uA`SG4c&;w>e+qCPrB5*;MX+xHuvdDGi z8aQbLUFKrud#%b-?)6-+rvbq)nOHLuAEEWbhpEn-`R?o2)A;@oBC#bk-oAb5h7A|p zAu#!O9l%H-9N3HfT`UXcGLcifpwdZ&1fhmUZi=iJ}TwF#=Np%Lp#|YHZ z`tHYld*xsAvx!>+i2uT1OLzowBNdn}Vx;HHBn^k!@-D)y@NX~_%7hGP%$d1^%fqBP z22bHM9zJ~7j_54LAt8uTQc`fk-BtN)I3By}66~jcP55DWrD$?n$m>` zVOD?mIaAfyDr1qu<{YzWbDBG(5}NG3y_@@Ir`=dk(OZ?kv)J0%Wiu)+vLCOhjWBM* zfsA|QI`>G&Teyw3!nJM4!0V_>&tWs?aA`y?!s)Yx5kH16=&3q~$b3Y+=oS}e*XC=7 z(Opxy5QpkDbcYUVCtwoP)7hkFwTht6r8b{l%QIuVm@??LA4-5Jd%qMeAsmTXfgaIb?d*?c29|O)*I4rrNZJPiJaw(>gld#XcbMTi6R6_{IY(FIe z4{9m`R3_A-%J+OOm`)uKhJn_VDv~#UXiM{tmZm)t!V4=TWc>D5*F_D8JpEm1sT1|% z4U212cqQxBuV;qOQ|+tL+1YV^N{S!JHP|wCG|CBHLLI2O^a5C1pMe8YiNUGBlyM|+ zhMI$T(_jbG15cnR!5aVa0jBKZTlSNb^cpW`kouYUC<+TA@D^d<^`+2<^0063-e*ET z&zLcTo*l!={-b`*_^^;Un|Cm6!2Zu;EybK+X!Pv61y=^5vhNb3zZ~<&D8GO=%G$ch z)=-FyT)Kd3j-Wu>-mJ8S>H-RC0@vseSrW&=>n)Sp5WPgKQn#-+V)~pLF7wtgCbb1n z@xzO-eq@45%2!!~yB_e6@$vCDqod17TRu6a!Rm(8566iNe9bbx98=TLQ8maey@=pKq}P;(djc{#52rt)A0&>0<9?FvG=Cbn@epStXe+h zD}vVI1Sv+i=QQWGiNLg!S(ko*Y`0|{7{DYsXmIY~I?*HDg+6K5ty?#2%;GpN1Ro3_ z2F{7wmHv5ndkgO)IHInii|E*W(4`G6W&wSN^0g?Ebc@@}i=R;7TITezAfKXAc3-7} z7I5ky4Gj&{rUR%x~VNy+2g!CUGt;iIL0xkJ88|e{=mYIpFi(SBB%a)o#Z&1tgBa>9-&VA zfl%26`c_N}qnmWEc9ZwcV2MNXU6sJ7pu~`v;8wBqb$< zZz2If0fJUmR@P(afV%}R;z{JfJdxnMBOuwu>1?i@;@I`;*H;{#Cj#1mc{8@8^@crA zc5IFBdlICnR#Z-LdrbLS9&=*1JaK;!xiO$RFLKYHM@%Z z0=J>!pjB@DOhzv%_?cCC3PK}7em|^|!gNAvqceT4@IFOR&DDYpvTJFS$J{w>+I!4) zKZ{68yS7MM`!vjsROO7x0|ySQsQN_(@!V`0f(aylx*H4(lyRD}(t5T8co`J2}9Egh3aa}jpg*qBg%iTdU1S8bXdh2h0^Va0=uZ}Qsu4jCdQyYZN5Cjn^{ zYn9-24%knu7Bf?-e0`@K4=s0!H2LF^EOm}gmW!QEtnay=1?B=VX=2HiowCcFLRcQS}3dKa-D9#+x_0TNrh(+Nb`` zu}%2*n%Tj#?VRdWtMMyrlcQ~9S9QE7aA7ynw=xwMxB=Ng7$J+ei*d)S*cE>$9r@nz z^q)mrJZfBY4LzqA=vPJ~6CrMYtF6^}1^DX~)+X0~7_k5~QPuR?`l?m$91q9G#MoTf zIg{jE!Q2u3+E!S|0phTG) zl-+ySuuNJzVUt0RRtCA5imZj%2MDJK*>i92Vj*$(;+rF+@O}dahN`Vpke4rkpU6}G zrknCE7hMA3-q_SMw0&~^%U*B|i!+}-^=zPWk{Z~)AnKXF`q0K=zdC&Hhs9Pue)qDd z$e%#8^}>|{9opQ-;gr&4H-%2&+qa&~1BBUKemYS_Mc=7xe@j*ZjN#*kP*!Lryhx8YXnOKN^yeKZzx=&@ zXAC}KWbhML2FV!xh-g;~Z#ToZV36TLNF*sU{*#&Z%z}>UFe;*vf>b449j?FEpYDBkV)_;{vp+~-?K<@o zs}T4ddnm?GjpzmkUFuRJO-^_A_aDLKdY|y4Xw{H_*RR(xj!raK1Ily9YP06z#S&@L z6f8CJ-!93T`IN-Y`@fsy}20weQ$bT791oEQDx!LS^D= z=!Ep;pD|ma{CKzqOopetiH~;MqxJc4M8xEN6PAr4#PfD;;rcrc{ zQa@z9Ygd}PR$k3IIs%G>WpHxGjvb@-J~N`z&Dh^P2ykqDqWU#{ zKJ}=SUeq{IR{&v%Lri1U+FUIMR5PE>riv;Y(-)MyPIPSv^->y14E7HPa6K2KT zy=zrlzJwOQj3VdC(3&A`$1p8j$@f0kTs2W7Az#VCCWV~}jHSyC9`L>AKTwj~BU(%n zIaR2j`NxD8?Z2K`BvtO6U%CeBvIcXPwpB_QJB#97jvwzta?bMj^0?0@*Qmt) z>vnD6ig=IcnMAp9-q#l^4p;I##W;-r5q@$mH8qFfF^_{$>IaV=wHIC=x{>~6X2kN^q5YR68w85-o)Q}vdCbEZ|~Yr?FqujxX42)%9{Z?z^23heemgOk#$cZYp#zzi0!;`6)+O#&Ca34+UrGFc zu=D!**i*e`HO{G02%Wsh@ZKiZ-&It^qzGf?*_r?FIC``_C+ayB*R!WhA?gRUFU~yd z>bmsG#Fnw%_K2IqKg% z^@b!%Z>)e($W_u4VeabcYs-u`#xvORC8YX18aF!n_kcaXe)P#t`Q}s~T>)}3_Pp6b z73uF^v~;#hdc?57>HuyS0QJQ&nN<-TS{y#&mEMnv;^^_?xm0A!>QJ&T(bCc&0dhad zNPLlr)ZYSP@ZHFd1g(6C3p(MRk}5$q^2Q(5xN!2!flkhtjN4~1{Mpi9$Ld2L?cKY# zFy8JQG1O@5)?-OYj)y&8CMP>lwp_|KQ)s9?KrO^5726@&%%4ABTq=yAP#BMrl9I}8 zIKH=cMPRLlS|AvC1<5xQg{bWMKTpyW30z#dhl{uOKw3QE4!nsOER{vyGOu#rh5s?0 zgCqrE@c)7Fj@ldgym1ODw0F|0_RShyWKD9t$CC{ zKT)IzkrWr_+6$jg9alUL0bUb>l8w#HD7n;_Dkg8I)3h8==S7wfHiph7_Nw} zvY$YZ!4|~br6c{PhIV0-%x9d4Ork73$!2~}U0u3bwxM0&NkFGqAA zG*yBFKzS$x9zZU*+Q_TO6>W6>)2}Om5-xy%qX>w;Z29sqYDoYm#Bu>#kll1b`msCx zKJPP)F}SsH|7)j>pFCyJ4|SgMRr@YO3kS5upc^ zbndRM+(!4{=cb)IPsPT@DvWaX(vNsg5D8`~kJ{{} zUENm9z!uZB44QpV?ax2|6q+3J$!)NSKX<-8!3!s)Fo`#UKk^DXS%IOG-d8ihZLxemYHzR!D_mev`)E&`R?`~TFASj){H$(8U?-8W@h%mqq1aIHoTUDVS^nv3-9 zr)a7sOqrt9l+yC1)g$2&Ic00}?4XtxmJxg{rh)DF=;>7SWJJ5eo@*Q~CcXBL(7Sz% zqafo*eP~LBC-5E0mHIDlhb|tOJ8Jak%ZsaBr9VGDRjq>S^}zHW!<~C8JM7+d*3p+I z8f9CvS?ngEI@nl!_xIH+E{cu6I8E zTbJacF8y2rX4b@bme?%Crf}N%R}_;ocfC7Q+a*S~1~^LI^w}_iRMh7P4`0B;TLfV= zEi3u^(`(kan&-ZA&Qm~CqErT59oT3G4o3yGmCz}Y;Fm9kFBbL9sdP$Urk?ZT6GZ&+7aRyG*J@r?%>2INI$YEu4qv_|{6FT)YA{__Q)sv%lBPmxq{o#hEyL&P!-Kg$G&36T@ zDD{t1TVK?VT&xN|$CcM@z7`EfqJ&l@c8tt?{F8C^LnT#Il%b-UWqcbme6iM4Bn(PH(c+{US|z;gm;lI3K6H+WIwt$%00IlJ@aKfM0v1+)G;bm{*rnlMaEd9t>us^0+L73)m;%-b?w`=i0-vj=1r zl$^7lu;9Vj=G8Y>FB!7T@VwWV;Iju>a?z!xv?Gqbrd`n9l5cqA0 zdcVMTix2b-+*J{IEG&3l*O~%|VYUC67(Obsy6NNE&qlg;Z>ImtT}Qh4JL`FwkC)B7 zdFFiRYxg(W|9%xA;rOqa?EllR>;E8Jwk36><4v|Hbnl*X8+lzSJR2AX0}Ni(wG?@w zNSt{cvoqpFJMiK8Xhiy9iUxDNKAXI%3miTF*i@_X#pzy?T?td9H7Kjf^Z10H0DFMR zIX5gR~MYsg|D4;9|Wf(KxyJ%$Ky8$ocnYWm|3&xC=hy0!T>XjEY z0j!fHKw_P}l4j?#;p{@#4KnSoX6J;rj9^9{{n6*@%a5|=^XJVIm^6qG$bAj#9&EJ2*!4e-$qmLQwSZ04%m86%fLJ+C`i~2QcuB!KWA4O)_lgRrPq{vZa=zf8VpxH zYqNg0)b*0~?24NqI;K_3r9}n1xw;yYxkX!!tQT~yiau6?F9as-gnu1h*WljX5UR-h z8>@8v{#^w?sRqv@ED8Wa;6CME{95sxAiz9g2mB{SOG|f^k&zK#HW$Tu$`7=8D6&;v z-7s*aQj&n>XIi3PzkWyj{D#xCgwSZ~c|El#u9!Y@{)tMOF$st`M>u zAs)Rs;=OpC{Ebadc7yiet}v8kL&ji}Vox2}vyY_Y_iK7Gpcc!361yerkh|yq>2*N? zf^U7l!}5r_y}>uEPt{>pl0vWnx=63P8@VAanX+xL{O0x?6H}y@0_CM{sr`^WcKlo2 zjRzjn$_mB-8mW}0FJ3h&RRAv`qbB)}ojiGRR<)$%vG@_~*vFvxtFhEoPLSic(RI*w zbnYEF1@w%@;>C;S$zvFM3Bqz|0i)oFzgr#15qy!MgZLDpV`qJco5n*bP;4K1 zh>t}HAu2Blw=GX5#zwQE<00%6&9EY+(3A~#?!#$xJFu~H%{7sQ=o7^TD}fwypaflt z2!4z2K}qQE?{|AeEt+6<3CC7t{tyLYf*u8w$+> zg%?NYX;l1;1Kt7q7d&|Wvg6?|&Gms7bM*D~rRDvO*`Xk!0Q?3nqYP33 zI9~!Mt#WRV<^{g>?ahz7R{S`Bevqg!VJZ0B-8uVuwFZz*Jityl`x;SB44S!Xl%QB) z4xZ$;@i)j9j;NSpi8l#WZ)ccAK`2NV!ig!1CG*!dik`PF;I|OuQkS3ye*`B)6(Nrs zSKD^&;_Mrwsc%YAQDY(Ho$uv9X0s+S85@^vh+Qc&Zd`lt+=?6LfhN9u`6B3GWQ8V6 zEH`g z0__GWZ!>kqjIDf3IEF1ts^R|71GD>W4)kr8D?NJj5FZYd!208hE-35yA&}@|`I}yC zw&x6a`LoRG2p*Xx^k!64APA%21#a%+fbw2U({ndVcxpNm7XjFw*3KD)-h_`QTxO}n z&u}4Gy1`AT`@uj#VeH6}K(=)rGGpQr6-`HMoSmqQDdTR)j)Y*soG&tK?eZ-{{!d zbR2+Qlsx*lzF2)}5%+AUpd@u)^9_{5ct3$rA#3deky8Ni4wu&#<(8UM2MZYO{5g-5z zCG!*8?uPv&yJdi-W@2C}!iSi$c?^o4`aSOb*hjus z=%xjsVVU&H3sU3E#fvB53i)2oYW3$(NR40WwFO~_nB)^h7>(Ajx*1AJS%3amv(x7N zEXmHB5BI4nZX$WagtY1NUyVph^C8o>3frGC`r44lG&&1?o!0@s6L2G{2**N z(_LM%&!87zCF&MpwxB%oOrBbUL5a<>9tKhQd{RYpgLA>^?0Yy>ps7C9aoXT2PmZMSQ?D zjU~rN{&Di;IDn0%zNR~NEThx(+HW25RD0IEcyp4h08>C_CV~{wO8J14oBo`}IEEMT zh&EBo81nCxnKOikYNM#AC~_|!8JOTbL<)~l`t2gc^oVEiGdG6lY}&G={?*G#Jc`8D z=Isa@76bgC0>HpRF8|9pU>=&h^Pi{JgkKC-_@b(;n{e=M!6<`cWTk)-#5S+gB1sa2yGiOevok2)e8@-=Y;u#P#*C^%Pr-ckL_;j2Ih3^m&Rbf3* zCbR)fn4ka%w}F|M@4ZsKv=*w!hapRdFcWgDhm7tiIASpaIn29_$KmdV9tKKQZW`yR z%n#6siNJkk*34u|Dm}^|un|`INu}D%vagrQEq;`qegZ7lucCkC#!VyJ6+D=VlJ^wc zXBoR?InIRl&6G08U{o_4+(CR^T-Q5?tgUU8ww34vdCjHXUuNu zTr)u@{N;YU&#+Z8LKn7Uhb*n9DcrKpjUG>*K83d}XI2(=WaZ^~9pDmAF)l}KC}uUp zEG3xhW=qS{;o;%695N332AZ_`#u5oM=Id@6 zwSk6tviJEdU1eR9!hKdZ?0-=K#k~w2SodUU0nkl()m(GK1gl*ez^B;d=2x~~T|Hsh zz*=-r)t)G~y)9fTuIZ*&s%FL$GMfH_! zHcg-!MEp7$|MGhqIIa+JD_MJMqQ7Cou+t;db?$!rTTl{iJr-f15LoaaK*K$ZjhNw7 zq|5S-e3100TK9aaMDXeUze~Glc3v6Hy>r1$L&5z9;a`MB!E3lv5=T*AZt=OH69yiW zmNR+sv}vpDekhDJFfX>N9L_@kIThGadi*Di<^iS4`wbejm=A&^YEJVxtozpAhWHu* zlu@M;O`#&T2%bMLZoGoQn_s{(Ib!-Ty`C74ty+j|b!Nmf&gw4MM$99+2KUl2F*9pi zdq7@{7EtpaK?k5~r@x+eh;+`QVn70hTwIbg02W+Jl+TQKp>=-h+`-e;jPoiXPJmgw zKPzkGC1z;P3N-q#?TA&l_TY-~7S`6&U`k8?j61Ato%j3MZvOJWre71=$R%dj(uPvl zw+-$U^X0>btBNysGX4t&J&~+WUn(Z7DKfjp7b-`fWl~W)(A?kA(NO}8#5yj!AZFzw z(HcZy%gH}e8DXQ4NI%qzoU6QdQ%qD;dd}l`vII}p8Mc7|HAcG1lYak_qouk3*8cHWwI39cvKFCzTGpGWArO&-awY3_3q7 zv*BDfMp~-*{&WNL;>>;jZqgaT)AWiKq#i{luyNNz03tX<%mq=$oOlMqJHly@yl}%X zL37TWLkh{JP~x>Omg?#w=)rYAokXOeqa)S@Ky8N4`C8O%rN9vMqRm!b>0`xG%QU(@ zPu*Y9^h!r?FvN*laKk7jIAdXj3;fx(OClS`q!-_P|A7PMtap__CzgI_eca2zEOr!A zE&j6(XyVYpAHGDM?@-&bqB<}#GKX3)r|nh7fMCOe8O6Cb90Rm z6f&1Z%I_xF4$AdaT!9>?oI? znR$JVvFE(V-4w#6LijxEzz~!>NRxuwA7gGtDBn@HFVmAYzbDS{}|x`S}} zAELB#8Msn6aWn)kjnB*pz~v}W^Cnb$($LCf*ZE*%g9C+vfU1#nfKhBOA%-LZl+6C! z)C)vRL;I`a4;k`=*n$leq3L}N9q&l;pX6ly1rWG6?T%vKFAFNK-I! zbYwzrOTislJ{vVa#TQpMw;sIVKzc!+^j(N`U_%UdsjiKWa#HIk9(QYFS+7yQUbguh zDyy(JV&J^~3DioW`9i|I6w_^ms1}OasNm`H@|&0?6Sc7bTd~I|4lR;_!#Xvqk{Nm?!7Z`9kNf`WVb>hyQTA1{S&9i3=l?G1Me?%KWNxYe6DSdhg z3J^WoJ<9h(UsMq2s={49g5^4ePLEAh8T&RAcZ9#gzG?s)5twLN2cEDTEh|ugZer~u zEaw50C!wYrM;}bL%@BO>hDvc!(VL->y0oXb!t1n@ZJcOySEbC5ij6+gYI7+*G2K`9 zTJ-+?k7kS?A2LUGij|T{dVhg1gPj}xyo=mM=zvjq1kqAO9{2?w6P5ooS>syx zbE_675WlGh?BAOg?_bsU_S)m{syDH6fG7mbgzq-A@k2P8eqTeoG8vn|^O|t@R__kM z9EQGw2D&S$Pn8^_+ILt|$+o;3%Rv)8A9OYJrgnK1xiO2s`}Tn)hW`u+wJtC6k8N?i z6*y?v6EG1jX2SOdeyEt+Sg`WU#D6C){u&heKSP-^^2}ad-c;hersqExmaWBgWOG_6K)UEnR5&2v|-Tr5B2USyvE z-L5WPBP+ixFlE82lM^JT?Un6(VZq!Eo~1ec3r)WM=p^^!k9)Gcmu6hrq15*+B<~AMffMxuWt;;Ms0YqdNcfpZGJ^^s9$Qg>7?l`%t%9f3tqf zKfln~X+@RGvs?d{|JS5|@=^{qnoih1P&~3BC%r79E-Q zel@m1&|LON^R#bC=7s7$!1sCgfZrsp(eHT(8!L*WVA=u+xX3e3PHp>l?SNXB zf-eW1yI6fqpUf<`*t-gZw1WQK$~*gaROp)T-6Un-fn`y{3!xXi2Q|ljiggOcx~79t zb9<*pGo=hRzlfc^qG?9ZFBXDep3t|1?3PYxRQ|o!eGc-~t5^G$)YjGtIDyY%f+DA5 zZaf`1+oBoCBWDf}dYXIpRE^@F_BlH6Ei(w@R|g~GD!nX_l-QpLlRNcHb3C>O4kJQe==ov2ztO@bh$_=X0vZsb-mSNWbb zIA$^WD3=7W@#@v9tSb`!XTgtpBSoUPV*L@lI7|Tx&CeLV=BeROGL!u>5~Lexy7*AI z$??es%!i+z)!doVgjy+hpthdLK9#+gjQ`+G zQr&B)rbv)TkuLsOSaSn-3jx@Wc)Liw+Z{nCMQA!PKt@O`Da$&Eq(hl1_A~PV7sx2K?35hoHA`q>ML92**qCh8NZm{CNqxj#g^G)+`%Y0Iwz)~giM3D) zZxs=I33~&K7&z}(hGTaz?Jc$xSL`ccXjADR1l|ig$u#}Nn>TNU{0_RS&b)GgO#CJ`mUhFWy3Ol*`{X8ST{MD0#&!g3hUJip0%rc!w$aCa zDVV1*Q&p9N(CI#+$veABoQ6%n)`s@EsSYmPAnii*cfoQqoljX!yx3hj$HZaWKSQjDA4Ob!hRk;fOHYqxIM zRn`a`dNQ0v;p9sBgF1t*U#t#h#qk4R44oSa2o+SB)V8-=*tKg{A&}#E%@13RAnpjF zDen1#(A=|ren_3B^I!=;>3ImM-&I$y-+C8rIMDHTD+&gyihd`GhA6A3q+3>^)?}|j zH!4S=m$WaLEGsJ`e7~w;!96n;XW|0qt0aImpbbtFfs((2&d%@Ki3aM(hKZTSZqFwh7?+5X1+H?gf`u zeES$4$qEitNSH0rB0?IhUF)T$-~G}GDI^5FSf67rS4wAdM>drZg<(S2iAUme#o>QWoNJaS}1sFJ_Tj)+_2ROz|(f)>WjyztNU?N zGvtZ@uvkD~=rY*#G5q^e%2eB`5N{BThfkj_kNkvYX#rWIyO*B4u?Z`UMw9U-Q>LGs zcljMU9-b(LVZi|9cR5HL&h(cTxf zk_!X_4CV$1AdixliMC}>1VRwZzcgm6O+~sRfv(30ZN?%C3y1O4o6duOLSB=KIIs;j zILv(IBlN2ZjJpAw_DD2i{z^2RyiO09)8er%r{iNl2=7xTZjS_&qJ?#IGFT4x!V1@d zOINc$qA}y4TwBrXnO{8F;SiN~nu%QJWY^2oi5n8^J<;f1TFXe@H2Q-<8`_@r^se z)tnQirKCT5ePEgG4Dm@I|qa7~+Ah<6*o?V$5Op{u8*QQ&< zTA>OP1&xnF2ciT~bm_r^t^F#0hwVKTqdyr9DPAXUSP^h{L!PjFqgrUUFenfdb56us z?;)*#P*hPu5yVslvY3TFtDKf*_|Ch0ACT+a-7`5ksGa-6Fj_6TMQv8=Tc5+@=D91Q zP^IL94`Vjyyh7cEJ{>xAun(9YqH{JN;Pkx9XDr)$%WZt`scXpbIt)+V50VrzNtn*? z&N_yUr5YGaM}$~X=d#+%8wS2O6$z0n#vR-a(%@+*l9iTFB`n>59!;9T)YZ&&U0vEX3Pz43I1` z77x*dBaZUw9GYz=UK5jyDC*YE)IOaz$$8%4xVWaI8(OsKr=Z#dd&Dc^8;w;_8RDj~ z>f>}eDTZ&_B4+@(KNMKI4x);jJZaCXz*|xMeq5`RQ&RG#am~4Hs?9K+fTEc;EWEcb za={%o6binMI-tk1?qY2ja~w!;B>c1%aeI*gE(prrh3?Z@Ww=lpPn~)O=2oOp@Nj>! zS@h_E_t7&wfM_`!80P!z*|SVMEI$++T9g1HT>INqb>r#1Cr0S1soy#8>G`r>#nb1$ zvc^^A@87%o_@MFf-mevuJ?QOdQa^o_%TH>0 z)XyBfxS23}P?+$E8b``j&{7OcXBi zV_6vTI#|AOP_x(il%ndNlMBrq2n#yBg~AAA0i~^UNq4XEik<= z8n#+_qBPl=bW;k#i5{WdLJO-+o0zRyG#CWs@JD;h0LS1gdEFkik~01W{rF(Q-4Z4%O!bS`abQd`W^HX8jl<@x zTfav(UpbYWJP%!w*cefsT|j0QvdSSBH#Jcl2!l+dX^Ti#LX!beGKR$%NG}mSCIh@4 z4y^n}fx7!wvrSX}o%6S%WM=6ub00^pc%1NYFf%{zsE6%SU8|P?fijMo%;W?W>tMHV z3IW)P4Xt+c0)U*CS4*Qp)Nn~G2r^f5F>O^(1;(lb7M`=R@<&a~NziHcQ2XI5pWw9* z{ygknT->dFUkz*P>Yij}nWChEFZ&c$c`w=;Mnr4t)(KpPj-zJJ4j{CPDN3EP=Bm&D zA)s(}c9!zggzFn+*?4KS^isd%Z6+qpsNuQuCW$3FVXOH#efsrd&q6PvuQAM~{iF)5s z(2m(C7g@q1yYD3APkGEHK=Xy6xiwUsp!ixo5sRTXrLbxy9*g(a^}wT*<9Bm+ znFfN!jKYcK3&ku5G#1Tpt;S|<6YAtg@BEd;&Q>f6kT;V=Qb}(|0e3~^BY<{BToQGs zo97$_WqdNc3|jh$pP{iyB?hnbH%#%(;VWS8z#xyojXvfjUy&J%oj!ey;Wc>v-GV3n z9FvED*oe}R!1~lEwK03f2Ws1sBh&?4M4IA>Pp;7kr=S&c2H+jytJAyrr@woq7>VO% z58=>c;&&+(*&g9>WCY;(=}N!M-inQats1u^nXyoCp&SHU%B`T)8J706 zCLh?%)UIQ9sg;tX(Nc}?8?|qL0ydg-x;w3H_FbFpBn{1F<^xH8N)+&v4?fe(`|@1) zY)~BYpkNGNleg%mV04FSxI<}B`IBR`~!UE(yy~Xq8 zdtxcaa;*TnIf9GR}s00$U9W!G+Uz9N2!rf0wkP4 z*2lgwNsxV9L<#=%{DaTE$GJd2yeltX0C7u_mqd5(I z#%i4L_02%fB2GknX3a{DfS3f}PzEySjx3+gFPj%#&p~$IS7g@-zB9-~7a{qCW#{kn zx6_dbX$8nkOGMb$c})}(H;o>&#eL=(-|s3ttI!wl>Cwe_PxY9j$h+XWg_Lxx_NQrXvJINx#aCqg~`q4@fV;X-o{c_v&@J z(*MtKOL!qPpU?Z=8`RZl)M^b;R*V{T|AVXyNTVrT2gbf14{Ue&Ru1}^-XeLyvGAhu zw_=myQTexBPj&nKMziUyYuoFa7b>AyeHy^N&=en8*V(;R&!S4 zyLQ>~2Q>^EPu&_dXp~Coyg1g^Z5L`e>eN|z)({FpmQC=gS*5o{?r)sBvy)L;lBs9X zx6?xrj_uLTg+4~kUFm=0UxeDzb&#@T`?(KRjjglEyMZELPy9n-Al z>2-eX*lg2~oghWXVp^`=TCRivg@Z`E?%3m?EBNPw& zzKD4U^fVMhX=ZmqePWZ&Ju5@kbp(3}l#82bEk$99%Gzs)VZ_=!IQS5{o?1P2e4ja3 zxR-Db#PEn1kpSiHFbX7{z=wFr2~>*72vJ)(&wBtM&rZOR?&Go<1|TO)NFCg_uh{ra zU8;EDyMPAJ_tCTn8zd0FwgU%x_uVAOHVO`*ZIuv6Bf)IEy83XTJrgGe7`EMg2EZpt zNzJ*u;*w67xEHM7xlBRKg%RV@6c#>|Z+sPL-NC;i9rR6p2mEe1&Ie;5f)laf`}gnh z%^$;=ggC^oExwK3}qa$)A0d5lMHk+I4eVmSDw1oBKCO}Ng8}t#| zh6P0UFJ>%0E%vTG3>_Oju3;z~2_d=$X;JnHt=rTh5uv__@gd~B(83@_xX_LO#7@o6 zk9)CQpz;8=e2E9Cshtk-J9rf`2&O7$0PERiKGE8w&yW7o2>Cjr2){4j%1rZP^> z%mJr5)O?H!0Xk8FeAO-Zp=4FN4^|j%`QUeH3 z%#P5MJ_4_=s7!zq7S>2-JUthJ`v^D?XzH$^nu+IIepWsTDrIG5;qOgPJ7mU=#vR=P z``&{^V3pQN7ZoEsK45NF+?tWLE-7@3P2?DV+ww;G?M)yLVsZ@#SV)XTH>|0deokX@ z-S_Xpr6o(v(ot#neA;Gav1Sy=cf@(PjFzk71my8Kuy{oACe$BoFzaDSZ~>~lfx>>QcJY8LFelOCWy}i+loDH^w=pB%q;!!eo##>o+*~E@oQovhz3{4EF^^Y zzJS;H`x)wXiHlQ4`Ji3dZuTNd=Q%;ySU{@q#210ngWQ&b&vblf2yX&V)NlB3H!5T* z{SNPNasa08*Sq(9QZv7)6MTj+jkm8EBy*3q)(-;)UXuXhD3uUKSgX9fJ^2q!SvfhD z=S__3^(XLjobiUUGp=4gsJ-x`;X<{S<}X3N=)T^4`jp9=Xu|~7IKG9)L*7nbNy!Pn zFP=O1kWyKkRKX$qg>-9Rp3fncSm^eP`z?NnzGMOo@?TK*49J{BbZ4~TDCqu%y7#m9 zlqs{rUHVNJbp0FH6(!pVx*uvmc#M-nm3q=M^M02sUMye%sSAW*vZm2u-ClWRB?HJV zR-p#@Yob4SYL2Hp6dwzLxF-{0YF}l$IT^ZsAw8Ldv$`rLH-N1*4)F1tPpnk&#(C zVsgh7QvGd_YE)M0espal;8LRZKmnyw+DJ;@c=W`7XaUR^qg=6C&UczQNK{l&gMNe; z>W=`bKoO&<_K6hU)kQFi=&F(HbqvvYLe#G~``qyy1tF(#V$y<}w{MGy%JExeCHL&! zy@^MNhj9-g24=*gycaP}hA=i19~E$5Iu2ZR+5k=cbsR#>%tc4$NG9#Re#b!ml{h#zsPhR50{$2CVf-XWWpqE! z-$flNEZjgk6=ddw3FAlltw*8Hhk<`8uc*KpRD576Ogy*aZ!+=<1ZVq6S?2}xz4o5J?Ai&tm#n( z21Z?R<$;6$ttiF4Bm4Qg@maXHA`@^rgrc%`j`_lZQO3VUNIAX@zZzPg3?euT5g%)|)n&?L%dXB&u|@XX_Ux&%3f%*c zL@!x>YBO*RQw)w~L z*FD^A@DIud7}>KIFJ|&q%nR?x146X0xDZgYH#{+K7|@%$^)bZz%$Y-sm%|K&t(ZkD ze@ZvPSehwq(aB-TeZl+1RGUI1vc54&O1iCa5SwJqwNk&*KP}0aB`5b)xm>6B(b}lk z*ol|~p<#h!ClR4fwjs(A#n`6&q=AEJG{= zt=g2KmJ-bk%P+6sX0%3zucH1H!@;6)V=PAF)UYR9UVt!-$TwJD44ksT2$M+rO5qj; zAWzR`FE{bNZN7`c%Q{`aTJ%j%7^f0lA#!=B>^YV%lCICVdj9gkUaRB3c;=mpSl3ZV z%bK1>GixQl>kHGv9}SskY{>q~rr(eKA{VJHJT2otVnb$n`bU@Atsj+4jo{f zQLF+UUwYK=H;z3RhwAu__Wa3zhC4}}kC^s60TW0WCekDQ-Q@*pkB3UDJ$o*7du{k+ z`R$hoMWFxlo@LRiu4AY{a4ScQ(x`@(wpaiqiS9qBVvUblbyRFj%zDhC_v}w^V z#&4&L5}gVs`8aM?;rot^4Z`2%bZ#s7*!UulbJOZyNzpxJ`rEiiMMaedyxbPE z-#FZ?=;Wlyeq^y#I4Gg&)Vtg$&`EmZY<``Z4AYJ%1fM~9_z%ca`(C%h)+@4MqNy2y`Orh;(K-@UDG0{?{qZf5H*E7t zYe}4AQMS-2q@~h*+&S>`Pqn9C=$jaq$*|OCV62MLlNz{;0~50MIiDO|)B@)jzppLx zH_4yBa{lW0AOvD^qJf|^lP%7*KvIJ$o^b~IO{i!oThE$K3wyZ@o<|GniYtq4!dZ$w z!F(|qv2=MZ4mMEh9y7f#sv_)il&AhxOUOdbQ5)M$4uTB;%@A^Ml*FF4J=L+5ppNnk zSR!O2e}my9Z3affNL_{H+gEIz*?Dy0CE9i+X&#Aqh5#J z(`!hcn6!aCog^!}AZ&FGwkviIJMjs0LT~Ep>9O$0mC_s;tw@*s`#*wkKNL7Q6D)Bl z2qvS$@eQxm!`8b{#fhyv0G#z#E^Z`;!qcOGZ8wJzqQwHyZtcv)2>0%VBr758i|G4_ zDPu;DZUfiL7#jU>>f^@?Tj$TlJOow^7HPQD-7XlEodQoiGE|Z00f*)@+i?~*PEOt_ zVr}?iv-ghbu2FJ^zQV<3+qP>DA~*B~Arv-yNWIFv|K!DpmC_J$RnBfmvG5vTHkN{b z8*M`16zV{9VWJTV2ncv^+#Tw}E;l{T(4hw{F+~=I0(SXl1#3w@w~B>28)Hum2r5dU zuzc2DaxLdbPOd>lvUl$}NPss4h!xe8isGXZTo`VBvNVS#02K}dO-G5s1P9%sV6Cv# zQGnQ#o=3Do%jk=TsaP*An#mZzGhu~AO-@n&8mSo1&%QJ=#Lk}?8D+$46lLy8eKRsL z%0v&f=)e!$Ro1SR6xxyDWrUJj)F&_-rZGBeTA)X+YjrD>C13Cn;0E^%;dS7?) zvoItPwgltHcfbgTK(J+6A`$Bx5G(>p;JRqbVqrElt6{&lmlz@@%7}?O>PWk{wLwF> zsy$=23=OeRK?5HHnJ|*k?m1|$m>1=x(U=E6i0S{B5KLB*<=a*8PN+-}H=wcVv?BT^ zoL_j&_wRV~VMVFLW3Q;TQ5nwfe4LuPXvFBfHZ~y?K7^%CpyzhM%_|{JD0zWdWwfU| z0=cY|_7oNOk1qzm#VmOG+(;)|ktN2g83236h~*tTrrgH~n_={EE?>je-`RCJzRfW* z4*F>nc}WZOkOavF*`c$%DY?)#K zJImKE4g3xzRL-db4!iWI2IBl6=D;tu#cY^$It5LVgZKzVC`{-C-MkDq(t>PYc9xA% zyuVatIJVW>t+!Rc&H>!H6UCwcIrx3-IL!)UWehD-#m*xq8yp~>PQFT*c=?Ra7;rs1?wUb*ck&^Zn z@{I>_8y#P9dyY|bWZOg`fA)OL-?JcfU2lJPE`jT*8pYbceJ49S=nZz9UV(xjh%^M2 z|0V8aB2s1fE`WR1S53@(Zp zAIK#!+KnLsv5A{5x)=~?p=m}_2_j9?#0{OYF$s`Z_!a}5TTJ^bm>DWh9H3Hv|0@1{ z3;Yf{U(KVUxgzVOAe%cR<{!ZePI1S@?p#sy&|-8jdUyXY0`12nvN=K`fmX z1Ixq^Qz&r+1|OZ@#%v!bW-|HSsVIGrh2{za1~Jft2%BLbv22gTgk{RksmqNwx&5UZ zQAOL1rlA~#E{KS@ys%YB{$6!+Adt=2@%sKh$Ud`}q8_p@0iVo5tJ}FpkLl;%Q)Vl} zD7mO8Fl-L#_`J#*yl)T4COtLvsL*?D-(D?bw%p?XrIP!Bz}CbpB5)vEn!Nf}V%BpX zjA|iUwP^+^<^<@JFf(16PHwE4dP>2i+E<}b$t zeR~@1@le;xTlIpn7c*b&T3%H(iApX!v-*gWQ!rulNTmpBRfI+NaZB83zCzGc&#sIA z@RTarE`e@NLfFG>iih zL^*I!{6vtnQ5EIoi_s6~fM!%|=Mhglz&b0FD+j7_#y`o(Sel-d<<0M;1RQSw#w%BN zv`fEW*tof;a4&n11IsmfiTgMj6HNqiXG9$`3DTM$K7`ec@CcLm)hb?T4pxA{hYm@g zZqT-G{C1h2Sr2Wg3EJjqtzr z4%i%_y!a*N0fTV{Ura&$!Zq~z&A&8^XDccyme7))<2*`pIhL#JZ@kGU)Ql(Ob-5iH z8pm*4om~YZ!q>~;od%a2*{!5g`H5t^sA$fRQ~l5z&HPT@NODo zJ9O-*30m&pq}`MSNth6g;n5P_J{a&>u!j)7!BWavPBsYSU*DA617UcnZzTa_LXSaH z=iIfbII(}^P&@`!uUmI@;Atc(ivIbx$9K_e^;Q3AK5%Ks=IcGAEf2T{M^zVbQ9=-E zYEqPnj}Qz{yqH{K)1;`M{dbc^?1`24fhg zQ1((e=HS4?R?$Igg&K3-5eW&cA>=F^gMi}&_k$}XR>tQPX3sY?9C7GD>>mP|#%&hU z2&6USX5qEYi4V-J!YnSOpkN5xIzp9-?Nr>~8X6`me&%jv6Uy*w@!90cVJi9XK`O~l zQC|MCNQ;IE7q}zU&apRd3h_PV+HopiMiP3>0j)^O%Blp}mD^X~X|OQEFl;rpOPO2| zqTMFiz%11ar%{6#l+nUtTFApB&`o2u1_~ZN@J~Xa@Dn5Q6Ibc&Cd$d32GnG|YX?9y zApr(55(qaDU^nL^!S$(h5u_2F#$$kOUp;Ib8bm(NgYatKVg?sKwVw51LwQ&oIJU4cA1XoXb$ zmCfyhr*KKh17eeaM?r);Zk$GO2=uf7^;&vnSbvR z!4&MWl122L2-}Od{*FffJ4H1>$hm+%G#yBN#xq7>X;%Qt&?9mG!PUqriyeQfqpErM z_c{f7I*DJ+YnekQG3=7XN`EYaXaJ%!EI|@(=ct2Pj5Tgc z)pSy4r*E4DE#IW;-!xfj>jF+>bfBg3I^y=}pJEE`z zJjW*iGbmy1vd{SW`0`FI|H}i~ITbV7yl;J54uU>`5EPY{XL%{8QvMWXGp2ko8|sRR zq9{O~U~46|#9Rq5h_%EiwC+3l>TM9lKqG`g1u63wKy#+Fq^z;7dl;A>;AMR89-a#L zQnlQ#_%DE1Z<^VBX^rJ_G_dHL_ zo@uMzfv>2RI{40=JA%**`i%>YD*STZ&Te{lc$AK(s`i>K+tRy!A%GUoQXb;kbXNUh?u>06i zARqzg2u22W?V+Jvcl9DR+|UZy#m=9L@Bo~C3-;d3T>b{^-C4L?CM&VdsP^kFcB?$2 zyTH>z3};AF;1vre6cFrj_j`-F8AbduE{!a!^=U^(f+CxXfsz5r!XZenfjX~9!0>?~ zdk2DZbPqKJ%!b?5-+uH{Xs7*uVN=%Du3-xfG=s#%;m%_w)Sb+o11~Q(xHVypfB%@9 zRRok@Ny@CE4vt8RhUokS!yl-o?tTMJjErK5cB2gpQUmX&9}i2A4Ykkn(r)uLVMO;w zMCA%r`=FP+NL1M3l+OB^WRaODbwLSg^4EuKZ^uH6D(^E>eeY#g`~+(uAui4a^5L0; z`QSZ-9U(;IAg4Lo-Z32~_$-XMb5EbHI_NwS!wGu;Pbw9W{%tCkI>Ogu?j|}15TTOC zbXsdLBPAvL)xcp-#2BXc=RSrZYUoVbxIq|C@^ok6pqI$$V#d8E~ZZ%Y3c!v*&;V>}cV{+N2XX{Q>( zNQwdiw&3r8LEXwSJJv0|h&PF?1;D} z^g#fHi%XcZjHFC^8PGJO6Ig#O^Ms((IBh}7r&Q*0Umm%g?q)4}E>1OiE&*B)wKT}H zIDaV4D4CTCcm3JxK7904&nWLWx!=m$KkitM>U+1x{F42lFxP`N2%dHQc@?qQHq!rd zd&?(!Gw`!ukc*O}2)#C{k1M0Gftm*_%D_u(&7t#$S+T;rfQBnBIl1hWw_!7LZDITK zkCyI9CZkdHQ8e4z*{M>8DNoC61Mb8I|8#9LLyV~?OJ5pNi9NdkX2?uU;sw8$SmEEgfeI<}5~FLOiqJ#{qM@ng>(O zlHNeG?T8ngnV59r`>*{2rglwDP3;)Ki_K85wo%1?LG(W>nGEz zn$gB1qw5bYv;TGQ5+g!k_ALPSH*hT?vwbsc8u9J|ou!Fu0N_@>?@r}f`e8E+iLt10 zse)O!bsl_y1tP+QUI;`$Jj1#_BQ`-5l)-3ZJ|Za2IXRtEyL&6DkkHNp#z8VT2Gtdy zRTbq*caT*Jx(gq!m!y1jL82ZJya^i7qo{RYb}(NjyuOWx*ph?DC8=VYhB{&*73XgNs_wjDE`Z^C0Qz`_+Hj0_Z!~LH(mesUe||F7pfn% zeL18#rZGG}C1e)=DsO&&<|osW7S^nGa@Ulf`~AwGY@znRqyP{Hd$KV#7Rqz_AYi=^OkP;5C4ie#{d8T literal 0 HcmV?d00001 diff --git a/product_pricelist_simulation/tests/__init__.py b/product_pricelist_simulation/tests/__init__.py new file mode 100644 index 00000000000..d9b96c4fa5a --- /dev/null +++ b/product_pricelist_simulation/tests/__init__.py @@ -0,0 +1 @@ +from . import test_module diff --git a/product_pricelist_simulation/tests/test_module.py b/product_pricelist_simulation/tests/test_module.py new file mode 100644 index 00000000000..156ac5559da --- /dev/null +++ b/product_pricelist_simulation/tests/test_module.py @@ -0,0 +1,42 @@ +# Copyright (C) 2021 - Today: GRAP (http://www.grap.coop) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests import common + + +class TestModule(common.TransactionCase): + def setUp(self): + super().setUp() + self.product = self.env.ref("product_pricelist_margin.demo_product") + self.wizard = self.env["wizard.preview.pricelist.margin"].with_context( + active_model="product.product", + active_id=self.product.id).create({}) + + def _get_wizard_line(self, pricelist_xml_id): + for line in self.wizard.line_ids: + if line.pricelist_id == self.env.ref(pricelist_xml_id): + return line + return False + + def test_buttons(self): + self.product.button_margin_per_pricelist() + self.product.product_tmpl_id.button_margin_per_pricelist() + + def test_margin_computation(self): + line = self._get_wizard_line("product.list0") + self.assertEquals( + line.margin_percent, 50.0, + "By default a product with a cost of 20 and a sale price of 40" + " should have a margin of 50%.") + + self.assertEquals( + line.bg_color, "rgb(105, {green:.0f}, {blue:.0f})".format( + green=105 + 1.5 * 50, + blue=255 - 1.5 * 50) + ) + + # We set a date when the pricelist has an exception + self.wizard.price_date = "2000-01-02" + line = self._get_wizard_line("product.list0") + self.assertEquals(line.margin_percent, 75.0) diff --git a/product_pricelist_simulation/views/view_product_template.xml b/product_pricelist_simulation/views/view_product_template.xml new file mode 100644 index 00000000000..f182e8dbbe4 --- /dev/null +++ b/product_pricelist_simulation/views/view_product_template.xml @@ -0,0 +1,23 @@ + + + + + + + product.template + + + +