From 72cb1ff9c9fee61ff3f79d0f5e144058430e6961 Mon Sep 17 00:00:00 2001 From: jopster Date: Thu, 23 Jul 2026 08:54:44 +0200 Subject: [PATCH] Blockly --- .gitignore | 514 ++++ __manifest__.py | 14 + controllers/__init__.py | 2 + .../__pycache__/__init__.cpython-311.pyc | Bin 463 -> 568 bytes .../__pycache__/adportal.cpython-311.pyc | Bin 0 -> 62174 bytes .../ai_agent_controller.cpython-311.pyc | Bin 0 -> 105901 bytes .../dss_form_input_controller.cpython-311.pyc | Bin 36352 -> 50869 bytes ..._screendesigner_controller.cpython-311.pyc | Bin controllers/adportal.py | 1161 ++++++++ controllers/ai_agent_controller.py | 2328 +++++++++++++++++ controllers/dss_form_input_controller.py | 248 +- controllers/dss_webhook_controller.py | 0 models/__init__.py | 9 + models/__pycache__/__init__.cpython-311.pyc | Bin 2227 -> 2832 bytes models/__pycache__/company.cpython-311.pyc | Bin 3109 -> 3927 bytes models/__pycache__/dss.cpython-311.pyc | Bin 25812 -> 28203 bytes models/__pycache__/dss_ads.cpython-311.pyc | Bin 28634 -> 31181 bytes .../dss_advertisefields.cpython-311.pyc | Bin 22085 -> 24333 bytes .../__pycache__/dss_binaries.cpython-311.pyc | Bin 24326 -> 24638 bytes .../__pycache__/dss_contract.cpython-311.pyc | Bin 110090 -> 142368 bytes .../dss_contract_uservar.cpython-311.pyc | Bin 3243 -> 3322 bytes .../dss_crm_extended.cpython-311.pyc | Bin .../dss_display_templates.cpython-311.pyc | Bin 5716 -> 5840 bytes .../__pycache__/dss_eventdays.cpython-311.pyc | Bin .../__pycache__/dss_kileads.cpython-311.pyc | Bin .../dss_kileads_requests.cpython-311.pyc | Bin .../__pycache__/dss_linkmail.cpython-311.pyc | Bin .../__pycache__/dss_m2mmail.cpython-311.pyc | Bin .../__pycache__/dss_maintains.cpython-311.pyc | Bin 13976 -> 14908 bytes models/__pycache__/dss_marker.cpython-311.pyc | Bin .../dss_onlinestate.cpython-311.pyc | Bin .../__pycache__/dss_projects.cpython-311.pyc | Bin 42760 -> 45414 bytes .../__pycache__/dss_res_users.cpython-311.pyc | Bin 826 -> 9004 bytes .../__pycache__/dss_settings.cpython-311.pyc | Bin 21878 -> 65281 bytes .../dss_settings_variables.cpython-311.pyc | Bin .../dss_systemtypen.cpython-311.pyc | Bin 6225 -> 6332 bytes .../__pycache__/dss_trigger.cpython-311.pyc | Bin 111825 -> 115357 bytes .../dss_web_contracts.cpython-311.pyc | Bin .../dss_web_contracts_all.cpython-311.pyc | Bin .../dss_web_contracts_all2.cpython-311.pyc | Bin .../dss_web_contracts_entry.cpython-311.pyc | Bin .../dss_web_contracts_stream.cpython-311.pyc | Bin models/__pycache__/dsslogger.cpython-311.pyc | Bin models/__pycache__/utils.cpython-311.pyc | Bin models/company.py | 7 + models/dss.py | 37 +- models/dss_ads.py | 19 + models/dss_advertisefields.py | 46 + ...ertisefields_create_from_project_wizard.py | 52 + ...rtisefields_create_from_template_wizard.py | 94 + ...advertisefields_save_as_template_wizard.py | 113 + models/dss_ai_chat_history.py | 17 + models/dss_binaries.py | 111 +- models/dss_company_type.py | 74 + models/dss_contract.py | 440 +++- models/dss_contract_uservar.py | 1 + models/dss_contracts_move_field_wizard.py | 76 + models/dss_crm_extended.py | 0 models/dss_csvs.py | 326 +++ models/dss_display_templates.py | 1 + models/dss_kileads.py | 0 models/dss_kileads_requests.py | 0 models/dss_maintains.py | 56 +- models/dss_phonecenter_query.py | 472 ++++ models/dss_portal_user_profile.py | 24 + models/dss_projects.py | 37 + models/dss_res_users.py | 113 +- models/dss_settings.py | 784 +++++- models/dss_systemtypen.py | 1 + models/dss_trigger.py | 47 +- models/utils.py | 0 security/groups.xml | 35 + security/ir.model.access.csv | 12 +- static/src/helpers/helper.html | 52 + static/src/img/amazon.png | Bin static/src/img/img_105_b.jpg | Bin static/src/img/img_105_b_2.jpg | Bin static/src/img/img_105_b_3.jpg | Bin static/src/img/img_113_b.jpg | Bin static/src/img/img_113_b_2.jpg | Bin static/src/img/img_113_b_3.jpg | Bin static/src/img/img_115_b.jpg | Bin static/src/img/img_117_b.jpg | Bin static/src/img/img_119_b.jpg | Bin static/src/img/img_119_b_2.jpg | Bin static/src/img/img_119_b_3.jpg | Bin static/src/img/img_121_b.jpg | Bin static/src/img/img_134_b.jpg | Bin static/src/img/img_134_b_2.jpg | Bin static/src/img/img_134_b_3.jpg | Bin static/src/img/img_135_b.jpg | Bin static/src/img/img_137_b.jpg | Bin static/src/img/img_137_b_2.jpg | Bin static/src/img/img_137_b_3.jpg | Bin static/src/img/img_138_b.jpg | Bin static/src/img/img_138_b_2.jpg | Bin static/src/img/img_138_b_3.jpg | Bin static/src/img/img_142_b.jpg | Bin static/src/img/img_142_b_2.jpg | Bin static/src/img/img_142_b_3.jpg | Bin static/src/img/img_145_b.jpg | Bin static/src/img/img_145_b_2.jpg | Bin static/src/img/img_145_b_3.jpg | Bin static/src/img/img_146_b.jpg | Bin static/src/img/img_146_b_2.jpg | Bin static/src/img/img_146_b_3.jpg | Bin static/src/img/img_148_b.jpg | Bin static/src/img/img_148_b_2.jpg | Bin static/src/img/img_14_b.jpg | Bin static/src/img/img_14_b_2.jpg | Bin static/src/img/img_14_b_3.jpg | Bin static/src/img/img_150_b.jpg | Bin static/src/img/img_150_b_2.jpg | Bin static/src/img/img_150_b_3.jpg | Bin static/src/img/img_151_b.jpg | Bin static/src/img/img_151_b_2.jpg | Bin static/src/img/img_151_b_3.jpg | Bin static/src/img/img_17_b.jpg | Bin static/src/img/img_18_b.jpg | Bin static/src/img/img_21_b.jpg | Bin static/src/img/img_21_b_2.jpg | Bin static/src/img/img_21_b_3.jpg | Bin static/src/img/img_225_b.jpg | Bin 0 -> 344962 bytes static/src/img/img_225_b_2.jpg | Bin 0 -> 186621 bytes static/src/img/img_225_b_3.jpg | Bin 0 -> 213654 bytes static/src/img/img_229_b.jpg | Bin static/src/img/img_229_b_2.jpg | Bin static/src/img/img_241_b.jpg | Bin static/src/img/img_241_b_2.jpg | Bin static/src/img/img_241_b_3.jpg | Bin static/src/img/img_387_b.jpg | Bin static/src/img/img_387_b_2.jpg | Bin static/src/img/img_389_b.jpg | Bin static/src/img/img_389_b_2.jpg | Bin static/src/img/img_389_b_3.jpg | Bin static/src/img/img_4_b.jpg | Bin static/src/img/img_4_b_2.jpg | Bin static/src/img/img_5_b.jpg | Bin static/src/img/img_62_b.jpg | Bin static/src/img/img_62_b_2.jpg | Bin static/src/img/img_62_b_3.jpg | Bin static/src/img/img_63_b.jpg | Bin static/src/img/img_63_b_2.jpg | Bin static/src/img/img_63_b_3.jpg | Bin static/src/img/img_65_b.jpg | Bin static/src/img/img_65_b_2.jpg | Bin static/src/img/img_65_b_3.jpg | Bin static/src/img/img_66_b.jpg | Bin static/src/img/img_66_b_2.jpg | Bin static/src/img/img_66_b_3.jpg | Bin static/src/img/img_67_b.jpg | Bin static/src/img/img_68_b.jpg | Bin static/src/img/img_69_b.jpg | Bin static/src/img/img_70_b.jpg | Bin static/src/img/img_70_b_2.jpg | Bin static/src/img/img_71_b.jpg | Bin static/src/img/img_72_b.jpg | Bin static/src/img/img_72_b_2.jpg | Bin static/src/img/img_72_b_3.jpg | Bin static/src/img/img_73_b.jpg | Bin static/src/img/img_74_b.jpg | Bin static/src/img/img_74_b_2.jpg | Bin static/src/img/img_74_b_3.jpg | Bin static/src/img/img_76_b.jpg | Bin static/src/img/img_77_b.jpg | Bin static/src/img/img_78_b.jpg | Bin static/src/img/img_79_b.jpg | Bin static/src/img/img_79_b_2.jpg | Bin static/src/img/img_79_b_3.jpg | Bin static/src/img/img_81_b.jpg | Bin static/src/img/img_81_b_2.jpg | Bin static/src/img/img_81_b_3.jpg | Bin static/src/img/img_83_b.jpg | Bin static/src/img/img_84_b.jpg | Bin static/src/img/img_85_b.jpg | Bin static/src/img/img_86_b.jpg | Bin static/src/img/img_87_b.jpg | Bin static/src/img/img_88_b.jpg | Bin static/src/img/img_90_b.jpg | Bin static/src/img/img_90_b_2.jpg | Bin static/src/img/img_90_b_3.jpg | Bin static/src/img/img_91_b.jpg | Bin static/src/img/img_92_b.jpg | Bin static/src/img/img_92_b_3.jpg | Bin static/src/img/img_93_b.jpg | Bin static/src/img/img_94_b.jpg | Bin static/src/img/img_94_b_2.jpg | Bin static/src/img/img_94_b_3.jpg | Bin static/src/img/img_96_b.jpg | Bin static/src/img/img_97_b.jpg | Bin static/src/img/img_98_b.jpg | Bin static/src/img/img_98_b_2.jpg | Bin static/src/img/img_99_b.jpg | Bin static/src/img/joyn.png | Bin static/src/img/netflix.png | Bin static/src/img/snippets/dss_container.svg | 0 static/src/img/waipu.png | Bin static/src/info.txt | 0 static/src/js/ace/info.txt | 0 static/src/js/ace/src-noconflict/ace.js | 0 .../src/js/ace/src-noconflict/ext-beautify.js | 0 .../js/ace/src-noconflict/ext-code_lens.js | 0 .../js/ace/src-noconflict/ext-command_bar.js | 0 static/src/js/ace/src-noconflict/ext-diff.js | 0 .../ext-elastic_tabstops_lite.js | 0 static/src/js/ace/src-noconflict/ext-emmet.js | 0 .../js/ace/src-noconflict/ext-error_marker.js | 0 .../src/js/ace/src-noconflict/ext-hardwrap.js | 0 .../src-noconflict/ext-inline_autocomplete.js | 0 .../ace/src-noconflict/ext-keybinding_menu.js | 0 .../ace/src-noconflict/ext-language_tools.js | 0 .../src/js/ace/src-noconflict/ext-linking.js | 0 .../src/js/ace/src-noconflict/ext-modelist.js | 0 .../src/js/ace/src-noconflict/ext-options.js | 0 .../src/js/ace/src-noconflict/ext-prompt.js | 0 static/src/js/ace/src-noconflict/ext-rtl.js | 0 .../js/ace/src-noconflict/ext-searchbox.js | 0 .../ace/src-noconflict/ext-settings_menu.js | 0 .../src-noconflict/ext-simple_tokenizer.js | 0 .../js/ace/src-noconflict/ext-spellcheck.js | 0 static/src/js/ace/src-noconflict/ext-split.js | 0 .../src-noconflict/ext-static_highlight.js | 0 .../js/ace/src-noconflict/ext-statusbar.js | 0 .../src/js/ace/src-noconflict/ext-textarea.js | 0 .../js/ace/src-noconflict/ext-themelist.js | 0 .../js/ace/src-noconflict/ext-whitespace.js | 0 static/src/js/ace/src-noconflict/info.txt | 0 .../js/ace/src-noconflict/keybinding-emacs.js | 0 .../ace/src-noconflict/keybinding-sublime.js | 0 .../js/ace/src-noconflict/keybinding-vim.js | 0 .../ace/src-noconflict/keybinding-vscode.js | 0 static/src/js/ace/src-noconflict/mode-abap.js | 0 static/src/js/ace/src-noconflict/mode-abc.js | 0 .../ace/src-noconflict/mode-actionscript.js | 0 static/src/js/ace/src-noconflict/mode-ada.js | 0 static/src/js/ace/src-noconflict/mode-alda.js | 0 .../js/ace/src-noconflict/mode-apache_conf.js | 0 static/src/js/ace/src-noconflict/mode-apex.js | 0 .../js/ace/src-noconflict/mode-applescript.js | 0 static/src/js/ace/src-noconflict/mode-aql.js | 0 .../js/ace/src-noconflict/mode-asciidoc.js | 0 static/src/js/ace/src-noconflict/mode-asl.js | 0 .../ace/src-noconflict/mode-assembly_arm32.js | 0 .../ace/src-noconflict/mode-assembly_x86.js | 0 .../src/js/ace/src-noconflict/mode-astro.js | 0 .../js/ace/src-noconflict/mode-autohotkey.js | 0 .../src/js/ace/src-noconflict/mode-basic.js | 0 .../js/ace/src-noconflict/mode-batchfile.js | 0 .../src/js/ace/src-noconflict/mode-bibtex.js | 0 .../js/ace/src-noconflict/mode-c9search.js | 0 .../src/js/ace/src-noconflict/mode-c_cpp.js | 0 .../src/js/ace/src-noconflict/mode-cirru.js | 0 .../src/js/ace/src-noconflict/mode-clojure.js | 0 static/src/js/ace/src-noconflict/mode-clue.js | 0 .../src/js/ace/src-noconflict/mode-cobol.js | 0 .../src/js/ace/src-noconflict/mode-coffee.js | 0 .../js/ace/src-noconflict/mode-coldfusion.js | 0 .../src/js/ace/src-noconflict/mode-crystal.js | 0 .../src/js/ace/src-noconflict/mode-csharp.js | 0 .../src-noconflict/mode-csound_document.js | 0 .../src-noconflict/mode-csound_orchestra.js | 0 .../ace/src-noconflict/mode-csound_score.js | 0 static/src/js/ace/src-noconflict/mode-csp.js | 0 static/src/js/ace/src-noconflict/mode-css.js | 0 static/src/js/ace/src-noconflict/mode-csv.js | 0 .../src/js/ace/src-noconflict/mode-curly.js | 0 .../js/ace/src-noconflict/mode-cuttlefish.js | 0 static/src/js/ace/src-noconflict/mode-d.js | 0 static/src/js/ace/src-noconflict/mode-dart.js | 0 static/src/js/ace/src-noconflict/mode-diff.js | 0 .../src/js/ace/src-noconflict/mode-django.js | 0 .../js/ace/src-noconflict/mode-dockerfile.js | 0 static/src/js/ace/src-noconflict/mode-dot.js | 0 .../src/js/ace/src-noconflict/mode-drools.js | 0 .../src/js/ace/src-noconflict/mode-edifact.js | 0 .../src/js/ace/src-noconflict/mode-eiffel.js | 0 static/src/js/ace/src-noconflict/mode-ejs.js | 0 .../src/js/ace/src-noconflict/mode-elixir.js | 0 static/src/js/ace/src-noconflict/mode-elm.js | 0 .../src/js/ace/src-noconflict/mode-erlang.js | 0 static/src/js/ace/src-noconflict/mode-flix.js | 0 .../src/js/ace/src-noconflict/mode-forth.js | 0 .../src/js/ace/src-noconflict/mode-fortran.js | 0 .../src/js/ace/src-noconflict/mode-fsharp.js | 0 static/src/js/ace/src-noconflict/mode-fsl.js | 0 static/src/js/ace/src-noconflict/mode-ftl.js | 0 .../src/js/ace/src-noconflict/mode-gcode.js | 0 .../src/js/ace/src-noconflict/mode-gherkin.js | 0 .../js/ace/src-noconflict/mode-gitignore.js | 0 static/src/js/ace/src-noconflict/mode-glsl.js | 0 .../js/ace/src-noconflict/mode-gobstones.js | 0 .../src/js/ace/src-noconflict/mode-golang.js | 0 .../ace/src-noconflict/mode-graphqlschema.js | 0 .../src/js/ace/src-noconflict/mode-groovy.js | 0 static/src/js/ace/src-noconflict/mode-haml.js | 0 .../js/ace/src-noconflict/mode-handlebars.js | 0 .../src/js/ace/src-noconflict/mode-haskell.js | 0 .../ace/src-noconflict/mode-haskell_cabal.js | 0 static/src/js/ace/src-noconflict/mode-haxe.js | 0 .../src/js/ace/src-noconflict/mode-hjson.js | 0 static/src/js/ace/src-noconflict/mode-html.js | 0 .../js/ace/src-noconflict/mode-html_elixir.js | 0 .../js/ace/src-noconflict/mode-html_ruby.js | 0 static/src/js/ace/src-noconflict/mode-ini.js | 0 static/src/js/ace/src-noconflict/mode-io.js | 0 static/src/js/ace/src-noconflict/mode-ion.js | 0 static/src/js/ace/src-noconflict/mode-jack.js | 0 static/src/js/ace/src-noconflict/mode-jade.js | 0 static/src/js/ace/src-noconflict/mode-java.js | 0 .../js/ace/src-noconflict/mode-javascript.js | 0 static/src/js/ace/src-noconflict/mode-jexl.js | 0 static/src/js/ace/src-noconflict/mode-json.js | 0 .../src/js/ace/src-noconflict/mode-json5.js | 0 .../src/js/ace/src-noconflict/mode-jsoniq.js | 0 static/src/js/ace/src-noconflict/mode-jsp.js | 0 static/src/js/ace/src-noconflict/mode-jssm.js | 0 static/src/js/ace/src-noconflict/mode-jsx.js | 0 .../src/js/ace/src-noconflict/mode-julia.js | 0 .../src/js/ace/src-noconflict/mode-kotlin.js | 0 .../src/js/ace/src-noconflict/mode-latex.js | 0 .../src/js/ace/src-noconflict/mode-latte.js | 0 static/src/js/ace/src-noconflict/mode-less.js | 0 .../src/js/ace/src-noconflict/mode-liquid.js | 0 static/src/js/ace/src-noconflict/mode-lisp.js | 0 .../js/ace/src-noconflict/mode-livescript.js | 0 .../src/js/ace/src-noconflict/mode-logiql.js | 0 .../src/js/ace/src-noconflict/mode-logtalk.js | 0 static/src/js/ace/src-noconflict/mode-lsl.js | 0 static/src/js/ace/src-noconflict/mode-lua.js | 0 .../src/js/ace/src-noconflict/mode-luapage.js | 0 .../src/js/ace/src-noconflict/mode-lucene.js | 0 .../js/ace/src-noconflict/mode-makefile.js | 0 .../js/ace/src-noconflict/mode-markdown.js | 0 static/src/js/ace/src-noconflict/mode-mask.js | 0 .../src/js/ace/src-noconflict/mode-matlab.js | 0 static/src/js/ace/src-noconflict/mode-maze.js | 0 .../js/ace/src-noconflict/mode-mediawiki.js | 0 static/src/js/ace/src-noconflict/mode-mel.js | 0 static/src/js/ace/src-noconflict/mode-mips.js | 0 .../src/js/ace/src-noconflict/mode-mixal.js | 0 .../js/ace/src-noconflict/mode-mushcode.js | 0 .../src/js/ace/src-noconflict/mode-mysql.js | 0 .../src/js/ace/src-noconflict/mode-nasal.js | 0 .../src/js/ace/src-noconflict/mode-nginx.js | 0 static/src/js/ace/src-noconflict/mode-nim.js | 0 static/src/js/ace/src-noconflict/mode-nix.js | 0 static/src/js/ace/src-noconflict/mode-nsis.js | 0 .../js/ace/src-noconflict/mode-nunjucks.js | 0 .../js/ace/src-noconflict/mode-objectivec.js | 0 .../src/js/ace/src-noconflict/mode-ocaml.js | 0 static/src/js/ace/src-noconflict/mode-odin.js | 0 .../src/js/ace/src-noconflict/mode-partiql.js | 0 .../src/js/ace/src-noconflict/mode-pascal.js | 0 static/src/js/ace/src-noconflict/mode-perl.js | 0 .../src/js/ace/src-noconflict/mode-pgsql.js | 0 static/src/js/ace/src-noconflict/mode-php.js | 0 .../src-noconflict/mode-php_laravel_blade.js | 0 static/src/js/ace/src-noconflict/mode-pig.js | 0 .../js/ace/src-noconflict/mode-plain_text.js | 0 .../src/js/ace/src-noconflict/mode-plsql.js | 0 .../js/ace/src-noconflict/mode-powershell.js | 0 .../src/js/ace/src-noconflict/mode-praat.js | 0 .../src/js/ace/src-noconflict/mode-prisma.js | 0 .../src/js/ace/src-noconflict/mode-prolog.js | 0 .../js/ace/src-noconflict/mode-properties.js | 0 .../js/ace/src-noconflict/mode-protobuf.js | 0 static/src/js/ace/src-noconflict/mode-prql.js | 0 .../src/js/ace/src-noconflict/mode-puppet.js | 0 .../src/js/ace/src-noconflict/mode-python.js | 0 static/src/js/ace/src-noconflict/mode-qml.js | 0 static/src/js/ace/src-noconflict/mode-r.js | 0 static/src/js/ace/src-noconflict/mode-raku.js | 0 .../src/js/ace/src-noconflict/mode-razor.js | 0 static/src/js/ace/src-noconflict/mode-rdoc.js | 0 static/src/js/ace/src-noconflict/mode-red.js | 0 .../js/ace/src-noconflict/mode-redshift.js | 0 .../src/js/ace/src-noconflict/mode-rhtml.js | 0 .../src/js/ace/src-noconflict/mode-robot.js | 0 static/src/js/ace/src-noconflict/mode-rst.js | 0 static/src/js/ace/src-noconflict/mode-ruby.js | 0 static/src/js/ace/src-noconflict/mode-rust.js | 0 static/src/js/ace/src-noconflict/mode-sac.js | 0 static/src/js/ace/src-noconflict/mode-sass.js | 0 static/src/js/ace/src-noconflict/mode-scad.js | 0 .../src/js/ace/src-noconflict/mode-scala.js | 0 .../src/js/ace/src-noconflict/mode-scheme.js | 0 .../src/js/ace/src-noconflict/mode-scrypt.js | 0 static/src/js/ace/src-noconflict/mode-scss.js | 0 static/src/js/ace/src-noconflict/mode-sh.js | 0 static/src/js/ace/src-noconflict/mode-sjs.js | 0 static/src/js/ace/src-noconflict/mode-slim.js | 0 .../src/js/ace/src-noconflict/mode-smarty.js | 0 .../src/js/ace/src-noconflict/mode-smithy.js | 0 .../js/ace/src-noconflict/mode-snippets.js | 0 .../ace/src-noconflict/mode-soy_template.js | 0 .../src/js/ace/src-noconflict/mode-space.js | 0 .../src/js/ace/src-noconflict/mode-sparql.js | 0 static/src/js/ace/src-noconflict/mode-sql.js | 0 .../js/ace/src-noconflict/mode-sqlserver.js | 0 .../src/js/ace/src-noconflict/mode-stylus.js | 0 static/src/js/ace/src-noconflict/mode-svg.js | 0 .../src/js/ace/src-noconflict/mode-swift.js | 0 static/src/js/ace/src-noconflict/mode-tcl.js | 0 .../js/ace/src-noconflict/mode-terraform.js | 0 static/src/js/ace/src-noconflict/mode-tex.js | 0 static/src/js/ace/src-noconflict/mode-text.js | 0 .../src/js/ace/src-noconflict/mode-textile.js | 0 static/src/js/ace/src-noconflict/mode-toml.js | 0 static/src/js/ace/src-noconflict/mode-tsv.js | 0 static/src/js/ace/src-noconflict/mode-tsx.js | 0 .../src/js/ace/src-noconflict/mode-turtle.js | 0 static/src/js/ace/src-noconflict/mode-twig.js | 0 .../js/ace/src-noconflict/mode-typescript.js | 0 static/src/js/ace/src-noconflict/mode-vala.js | 0 .../js/ace/src-noconflict/mode-vbscript.js | 0 .../js/ace/src-noconflict/mode-velocity.js | 0 .../src/js/ace/src-noconflict/mode-verilog.js | 0 static/src/js/ace/src-noconflict/mode-vhdl.js | 0 .../js/ace/src-noconflict/mode-visualforce.js | 0 static/src/js/ace/src-noconflict/mode-vue.js | 0 .../src/js/ace/src-noconflict/mode-wollok.js | 0 static/src/js/ace/src-noconflict/mode-xml.js | 0 .../src/js/ace/src-noconflict/mode-xquery.js | 0 static/src/js/ace/src-noconflict/mode-yaml.js | 0 static/src/js/ace/src-noconflict/mode-zeek.js | 0 static/src/js/ace/src-noconflict/mode-zig.js | 0 .../js/ace/src-noconflict/snippets/abap.js | 0 .../src/js/ace/src-noconflict/snippets/abc.js | 0 .../src-noconflict/snippets/actionscript.js | 0 .../src/js/ace/src-noconflict/snippets/ada.js | 0 .../js/ace/src-noconflict/snippets/alda.js | 0 .../src-noconflict/snippets/apache_conf.js | 0 .../js/ace/src-noconflict/snippets/apex.js | 0 .../src-noconflict/snippets/applescript.js | 0 .../src/js/ace/src-noconflict/snippets/aql.js | 0 .../ace/src-noconflict/snippets/asciidoc.js | 0 .../src/js/ace/src-noconflict/snippets/asl.js | 0 .../src-noconflict/snippets/assembly_arm32.js | 0 .../src-noconflict/snippets/assembly_x86.js | 0 .../js/ace/src-noconflict/snippets/astro.js | 0 .../ace/src-noconflict/snippets/autohotkey.js | 0 .../js/ace/src-noconflict/snippets/basic.js | 0 .../ace/src-noconflict/snippets/batchfile.js | 0 .../js/ace/src-noconflict/snippets/bibtex.js | 0 .../ace/src-noconflict/snippets/c9search.js | 0 .../js/ace/src-noconflict/snippets/c_cpp.js | 0 .../js/ace/src-noconflict/snippets/cirru.js | 0 .../js/ace/src-noconflict/snippets/clojure.js | 0 .../js/ace/src-noconflict/snippets/clue.js | 0 .../js/ace/src-noconflict/snippets/cobol.js | 0 .../js/ace/src-noconflict/snippets/coffee.js | 0 .../ace/src-noconflict/snippets/coldfusion.js | 0 .../js/ace/src-noconflict/snippets/crystal.js | 0 .../js/ace/src-noconflict/snippets/csharp.js | 0 .../snippets/csound_document.js | 0 .../snippets/csound_orchestra.js | 0 .../src-noconflict/snippets/csound_score.js | 0 .../src/js/ace/src-noconflict/snippets/csp.js | 0 .../src/js/ace/src-noconflict/snippets/css.js | 0 .../src/js/ace/src-noconflict/snippets/csv.js | 0 .../js/ace/src-noconflict/snippets/curly.js | 0 .../ace/src-noconflict/snippets/cuttlefish.js | 0 .../src/js/ace/src-noconflict/snippets/d.js | 0 .../js/ace/src-noconflict/snippets/dart.js | 0 .../js/ace/src-noconflict/snippets/diff.js | 0 .../js/ace/src-noconflict/snippets/django.js | 0 .../ace/src-noconflict/snippets/dockerfile.js | 0 .../src/js/ace/src-noconflict/snippets/dot.js | 0 .../js/ace/src-noconflict/snippets/drools.js | 0 .../js/ace/src-noconflict/snippets/edifact.js | 0 .../js/ace/src-noconflict/snippets/eiffel.js | 0 .../src/js/ace/src-noconflict/snippets/ejs.js | 0 .../js/ace/src-noconflict/snippets/elixir.js | 0 .../src/js/ace/src-noconflict/snippets/elm.js | 0 .../js/ace/src-noconflict/snippets/erlang.js | 0 .../js/ace/src-noconflict/snippets/flix.js | 0 .../js/ace/src-noconflict/snippets/forth.js | 0 .../js/ace/src-noconflict/snippets/fortran.js | 0 .../js/ace/src-noconflict/snippets/fsharp.js | 0 .../src/js/ace/src-noconflict/snippets/fsl.js | 0 .../src/js/ace/src-noconflict/snippets/ftl.js | 0 .../js/ace/src-noconflict/snippets/gcode.js | 0 .../js/ace/src-noconflict/snippets/gherkin.js | 0 .../ace/src-noconflict/snippets/gitignore.js | 0 .../js/ace/src-noconflict/snippets/glsl.js | 0 .../ace/src-noconflict/snippets/gobstones.js | 0 .../js/ace/src-noconflict/snippets/golang.js | 0 .../src-noconflict/snippets/graphqlschema.js | 0 .../js/ace/src-noconflict/snippets/groovy.js | 0 .../js/ace/src-noconflict/snippets/haml.js | 0 .../ace/src-noconflict/snippets/handlebars.js | 0 .../js/ace/src-noconflict/snippets/haskell.js | 0 .../src-noconflict/snippets/haskell_cabal.js | 0 .../js/ace/src-noconflict/snippets/haxe.js | 0 .../js/ace/src-noconflict/snippets/hjson.js | 0 .../js/ace/src-noconflict/snippets/html.js | 0 .../src-noconflict/snippets/html_elixir.js | 0 .../ace/src-noconflict/snippets/html_ruby.js | 0 .../src/js/ace/src-noconflict/snippets/ini.js | 0 .../src/js/ace/src-noconflict/snippets/io.js | 0 .../src/js/ace/src-noconflict/snippets/ion.js | 0 .../js/ace/src-noconflict/snippets/jack.js | 0 .../js/ace/src-noconflict/snippets/jade.js | 0 .../js/ace/src-noconflict/snippets/java.js | 0 .../ace/src-noconflict/snippets/javascript.js | 0 .../js/ace/src-noconflict/snippets/jexl.js | 0 .../js/ace/src-noconflict/snippets/json.js | 0 .../js/ace/src-noconflict/snippets/json5.js | 0 .../js/ace/src-noconflict/snippets/jsoniq.js | 0 .../src/js/ace/src-noconflict/snippets/jsp.js | 0 .../js/ace/src-noconflict/snippets/jssm.js | 0 .../src/js/ace/src-noconflict/snippets/jsx.js | 0 .../js/ace/src-noconflict/snippets/julia.js | 0 .../js/ace/src-noconflict/snippets/kotlin.js | 0 .../js/ace/src-noconflict/snippets/latex.js | 0 .../js/ace/src-noconflict/snippets/latte.js | 0 .../js/ace/src-noconflict/snippets/less.js | 0 .../js/ace/src-noconflict/snippets/liquid.js | 0 .../js/ace/src-noconflict/snippets/lisp.js | 0 .../ace/src-noconflict/snippets/livescript.js | 0 .../js/ace/src-noconflict/snippets/logiql.js | 0 .../js/ace/src-noconflict/snippets/logtalk.js | 0 .../src/js/ace/src-noconflict/snippets/lsl.js | 0 .../src/js/ace/src-noconflict/snippets/lua.js | 0 .../js/ace/src-noconflict/snippets/luapage.js | 0 .../js/ace/src-noconflict/snippets/lucene.js | 0 .../ace/src-noconflict/snippets/makefile.js | 0 .../ace/src-noconflict/snippets/markdown.js | 0 .../js/ace/src-noconflict/snippets/mask.js | 0 .../js/ace/src-noconflict/snippets/matlab.js | 0 .../js/ace/src-noconflict/snippets/maze.js | 0 .../ace/src-noconflict/snippets/mediawiki.js | 0 .../src/js/ace/src-noconflict/snippets/mel.js | 0 .../js/ace/src-noconflict/snippets/mips.js | 0 .../js/ace/src-noconflict/snippets/mixal.js | 0 .../ace/src-noconflict/snippets/mushcode.js | 0 .../js/ace/src-noconflict/snippets/mysql.js | 0 .../js/ace/src-noconflict/snippets/nasal.js | 0 .../js/ace/src-noconflict/snippets/nginx.js | 0 .../src/js/ace/src-noconflict/snippets/nim.js | 0 .../src/js/ace/src-noconflict/snippets/nix.js | 0 .../js/ace/src-noconflict/snippets/nsis.js | 0 .../ace/src-noconflict/snippets/nunjucks.js | 0 .../ace/src-noconflict/snippets/objectivec.js | 0 .../js/ace/src-noconflict/snippets/ocaml.js | 0 .../js/ace/src-noconflict/snippets/odin.js | 0 .../js/ace/src-noconflict/snippets/partiql.js | 0 .../js/ace/src-noconflict/snippets/pascal.js | 0 .../js/ace/src-noconflict/snippets/perl.js | 0 .../js/ace/src-noconflict/snippets/pgsql.js | 0 .../src/js/ace/src-noconflict/snippets/php.js | 0 .../snippets/php_laravel_blade.js | 0 .../src/js/ace/src-noconflict/snippets/pig.js | 0 .../ace/src-noconflict/snippets/plain_text.js | 0 .../js/ace/src-noconflict/snippets/plsql.js | 0 .../ace/src-noconflict/snippets/powershell.js | 0 .../js/ace/src-noconflict/snippets/praat.js | 0 .../js/ace/src-noconflict/snippets/prisma.js | 0 .../js/ace/src-noconflict/snippets/prolog.js | 0 .../ace/src-noconflict/snippets/properties.js | 0 .../ace/src-noconflict/snippets/protobuf.js | 0 .../js/ace/src-noconflict/snippets/prql.js | 0 .../js/ace/src-noconflict/snippets/puppet.js | 0 .../js/ace/src-noconflict/snippets/python.js | 0 .../src/js/ace/src-noconflict/snippets/qml.js | 0 .../src/js/ace/src-noconflict/snippets/r.js | 0 .../js/ace/src-noconflict/snippets/raku.js | 0 .../js/ace/src-noconflict/snippets/razor.js | 0 .../js/ace/src-noconflict/snippets/rdoc.js | 0 .../src/js/ace/src-noconflict/snippets/red.js | 0 .../ace/src-noconflict/snippets/redshift.js | 0 .../js/ace/src-noconflict/snippets/rhtml.js | 0 .../js/ace/src-noconflict/snippets/robot.js | 0 .../src/js/ace/src-noconflict/snippets/rst.js | 0 .../js/ace/src-noconflict/snippets/ruby.js | 0 .../js/ace/src-noconflict/snippets/rust.js | 0 .../src/js/ace/src-noconflict/snippets/sac.js | 0 .../js/ace/src-noconflict/snippets/sass.js | 0 .../js/ace/src-noconflict/snippets/scad.js | 0 .../js/ace/src-noconflict/snippets/scala.js | 0 .../js/ace/src-noconflict/snippets/scheme.js | 0 .../js/ace/src-noconflict/snippets/scrypt.js | 0 .../js/ace/src-noconflict/snippets/scss.js | 0 .../src/js/ace/src-noconflict/snippets/sh.js | 0 .../src/js/ace/src-noconflict/snippets/sjs.js | 0 .../js/ace/src-noconflict/snippets/slim.js | 0 .../js/ace/src-noconflict/snippets/smarty.js | 0 .../js/ace/src-noconflict/snippets/smithy.js | 0 .../ace/src-noconflict/snippets/snippets.js | 0 .../src-noconflict/snippets/soy_template.js | 0 .../js/ace/src-noconflict/snippets/space.js | 0 .../js/ace/src-noconflict/snippets/sparql.js | 0 .../src/js/ace/src-noconflict/snippets/sql.js | 0 .../ace/src-noconflict/snippets/sqlserver.js | 0 .../js/ace/src-noconflict/snippets/stylus.js | 0 .../src/js/ace/src-noconflict/snippets/svg.js | 0 .../js/ace/src-noconflict/snippets/swift.js | 0 .../src/js/ace/src-noconflict/snippets/tcl.js | 0 .../ace/src-noconflict/snippets/terraform.js | 0 .../src/js/ace/src-noconflict/snippets/tex.js | 0 .../js/ace/src-noconflict/snippets/text.js | 0 .../js/ace/src-noconflict/snippets/textile.js | 0 .../js/ace/src-noconflict/snippets/toml.js | 0 .../src/js/ace/src-noconflict/snippets/tsv.js | 0 .../src/js/ace/src-noconflict/snippets/tsx.js | 0 .../js/ace/src-noconflict/snippets/turtle.js | 0 .../js/ace/src-noconflict/snippets/twig.js | 0 .../ace/src-noconflict/snippets/typescript.js | 0 .../js/ace/src-noconflict/snippets/vala.js | 0 .../ace/src-noconflict/snippets/vbscript.js | 0 .../ace/src-noconflict/snippets/velocity.js | 0 .../js/ace/src-noconflict/snippets/verilog.js | 0 .../js/ace/src-noconflict/snippets/vhdl.js | 0 .../src-noconflict/snippets/visualforce.js | 0 .../src/js/ace/src-noconflict/snippets/vue.js | 0 .../js/ace/src-noconflict/snippets/wollok.js | 0 .../src/js/ace/src-noconflict/snippets/xml.js | 0 .../js/ace/src-noconflict/snippets/xquery.js | 0 .../js/ace/src-noconflict/snippets/yaml.js | 0 .../js/ace/src-noconflict/snippets/zeek.js | 0 .../src/js/ace/src-noconflict/snippets/zig.js | 0 .../js/ace/src-noconflict/theme-ambiance.js | 0 .../src/js/ace/src-noconflict/theme-chaos.js | 0 .../src/js/ace/src-noconflict/theme-chrome.js | 0 .../js/ace/src-noconflict/theme-cloud9_day.js | 0 .../ace/src-noconflict/theme-cloud9_night.js | 0 .../theme-cloud9_night_low_color.js | 0 .../ace/src-noconflict/theme-cloud_editor.js | 0 .../src-noconflict/theme-cloud_editor_dark.js | 0 .../src/js/ace/src-noconflict/theme-clouds.js | 0 .../src-noconflict/theme-clouds_midnight.js | 0 .../src/js/ace/src-noconflict/theme-cobalt.js | 0 .../src-noconflict/theme-crimson_editor.js | 0 .../src/js/ace/src-noconflict/theme-dawn.js | 0 .../js/ace/src-noconflict/theme-dracula.js | 0 .../ace/src-noconflict/theme-dreamweaver.js | 0 .../js/ace/src-noconflict/theme-eclipse.js | 0 .../src/js/ace/src-noconflict/theme-github.js | 0 .../ace/src-noconflict/theme-github_dark.js | 0 .../theme-github_light_default.js | 0 static/src/js/ace/src-noconflict/theme-gob.js | 0 .../js/ace/src-noconflict/theme-gruvbox.js | 0 .../src-noconflict/theme-gruvbox_dark_hard.js | 0 .../theme-gruvbox_light_hard.js | 0 .../ace/src-noconflict/theme-idle_fingers.js | 0 .../js/ace/src-noconflict/theme-iplastic.js | 0 .../ace/src-noconflict/theme-katzenmilch.js | 0 .../js/ace/src-noconflict/theme-kr_theme.js | 0 .../src/js/ace/src-noconflict/theme-kuroir.js | 0 .../js/ace/src-noconflict/theme-merbivore.js | 0 .../src-noconflict/theme-merbivore_soft.js | 0 .../src-noconflict/theme-mono_industrial.js | 0 .../js/ace/src-noconflict/theme-monokai.js | 0 .../js/ace/src-noconflict/theme-nord_dark.js | 0 .../js/ace/src-noconflict/theme-one_dark.js | 0 .../src-noconflict/theme-pastel_on_dark.js | 0 .../src-noconflict/theme-solarized_dark.js | 0 .../src-noconflict/theme-solarized_light.js | 0 .../js/ace/src-noconflict/theme-sqlserver.js | 0 .../js/ace/src-noconflict/theme-terminal.js | 0 .../js/ace/src-noconflict/theme-textmate.js | 0 .../js/ace/src-noconflict/theme-tomorrow.js | 0 .../src-noconflict/theme-tomorrow_night.js | 0 .../theme-tomorrow_night_blue.js | 0 .../theme-tomorrow_night_bright.js | 0 .../theme-tomorrow_night_eighties.js | 0 .../js/ace/src-noconflict/theme-twilight.js | 0 .../ace/src-noconflict/theme-vibrant_ink.js | 0 .../src/js/ace/src-noconflict/theme-xcode.js | 0 .../src/js/ace/src-noconflict/worker-base.js | 0 .../js/ace/src-noconflict/worker-coffee.js | 0 .../src/js/ace/src-noconflict/worker-css.js | 0 .../src/js/ace/src-noconflict/worker-html.js | 0 .../ace/src-noconflict/worker-javascript.js | 0 .../src/js/ace/src-noconflict/worker-json.js | 0 .../src/js/ace/src-noconflict/worker-lua.js | 0 .../src/js/ace/src-noconflict/worker-php.js | 0 .../src/js/ace/src-noconflict/worker-xml.js | 0 .../js/ace/src-noconflict/worker-xquery.js | 0 .../src/js/ace/src-noconflict/worker-yaml.js | 0 static/src/js/blockly_blocks.js | 0 static/src/js/dss_crm_extended_ki_leads.js | 0 static/src/js/dss_form_submit.js | 0 static/src/js/dss_google_map.js | 199 +- static/src/js/dss_screenview_controller.js | 129 +- static/src/js/dss_screenview_model.js | 117 +- static/src/js/dss_screenview_renderer.js | 44 +- .../js/dss_trigger_condition_view_blocks.js | 63 +- .../dss_trigger_condition_view_controller.js | 100 +- .../js/dss_trigger_condition_view_helper.js | 154 +- .../js/dss_trigger_condition_view_renderer.js | 90 +- static/src/js/info.txt | 0 static/src/js/kilead_hook.js | 0 static/src/js/navbar_ai_button.js | 298 +++ static/src/js/phone_center_action.js | 1297 +++++++++ static/src/scss/navbar_ai_button.scss | 50 + static/src/scss/phone_center_action.scss | 501 ++++ static/src/scss/style.scss | 50 +- static/src/xml/dss_screenview_controller.xml | 21 + static/src/xml/dss_screenview_renderer.xml | 31 +- .../dss_trigger_condition_view_renderer.xml | 2 + static/src/xml/form_button.xml | 1 + static/src/xml/navbar_ai_button.xml | 103 + static/src/xml/phone_center_action.xml | 351 +++ temp/temp.temp | Bin 305046 -> 180720 bytes testfile.ipynb | 55 + views/adportal_dashboard.xml | 1079 ++++++++ views/company_view.xml | 9 + views/dss_ads.xml | 2 + views/dss_advertisementfields.xml | 9 + ...mentfields_create_from_template_wizard.xml | 86 + views/dss_binaries.xml | 2 + views/dss_binaries_wizard.xml | 18 + views/dss_company_type_views.xml | 65 + views/dss_contract_uservars.xml | 2 + views/dss_contracts.xml | 201 +- views/dss_crm_extended.xml | 0 views/dss_csvs.xml | 63 + views/dss_display_templates.xml | 4 + views/dss_kileads.xml | 0 views/dss_kileads_requests.xml | 0 views/dss_maintains.xml | 15 + views/dss_mediafiles.xml | 50 +- views/dss_phone_center.xml | 7 + views/dss_phonecenter_query_views.xml | 124 + views/dss_portal_add.xml | 54 +- views/dss_projects.xml | 30 +- views/dss_res_users_extended.xml | 15 + views/dss_settings.xml | 66 +- views/dss_systemtypen.xml | 1 + views/dss_trigger_actions.xml | 6 +- views/dss_web_contracts_all_templates.xml | 0 views/mainsystem_view.xml | 6 +- views/menu.xml | 42 + views/snippets/dss_container.xml | 0 views/snippets/options.xml | 0 736 files changed, 12489 insertions(+), 446 deletions(-) create mode 100755 .gitignore mode change 100644 => 100755 controllers/__pycache__/__init__.cpython-311.pyc create mode 100755 controllers/__pycache__/adportal.cpython-311.pyc create mode 100755 controllers/__pycache__/ai_agent_controller.cpython-311.pyc mode change 100644 => 100755 controllers/__pycache__/dss_form_input_controller.cpython-311.pyc mode change 100644 => 100755 controllers/__pycache__/dss_screendesigner_controller.cpython-311.pyc create mode 100755 controllers/adportal.py create mode 100755 controllers/ai_agent_controller.py mode change 100644 => 100755 controllers/dss_form_input_controller.py mode change 100644 => 100755 controllers/dss_webhook_controller.py mode change 100644 => 100755 models/__pycache__/__init__.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/company.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_ads.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_advertisefields.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_binaries.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_contract.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_contract_uservar.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_crm_extended.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_eventdays.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_kileads.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_kileads_requests.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_linkmail.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_m2mmail.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_maintains.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_marker.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_onlinestate.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_projects.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_res_users.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_settings.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_settings_variables.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_systemtypen.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_trigger.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_web_contracts.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_web_contracts_all.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_web_contracts_all2.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_web_contracts_entry.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dss_web_contracts_stream.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/dsslogger.cpython-311.pyc mode change 100644 => 100755 models/__pycache__/utils.cpython-311.pyc create mode 100755 models/dss_advertisefields_create_from_project_wizard.py create mode 100755 models/dss_advertisefields_create_from_template_wizard.py create mode 100755 models/dss_advertisefields_save_as_template_wizard.py create mode 100755 models/dss_ai_chat_history.py mode change 100644 => 100755 models/dss_binaries.py create mode 100755 models/dss_company_type.py mode change 100644 => 100755 models/dss_contract_uservar.py create mode 100755 models/dss_contracts_move_field_wizard.py mode change 100644 => 100755 models/dss_crm_extended.py create mode 100755 models/dss_csvs.py mode change 100644 => 100755 models/dss_kileads.py mode change 100644 => 100755 models/dss_kileads_requests.py create mode 100755 models/dss_phonecenter_query.py create mode 100755 models/dss_portal_user_profile.py mode change 100644 => 100755 models/utils.py create mode 100755 static/src/helpers/helper.html mode change 100644 => 100755 static/src/img/amazon.png mode change 100644 => 100755 static/src/img/img_105_b.jpg mode change 100644 => 100755 static/src/img/img_105_b_2.jpg mode change 100644 => 100755 static/src/img/img_105_b_3.jpg mode change 100644 => 100755 static/src/img/img_113_b.jpg mode change 100644 => 100755 static/src/img/img_113_b_2.jpg mode change 100644 => 100755 static/src/img/img_113_b_3.jpg mode change 100644 => 100755 static/src/img/img_115_b.jpg mode change 100644 => 100755 static/src/img/img_117_b.jpg mode change 100644 => 100755 static/src/img/img_119_b.jpg mode change 100644 => 100755 static/src/img/img_119_b_2.jpg mode change 100644 => 100755 static/src/img/img_119_b_3.jpg mode change 100644 => 100755 static/src/img/img_121_b.jpg mode change 100644 => 100755 static/src/img/img_134_b.jpg mode change 100644 => 100755 static/src/img/img_134_b_2.jpg mode change 100644 => 100755 static/src/img/img_134_b_3.jpg mode change 100644 => 100755 static/src/img/img_135_b.jpg mode change 100644 => 100755 static/src/img/img_137_b.jpg mode change 100644 => 100755 static/src/img/img_137_b_2.jpg mode change 100644 => 100755 static/src/img/img_137_b_3.jpg mode change 100644 => 100755 static/src/img/img_138_b.jpg mode change 100644 => 100755 static/src/img/img_138_b_2.jpg mode change 100644 => 100755 static/src/img/img_138_b_3.jpg mode change 100644 => 100755 static/src/img/img_142_b.jpg mode change 100644 => 100755 static/src/img/img_142_b_2.jpg mode change 100644 => 100755 static/src/img/img_142_b_3.jpg mode change 100644 => 100755 static/src/img/img_145_b.jpg mode change 100644 => 100755 static/src/img/img_145_b_2.jpg mode change 100644 => 100755 static/src/img/img_145_b_3.jpg mode change 100644 => 100755 static/src/img/img_146_b.jpg mode change 100644 => 100755 static/src/img/img_146_b_2.jpg mode change 100644 => 100755 static/src/img/img_146_b_3.jpg mode change 100644 => 100755 static/src/img/img_148_b.jpg mode change 100644 => 100755 static/src/img/img_148_b_2.jpg mode change 100644 => 100755 static/src/img/img_14_b.jpg mode change 100644 => 100755 static/src/img/img_14_b_2.jpg mode change 100644 => 100755 static/src/img/img_14_b_3.jpg mode change 100644 => 100755 static/src/img/img_150_b.jpg mode change 100644 => 100755 static/src/img/img_150_b_2.jpg mode change 100644 => 100755 static/src/img/img_150_b_3.jpg mode change 100644 => 100755 static/src/img/img_151_b.jpg mode change 100644 => 100755 static/src/img/img_151_b_2.jpg mode change 100644 => 100755 static/src/img/img_151_b_3.jpg mode change 100644 => 100755 static/src/img/img_17_b.jpg mode change 100644 => 100755 static/src/img/img_18_b.jpg mode change 100644 => 100755 static/src/img/img_21_b.jpg mode change 100644 => 100755 static/src/img/img_21_b_2.jpg mode change 100644 => 100755 static/src/img/img_21_b_3.jpg create mode 100755 static/src/img/img_225_b.jpg create mode 100755 static/src/img/img_225_b_2.jpg create mode 100755 static/src/img/img_225_b_3.jpg mode change 100644 => 100755 static/src/img/img_229_b.jpg mode change 100644 => 100755 static/src/img/img_229_b_2.jpg mode change 100644 => 100755 static/src/img/img_241_b.jpg mode change 100644 => 100755 static/src/img/img_241_b_2.jpg mode change 100644 => 100755 static/src/img/img_241_b_3.jpg mode change 100644 => 100755 static/src/img/img_387_b.jpg mode change 100644 => 100755 static/src/img/img_387_b_2.jpg mode change 100644 => 100755 static/src/img/img_389_b.jpg mode change 100644 => 100755 static/src/img/img_389_b_2.jpg mode change 100644 => 100755 static/src/img/img_389_b_3.jpg mode change 100644 => 100755 static/src/img/img_4_b.jpg mode change 100644 => 100755 static/src/img/img_4_b_2.jpg mode change 100644 => 100755 static/src/img/img_5_b.jpg mode change 100644 => 100755 static/src/img/img_62_b.jpg mode change 100644 => 100755 static/src/img/img_62_b_2.jpg mode change 100644 => 100755 static/src/img/img_62_b_3.jpg mode change 100644 => 100755 static/src/img/img_63_b.jpg mode change 100644 => 100755 static/src/img/img_63_b_2.jpg mode change 100644 => 100755 static/src/img/img_63_b_3.jpg mode change 100644 => 100755 static/src/img/img_65_b.jpg mode change 100644 => 100755 static/src/img/img_65_b_2.jpg mode change 100644 => 100755 static/src/img/img_65_b_3.jpg mode change 100644 => 100755 static/src/img/img_66_b.jpg mode change 100644 => 100755 static/src/img/img_66_b_2.jpg mode change 100644 => 100755 static/src/img/img_66_b_3.jpg mode change 100644 => 100755 static/src/img/img_67_b.jpg mode change 100644 => 100755 static/src/img/img_68_b.jpg mode change 100644 => 100755 static/src/img/img_69_b.jpg mode change 100644 => 100755 static/src/img/img_70_b.jpg mode change 100644 => 100755 static/src/img/img_70_b_2.jpg mode change 100644 => 100755 static/src/img/img_71_b.jpg mode change 100644 => 100755 static/src/img/img_72_b.jpg mode change 100644 => 100755 static/src/img/img_72_b_2.jpg mode change 100644 => 100755 static/src/img/img_72_b_3.jpg mode change 100644 => 100755 static/src/img/img_73_b.jpg mode change 100644 => 100755 static/src/img/img_74_b.jpg mode change 100644 => 100755 static/src/img/img_74_b_2.jpg mode change 100644 => 100755 static/src/img/img_74_b_3.jpg mode change 100644 => 100755 static/src/img/img_76_b.jpg mode change 100644 => 100755 static/src/img/img_77_b.jpg mode change 100644 => 100755 static/src/img/img_78_b.jpg mode change 100644 => 100755 static/src/img/img_79_b.jpg mode change 100644 => 100755 static/src/img/img_79_b_2.jpg mode change 100644 => 100755 static/src/img/img_79_b_3.jpg mode change 100644 => 100755 static/src/img/img_81_b.jpg mode change 100644 => 100755 static/src/img/img_81_b_2.jpg mode change 100644 => 100755 static/src/img/img_81_b_3.jpg mode change 100644 => 100755 static/src/img/img_83_b.jpg mode change 100644 => 100755 static/src/img/img_84_b.jpg mode change 100644 => 100755 static/src/img/img_85_b.jpg mode change 100644 => 100755 static/src/img/img_86_b.jpg mode change 100644 => 100755 static/src/img/img_87_b.jpg mode change 100644 => 100755 static/src/img/img_88_b.jpg mode change 100644 => 100755 static/src/img/img_90_b.jpg mode change 100644 => 100755 static/src/img/img_90_b_2.jpg mode change 100644 => 100755 static/src/img/img_90_b_3.jpg mode change 100644 => 100755 static/src/img/img_91_b.jpg mode change 100644 => 100755 static/src/img/img_92_b.jpg mode change 100644 => 100755 static/src/img/img_92_b_3.jpg mode change 100644 => 100755 static/src/img/img_93_b.jpg mode change 100644 => 100755 static/src/img/img_94_b.jpg mode change 100644 => 100755 static/src/img/img_94_b_2.jpg mode change 100644 => 100755 static/src/img/img_94_b_3.jpg mode change 100644 => 100755 static/src/img/img_96_b.jpg mode change 100644 => 100755 static/src/img/img_97_b.jpg mode change 100644 => 100755 static/src/img/img_98_b.jpg mode change 100644 => 100755 static/src/img/img_98_b_2.jpg mode change 100644 => 100755 static/src/img/img_99_b.jpg mode change 100644 => 100755 static/src/img/joyn.png mode change 100644 => 100755 static/src/img/netflix.png mode change 100644 => 100755 static/src/img/snippets/dss_container.svg mode change 100644 => 100755 static/src/img/waipu.png mode change 100644 => 100755 static/src/info.txt mode change 100644 => 100755 static/src/js/ace/info.txt mode change 100644 => 100755 static/src/js/ace/src-noconflict/ace.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-beautify.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-code_lens.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-command_bar.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-diff.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-elastic_tabstops_lite.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-emmet.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-error_marker.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-hardwrap.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-inline_autocomplete.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-keybinding_menu.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-language_tools.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-linking.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-modelist.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-options.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-prompt.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-rtl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-searchbox.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-settings_menu.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-simple_tokenizer.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-spellcheck.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-split.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-static_highlight.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-statusbar.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-textarea.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-themelist.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/ext-whitespace.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/info.txt mode change 100644 => 100755 static/src/js/ace/src-noconflict/keybinding-emacs.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/keybinding-sublime.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/keybinding-vim.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/keybinding-vscode.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-abap.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-abc.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-actionscript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ada.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-alda.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-apache_conf.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-apex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-applescript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-aql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-asciidoc.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-asl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-assembly_arm32.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-assembly_x86.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-astro.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-autohotkey.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-basic.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-batchfile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-bibtex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-c9search.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-c_cpp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-cirru.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-clojure.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-clue.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-cobol.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-coffee.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-coldfusion.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-crystal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-csharp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-csound_document.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-csound_orchestra.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-csound_score.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-csp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-css.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-csv.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-curly.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-cuttlefish.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-d.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-dart.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-diff.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-django.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-dockerfile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-dot.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-drools.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-edifact.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-eiffel.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ejs.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-elixir.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-elm.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-erlang.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-flix.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-forth.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-fortran.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-fsharp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-fsl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ftl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-gcode.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-gherkin.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-gitignore.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-glsl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-gobstones.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-golang.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-graphqlschema.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-groovy.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-haml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-handlebars.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-haskell.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-haskell_cabal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-haxe.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-hjson.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-html.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-html_elixir.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-html_ruby.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ini.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-io.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ion.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jack.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jade.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-java.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-javascript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jexl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-json.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-json5.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jsoniq.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jsp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jssm.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-jsx.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-julia.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-kotlin.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-latex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-latte.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-less.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-liquid.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-lisp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-livescript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-logiql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-logtalk.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-lsl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-lua.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-luapage.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-lucene.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-makefile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-markdown.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mask.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-matlab.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-maze.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mediawiki.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mel.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mips.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mixal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mushcode.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-mysql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-nasal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-nginx.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-nim.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-nix.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-nsis.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-nunjucks.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-objectivec.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ocaml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-odin.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-partiql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-pascal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-perl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-pgsql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-php.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-php_laravel_blade.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-pig.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-plain_text.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-plsql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-powershell.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-praat.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-prisma.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-prolog.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-properties.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-protobuf.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-prql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-puppet.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-python.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-qml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-r.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-raku.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-razor.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-rdoc.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-red.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-redshift.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-rhtml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-robot.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-rst.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-ruby.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-rust.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sac.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sass.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-scad.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-scala.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-scheme.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-scrypt.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-scss.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sh.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sjs.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-slim.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-smarty.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-smithy.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-snippets.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-soy_template.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-space.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sparql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-sqlserver.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-stylus.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-svg.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-swift.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-tcl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-terraform.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-tex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-text.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-textile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-toml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-tsv.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-tsx.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-turtle.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-twig.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-typescript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-vala.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-vbscript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-velocity.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-verilog.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-vhdl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-visualforce.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-vue.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-wollok.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-xml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-xquery.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-yaml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-zeek.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/mode-zig.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/abap.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/abc.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/actionscript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ada.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/alda.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/apache_conf.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/apex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/applescript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/aql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/asciidoc.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/asl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/assembly_arm32.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/assembly_x86.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/astro.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/autohotkey.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/basic.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/batchfile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/bibtex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/c9search.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/c_cpp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/cirru.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/clojure.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/clue.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/cobol.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/coffee.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/coldfusion.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/crystal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/csharp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/csound_document.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/csound_orchestra.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/csound_score.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/csp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/css.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/csv.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/curly.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/cuttlefish.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/d.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/dart.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/diff.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/django.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/dockerfile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/dot.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/drools.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/edifact.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/eiffel.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ejs.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/elixir.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/elm.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/erlang.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/flix.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/forth.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/fortran.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/fsharp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/fsl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ftl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/gcode.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/gherkin.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/gitignore.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/glsl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/gobstones.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/golang.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/graphqlschema.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/groovy.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/haml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/handlebars.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/haskell.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/haskell_cabal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/haxe.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/hjson.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/html.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/html_elixir.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/html_ruby.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ini.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/io.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ion.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jack.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jade.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/java.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/javascript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jexl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/json.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/json5.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jsoniq.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jsp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jssm.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/jsx.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/julia.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/kotlin.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/latex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/latte.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/less.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/liquid.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/lisp.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/livescript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/logiql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/logtalk.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/lsl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/lua.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/luapage.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/lucene.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/makefile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/markdown.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mask.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/matlab.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/maze.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mediawiki.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mel.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mips.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mixal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mushcode.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/mysql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/nasal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/nginx.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/nim.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/nix.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/nsis.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/nunjucks.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/objectivec.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ocaml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/odin.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/partiql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/pascal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/perl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/pgsql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/php.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/php_laravel_blade.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/pig.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/plain_text.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/plsql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/powershell.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/praat.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/prisma.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/prolog.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/properties.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/protobuf.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/prql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/puppet.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/python.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/qml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/r.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/raku.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/razor.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/rdoc.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/red.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/redshift.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/rhtml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/robot.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/rst.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/ruby.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/rust.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sac.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sass.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/scad.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/scala.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/scheme.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/scrypt.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/scss.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sh.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sjs.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/slim.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/smarty.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/smithy.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/snippets.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/soy_template.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/space.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sparql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sql.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/sqlserver.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/stylus.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/svg.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/swift.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/tcl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/terraform.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/tex.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/text.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/textile.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/toml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/tsv.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/tsx.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/turtle.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/twig.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/typescript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/vala.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/vbscript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/velocity.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/verilog.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/vhdl.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/visualforce.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/vue.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/wollok.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/xml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/xquery.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/yaml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/zeek.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/snippets/zig.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-ambiance.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-chaos.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-chrome.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-cloud9_day.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-cloud9_night.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-cloud9_night_low_color.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-cloud_editor.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-cloud_editor_dark.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-clouds.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-clouds_midnight.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-cobalt.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-crimson_editor.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-dawn.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-dracula.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-dreamweaver.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-eclipse.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-github.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-github_dark.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-github_light_default.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-gob.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-gruvbox.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-gruvbox_dark_hard.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-gruvbox_light_hard.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-idle_fingers.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-iplastic.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-katzenmilch.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-kr_theme.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-kuroir.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-merbivore.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-merbivore_soft.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-mono_industrial.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-monokai.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-nord_dark.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-one_dark.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-pastel_on_dark.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-solarized_dark.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-solarized_light.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-sqlserver.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-terminal.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-textmate.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-tomorrow.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-tomorrow_night.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-tomorrow_night_blue.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-tomorrow_night_bright.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-tomorrow_night_eighties.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-twilight.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-vibrant_ink.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/theme-xcode.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-base.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-coffee.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-css.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-html.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-javascript.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-json.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-lua.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-php.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-xml.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-xquery.js mode change 100644 => 100755 static/src/js/ace/src-noconflict/worker-yaml.js mode change 100644 => 100755 static/src/js/blockly_blocks.js mode change 100644 => 100755 static/src/js/dss_crm_extended_ki_leads.js mode change 100644 => 100755 static/src/js/dss_form_submit.js mode change 100644 => 100755 static/src/js/dss_trigger_condition_view_blocks.js mode change 100644 => 100755 static/src/js/dss_trigger_condition_view_helper.js mode change 100644 => 100755 static/src/js/info.txt mode change 100644 => 100755 static/src/js/kilead_hook.js create mode 100755 static/src/js/navbar_ai_button.js create mode 100755 static/src/js/phone_center_action.js create mode 100755 static/src/scss/navbar_ai_button.scss create mode 100755 static/src/scss/phone_center_action.scss create mode 100755 static/src/xml/navbar_ai_button.xml create mode 100755 static/src/xml/phone_center_action.xml create mode 100755 testfile.ipynb create mode 100755 views/adportal_dashboard.xml create mode 100755 views/dss_advertisementfields_create_from_template_wizard.xml mode change 100644 => 100755 views/dss_binaries.xml mode change 100644 => 100755 views/dss_binaries_wizard.xml create mode 100755 views/dss_company_type_views.xml mode change 100644 => 100755 views/dss_contract_uservars.xml mode change 100644 => 100755 views/dss_crm_extended.xml create mode 100755 views/dss_csvs.xml mode change 100644 => 100755 views/dss_kileads.xml mode change 100644 => 100755 views/dss_kileads_requests.xml create mode 100755 views/dss_phone_center.xml create mode 100755 views/dss_phonecenter_query_views.xml mode change 100644 => 100755 views/dss_portal_add.xml mode change 100644 => 100755 views/dss_web_contracts_all_templates.xml mode change 100644 => 100755 views/snippets/dss_container.xml mode change 100644 => 100755 views/snippets/options.xml diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..a5b00ec --- /dev/null +++ b/.gitignore @@ -0,0 +1,514 @@ +models/__pycache__/* +static/src/js/ace/info.txt +static/src/js/ace/src-noconflict/ace.js +static/src/js/ace/src-noconflict/ext-beautify.js +static/src/js/ace/src-noconflict/ext-code_lens.js +static/src/js/ace/src-noconflict/ext-command_bar.js +static/src/js/ace/src-noconflict/ext-diff.js +static/src/js/ace/src-noconflict/ext-elastic_tabstops_lite.js +static/src/js/ace/src-noconflict/ext-emmet.js +static/src/js/ace/src-noconflict/ext-error_marker.js +static/src/js/ace/src-noconflict/ext-hardwrap.js +static/src/js/ace/src-noconflict/ext-inline_autocomplete.js +static/src/js/ace/src-noconflict/ext-keybinding_menu.js +static/src/js/ace/src-noconflict/ext-language_tools.js +static/src/js/ace/src-noconflict/ext-linking.js +static/src/js/ace/src-noconflict/ext-modelist.js +static/src/js/ace/src-noconflict/ext-options.js +static/src/js/ace/src-noconflict/ext-prompt.js +static/src/js/ace/src-noconflict/ext-rtl.js +static/src/js/ace/src-noconflict/ext-searchbox.js +static/src/js/ace/src-noconflict/ext-settings_menu.js +static/src/js/ace/src-noconflict/ext-simple_tokenizer.js +static/src/js/ace/src-noconflict/ext-spellcheck.js +static/src/js/ace/src-noconflict/ext-split.js +static/src/js/ace/src-noconflict/ext-static_highlight.js +static/src/js/ace/src-noconflict/ext-statusbar.js +static/src/js/ace/src-noconflict/ext-textarea.js +static/src/js/ace/src-noconflict/ext-themelist.js +static/src/js/ace/src-noconflict/ext-whitespace.js +static/src/js/ace/src-noconflict/info.txt +static/src/js/ace/src-noconflict/keybinding-emacs.js +static/src/js/ace/src-noconflict/keybinding-sublime.js +static/src/js/ace/src-noconflict/keybinding-vim.js +static/src/js/ace/src-noconflict/keybinding-vscode.js +static/src/js/ace/src-noconflict/mode-abap.js +static/src/js/ace/src-noconflict/mode-abc.js +static/src/js/ace/src-noconflict/mode-actionscript.js +static/src/js/ace/src-noconflict/mode-ada.js +static/src/js/ace/src-noconflict/mode-alda.js +static/src/js/ace/src-noconflict/mode-apache_conf.js +static/src/js/ace/src-noconflict/mode-apex.js +static/src/js/ace/src-noconflict/mode-applescript.js +static/src/js/ace/src-noconflict/mode-aql.js +static/src/js/ace/src-noconflict/mode-asciidoc.js +static/src/js/ace/src-noconflict/mode-asl.js +static/src/js/ace/src-noconflict/mode-assembly_arm32.js +static/src/js/ace/src-noconflict/mode-assembly_x86.js +static/src/js/ace/src-noconflict/mode-astro.js +static/src/js/ace/src-noconflict/mode-autohotkey.js +static/src/js/ace/src-noconflict/mode-basic.js +static/src/js/ace/src-noconflict/mode-batchfile.js +static/src/js/ace/src-noconflict/mode-bibtex.js +static/src/js/ace/src-noconflict/mode-c_cpp.js +static/src/js/ace/src-noconflict/mode-c9search.js +static/src/js/ace/src-noconflict/mode-cirru.js +static/src/js/ace/src-noconflict/mode-clojure.js +static/src/js/ace/src-noconflict/mode-clue.js +static/src/js/ace/src-noconflict/mode-cobol.js +static/src/js/ace/src-noconflict/mode-coffee.js +static/src/js/ace/src-noconflict/mode-coldfusion.js +static/src/js/ace/src-noconflict/mode-crystal.js +static/src/js/ace/src-noconflict/mode-csharp.js +static/src/js/ace/src-noconflict/mode-csound_document.js +static/src/js/ace/src-noconflict/mode-csound_orchestra.js +static/src/js/ace/src-noconflict/mode-csound_score.js +static/src/js/ace/src-noconflict/mode-csp.js +static/src/js/ace/src-noconflict/mode-css.js +static/src/js/ace/src-noconflict/mode-csv.js +static/src/js/ace/src-noconflict/mode-curly.js +static/src/js/ace/src-noconflict/mode-cuttlefish.js +static/src/js/ace/src-noconflict/mode-d.js +static/src/js/ace/src-noconflict/mode-dart.js +static/src/js/ace/src-noconflict/mode-diff.js +static/src/js/ace/src-noconflict/mode-django.js +static/src/js/ace/src-noconflict/mode-dockerfile.js +static/src/js/ace/src-noconflict/mode-dot.js +static/src/js/ace/src-noconflict/mode-drools.js +static/src/js/ace/src-noconflict/mode-edifact.js +static/src/js/ace/src-noconflict/mode-eiffel.js +static/src/js/ace/src-noconflict/mode-ejs.js +static/src/js/ace/src-noconflict/mode-elixir.js +static/src/js/ace/src-noconflict/mode-elm.js +static/src/js/ace/src-noconflict/mode-erlang.js +static/src/js/ace/src-noconflict/mode-flix.js +static/src/js/ace/src-noconflict/mode-forth.js +static/src/js/ace/src-noconflict/mode-fortran.js +static/src/js/ace/src-noconflict/mode-fsharp.js +static/src/js/ace/src-noconflict/mode-fsl.js +static/src/js/ace/src-noconflict/mode-ftl.js +static/src/js/ace/src-noconflict/mode-gcode.js +static/src/js/ace/src-noconflict/mode-gherkin.js +static/src/js/ace/src-noconflict/mode-gitignore.js +static/src/js/ace/src-noconflict/mode-glsl.js +static/src/js/ace/src-noconflict/mode-gobstones.js +static/src/js/ace/src-noconflict/mode-golang.js +static/src/js/ace/src-noconflict/mode-graphqlschema.js +static/src/js/ace/src-noconflict/mode-groovy.js +static/src/js/ace/src-noconflict/mode-haml.js +static/src/js/ace/src-noconflict/mode-handlebars.js +static/src/js/ace/src-noconflict/mode-haskell_cabal.js +static/src/js/ace/src-noconflict/mode-haskell.js +static/src/js/ace/src-noconflict/mode-haxe.js +static/src/js/ace/src-noconflict/mode-hjson.js +static/src/js/ace/src-noconflict/mode-html_elixir.js +static/src/js/ace/src-noconflict/mode-html_ruby.js +static/src/js/ace/src-noconflict/mode-html.js +static/src/js/ace/src-noconflict/mode-ini.js +static/src/js/ace/src-noconflict/mode-io.js +static/src/js/ace/src-noconflict/mode-ion.js +static/src/js/ace/src-noconflict/mode-jack.js +static/src/js/ace/src-noconflict/mode-jade.js +static/src/js/ace/src-noconflict/mode-java.js +static/src/js/ace/src-noconflict/mode-javascript.js +static/src/js/ace/src-noconflict/mode-jexl.js +static/src/js/ace/src-noconflict/mode-json.js +static/src/js/ace/src-noconflict/mode-json5.js +static/src/js/ace/src-noconflict/mode-jsoniq.js +static/src/js/ace/src-noconflict/mode-jsp.js +static/src/js/ace/src-noconflict/mode-jssm.js +static/src/js/ace/src-noconflict/mode-jsx.js +static/src/js/ace/src-noconflict/mode-julia.js +static/src/js/ace/src-noconflict/mode-kotlin.js +static/src/js/ace/src-noconflict/mode-latex.js +static/src/js/ace/src-noconflict/mode-latte.js +static/src/js/ace/src-noconflict/mode-less.js +static/src/js/ace/src-noconflict/mode-liquid.js +static/src/js/ace/src-noconflict/mode-lisp.js +static/src/js/ace/src-noconflict/mode-livescript.js +static/src/js/ace/src-noconflict/mode-logiql.js +static/src/js/ace/src-noconflict/mode-logtalk.js +static/src/js/ace/src-noconflict/mode-lsl.js +static/src/js/ace/src-noconflict/mode-lua.js +static/src/js/ace/src-noconflict/mode-luapage.js +static/src/js/ace/src-noconflict/mode-lucene.js +static/src/js/ace/src-noconflict/mode-makefile.js +static/src/js/ace/src-noconflict/mode-markdown.js +static/src/js/ace/src-noconflict/mode-mask.js +static/src/js/ace/src-noconflict/mode-matlab.js +static/src/js/ace/src-noconflict/mode-maze.js +static/src/js/ace/src-noconflict/mode-mediawiki.js +static/src/js/ace/src-noconflict/mode-mel.js +static/src/js/ace/src-noconflict/mode-mips.js +static/src/js/ace/src-noconflict/mode-mixal.js +static/src/js/ace/src-noconflict/mode-mushcode.js +static/src/js/ace/src-noconflict/mode-mysql.js +static/src/js/ace/src-noconflict/mode-nasal.js +static/src/js/ace/src-noconflict/mode-nginx.js +static/src/js/ace/src-noconflict/mode-nim.js +static/src/js/ace/src-noconflict/mode-nix.js +static/src/js/ace/src-noconflict/mode-nsis.js +static/src/js/ace/src-noconflict/mode-nunjucks.js +static/src/js/ace/src-noconflict/mode-objectivec.js +static/src/js/ace/src-noconflict/mode-ocaml.js +static/src/js/ace/src-noconflict/mode-odin.js +static/src/js/ace/src-noconflict/mode-partiql.js +static/src/js/ace/src-noconflict/mode-pascal.js +static/src/js/ace/src-noconflict/mode-perl.js +static/src/js/ace/src-noconflict/mode-pgsql.js +static/src/js/ace/src-noconflict/mode-php_laravel_blade.js +static/src/js/ace/src-noconflict/mode-php.js +static/src/js/ace/src-noconflict/mode-pig.js +static/src/js/ace/src-noconflict/mode-plain_text.js +static/src/js/ace/src-noconflict/mode-plsql.js +static/src/js/ace/src-noconflict/mode-powershell.js +static/src/js/ace/src-noconflict/mode-praat.js +static/src/js/ace/src-noconflict/mode-prisma.js +static/src/js/ace/src-noconflict/mode-prolog.js +static/src/js/ace/src-noconflict/mode-properties.js +static/src/js/ace/src-noconflict/mode-protobuf.js +static/src/js/ace/src-noconflict/mode-prql.js +static/src/js/ace/src-noconflict/mode-puppet.js +static/src/js/ace/src-noconflict/mode-python.js +static/src/js/ace/src-noconflict/mode-qml.js +static/src/js/ace/src-noconflict/mode-r.js +static/src/js/ace/src-noconflict/mode-raku.js +static/src/js/ace/src-noconflict/mode-razor.js +static/src/js/ace/src-noconflict/mode-rdoc.js +static/src/js/ace/src-noconflict/mode-red.js +static/src/js/ace/src-noconflict/mode-redshift.js +static/src/js/ace/src-noconflict/mode-rhtml.js +static/src/js/ace/src-noconflict/mode-robot.js +static/src/js/ace/src-noconflict/mode-rst.js +static/src/js/ace/src-noconflict/mode-ruby.js +static/src/js/ace/src-noconflict/mode-rust.js +static/src/js/ace/src-noconflict/mode-sac.js +static/src/js/ace/src-noconflict/mode-sass.js +static/src/js/ace/src-noconflict/mode-scad.js +static/src/js/ace/src-noconflict/mode-scala.js +static/src/js/ace/src-noconflict/mode-scheme.js +static/src/js/ace/src-noconflict/mode-scrypt.js +static/src/js/ace/src-noconflict/mode-scss.js +static/src/js/ace/src-noconflict/mode-sh.js +static/src/js/ace/src-noconflict/mode-sjs.js +static/src/js/ace/src-noconflict/mode-slim.js +static/src/js/ace/src-noconflict/mode-smarty.js +static/src/js/ace/src-noconflict/mode-smithy.js +static/src/js/ace/src-noconflict/mode-snippets.js +static/src/js/ace/src-noconflict/mode-soy_template.js +static/src/js/ace/src-noconflict/mode-space.js +static/src/js/ace/src-noconflict/mode-sparql.js +static/src/js/ace/src-noconflict/mode-sql.js +static/src/js/ace/src-noconflict/mode-sqlserver.js +static/src/js/ace/src-noconflict/mode-stylus.js +static/src/js/ace/src-noconflict/mode-svg.js +static/src/js/ace/src-noconflict/mode-swift.js +static/src/js/ace/src-noconflict/mode-tcl.js +static/src/js/ace/src-noconflict/mode-terraform.js +static/src/js/ace/src-noconflict/mode-tex.js +static/src/js/ace/src-noconflict/mode-text.js +static/src/js/ace/src-noconflict/mode-textile.js +static/src/js/ace/src-noconflict/mode-toml.js +static/src/js/ace/src-noconflict/mode-tsv.js +static/src/js/ace/src-noconflict/mode-tsx.js +static/src/js/ace/src-noconflict/mode-turtle.js +static/src/js/ace/src-noconflict/mode-twig.js +static/src/js/ace/src-noconflict/mode-typescript.js +static/src/js/ace/src-noconflict/mode-vala.js +static/src/js/ace/src-noconflict/mode-vbscript.js +static/src/js/ace/src-noconflict/mode-velocity.js +static/src/js/ace/src-noconflict/mode-verilog.js +static/src/js/ace/src-noconflict/mode-vhdl.js +static/src/js/ace/src-noconflict/mode-visualforce.js +static/src/js/ace/src-noconflict/mode-vue.js +static/src/js/ace/src-noconflict/mode-wollok.js +static/src/js/ace/src-noconflict/mode-xml.js +static/src/js/ace/src-noconflict/mode-xquery.js +static/src/js/ace/src-noconflict/mode-yaml.js +static/src/js/ace/src-noconflict/mode-zeek.js +static/src/js/ace/src-noconflict/mode-zig.js +static/src/js/ace/src-noconflict/theme-ambiance.js +static/src/js/ace/src-noconflict/theme-chaos.js +static/src/js/ace/src-noconflict/theme-chrome.js +static/src/js/ace/src-noconflict/theme-cloud_editor_dark.js +static/src/js/ace/src-noconflict/theme-cloud_editor.js +static/src/js/ace/src-noconflict/theme-cloud9_day.js +static/src/js/ace/src-noconflict/theme-cloud9_night_low_color.js +static/src/js/ace/src-noconflict/theme-cloud9_night.js +static/src/js/ace/src-noconflict/theme-clouds_midnight.js +static/src/js/ace/src-noconflict/theme-clouds.js +static/src/js/ace/src-noconflict/theme-cobalt.js +static/src/js/ace/src-noconflict/theme-crimson_editor.js +static/src/js/ace/src-noconflict/theme-dawn.js +static/src/js/ace/src-noconflict/theme-dracula.js +static/src/js/ace/src-noconflict/theme-dreamweaver.js +static/src/js/ace/src-noconflict/theme-eclipse.js +static/src/js/ace/src-noconflict/theme-github_dark.js +static/src/js/ace/src-noconflict/theme-github_light_default.js +static/src/js/ace/src-noconflict/theme-github.js +static/src/js/ace/src-noconflict/theme-gob.js +static/src/js/ace/src-noconflict/theme-gruvbox_dark_hard.js +static/src/js/ace/src-noconflict/theme-gruvbox_light_hard.js +static/src/js/ace/src-noconflict/theme-gruvbox.js +static/src/js/ace/src-noconflict/theme-idle_fingers.js +static/src/js/ace/src-noconflict/theme-iplastic.js +static/src/js/ace/src-noconflict/theme-katzenmilch.js +static/src/js/ace/src-noconflict/theme-kr_theme.js +static/src/js/ace/src-noconflict/theme-kuroir.js +static/src/js/ace/src-noconflict/theme-merbivore_soft.js +static/src/js/ace/src-noconflict/theme-merbivore.js +static/src/js/ace/src-noconflict/theme-mono_industrial.js +static/src/js/ace/src-noconflict/theme-monokai.js +static/src/js/ace/src-noconflict/theme-nord_dark.js +static/src/js/ace/src-noconflict/theme-one_dark.js +static/src/js/ace/src-noconflict/theme-pastel_on_dark.js +static/src/js/ace/src-noconflict/theme-solarized_dark.js +static/src/js/ace/src-noconflict/theme-solarized_light.js +static/src/js/ace/src-noconflict/theme-sqlserver.js +static/src/js/ace/src-noconflict/theme-terminal.js +static/src/js/ace/src-noconflict/theme-textmate.js +static/src/js/ace/src-noconflict/theme-tomorrow_night_blue.js +static/src/js/ace/src-noconflict/theme-tomorrow_night_bright.js +static/src/js/ace/src-noconflict/theme-tomorrow_night_eighties.js +static/src/js/ace/src-noconflict/theme-tomorrow_night.js +static/src/js/ace/src-noconflict/theme-tomorrow.js +static/src/js/ace/src-noconflict/theme-twilight.js +static/src/js/ace/src-noconflict/theme-vibrant_ink.js +static/src/js/ace/src-noconflict/theme-xcode.js +static/src/js/ace/src-noconflict/worker-base.js +static/src/js/ace/src-noconflict/worker-coffee.js +static/src/js/ace/src-noconflict/worker-css.js +static/src/js/ace/src-noconflict/worker-html.js +static/src/js/ace/src-noconflict/worker-javascript.js +static/src/js/ace/src-noconflict/worker-json.js +static/src/js/ace/src-noconflict/worker-lua.js +static/src/js/ace/src-noconflict/worker-php.js +static/src/js/ace/src-noconflict/worker-xml.js +static/src/js/ace/src-noconflict/worker-xquery.js +static/src/js/ace/src-noconflict/worker-yaml.js +static/src/js/ace/src-noconflict/snippets/abap.js +static/src/js/ace/src-noconflict/snippets/abc.js +static/src/js/ace/src-noconflict/snippets/actionscript.js +static/src/js/ace/src-noconflict/snippets/ada.js +static/src/js/ace/src-noconflict/snippets/alda.js +static/src/js/ace/src-noconflict/snippets/apache_conf.js +static/src/js/ace/src-noconflict/snippets/apex.js +static/src/js/ace/src-noconflict/snippets/applescript.js +static/src/js/ace/src-noconflict/snippets/aql.js +static/src/js/ace/src-noconflict/snippets/asciidoc.js +static/src/js/ace/src-noconflict/snippets/asl.js +static/src/js/ace/src-noconflict/snippets/assembly_arm32.js +static/src/js/ace/src-noconflict/snippets/assembly_x86.js +static/src/js/ace/src-noconflict/snippets/astro.js +static/src/js/ace/src-noconflict/snippets/autohotkey.js +static/src/js/ace/src-noconflict/snippets/basic.js +static/src/js/ace/src-noconflict/snippets/batchfile.js +static/src/js/ace/src-noconflict/snippets/bibtex.js +static/src/js/ace/src-noconflict/snippets/c_cpp.js +static/src/js/ace/src-noconflict/snippets/c9search.js +static/src/js/ace/src-noconflict/snippets/cirru.js +static/src/js/ace/src-noconflict/snippets/clojure.js +static/src/js/ace/src-noconflict/snippets/clue.js +static/src/js/ace/src-noconflict/snippets/cobol.js +static/src/js/ace/src-noconflict/snippets/coffee.js +static/src/js/ace/src-noconflict/snippets/coldfusion.js +static/src/js/ace/src-noconflict/snippets/crystal.js +static/src/js/ace/src-noconflict/snippets/csharp.js +static/src/js/ace/src-noconflict/snippets/csound_document.js +static/src/js/ace/src-noconflict/snippets/csound_orchestra.js +static/src/js/ace/src-noconflict/snippets/csound_score.js +static/src/js/ace/src-noconflict/snippets/csp.js +static/src/js/ace/src-noconflict/snippets/css.js +static/src/js/ace/src-noconflict/snippets/csv.js +static/src/js/ace/src-noconflict/snippets/curly.js +static/src/js/ace/src-noconflict/snippets/cuttlefish.js +static/src/js/ace/src-noconflict/snippets/d.js +static/src/js/ace/src-noconflict/snippets/dart.js +static/src/js/ace/src-noconflict/snippets/diff.js +static/src/js/ace/src-noconflict/snippets/django.js +static/src/js/ace/src-noconflict/snippets/dockerfile.js +static/src/js/ace/src-noconflict/snippets/dot.js +static/src/js/ace/src-noconflict/snippets/drools.js +static/src/js/ace/src-noconflict/snippets/edifact.js +static/src/js/ace/src-noconflict/snippets/eiffel.js +static/src/js/ace/src-noconflict/snippets/ejs.js +static/src/js/ace/src-noconflict/snippets/elixir.js +static/src/js/ace/src-noconflict/snippets/elm.js +static/src/js/ace/src-noconflict/snippets/erlang.js +static/src/js/ace/src-noconflict/snippets/flix.js +static/src/js/ace/src-noconflict/snippets/forth.js +static/src/js/ace/src-noconflict/snippets/fortran.js +static/src/js/ace/src-noconflict/snippets/fsharp.js +static/src/js/ace/src-noconflict/snippets/fsl.js +static/src/js/ace/src-noconflict/snippets/ftl.js +static/src/js/ace/src-noconflict/snippets/gcode.js +static/src/js/ace/src-noconflict/snippets/gherkin.js +static/src/js/ace/src-noconflict/snippets/gitignore.js +static/src/js/ace/src-noconflict/snippets/glsl.js +static/src/js/ace/src-noconflict/snippets/gobstones.js +static/src/js/ace/src-noconflict/snippets/golang.js +static/src/js/ace/src-noconflict/snippets/graphqlschema.js +static/src/js/ace/src-noconflict/snippets/groovy.js +static/src/js/ace/src-noconflict/snippets/haml.js +static/src/js/ace/src-noconflict/snippets/handlebars.js +static/src/js/ace/src-noconflict/snippets/haskell_cabal.js +static/src/js/ace/src-noconflict/snippets/haskell.js +static/src/js/ace/src-noconflict/snippets/haxe.js +static/src/js/ace/src-noconflict/snippets/hjson.js +static/src/js/ace/src-noconflict/snippets/html_elixir.js +static/src/js/ace/src-noconflict/snippets/html_ruby.js +static/src/js/ace/src-noconflict/snippets/html.js +static/src/js/ace/src-noconflict/snippets/ini.js +static/src/js/ace/src-noconflict/snippets/io.js +static/src/js/ace/src-noconflict/snippets/ion.js +static/src/js/ace/src-noconflict/snippets/jack.js +static/src/js/ace/src-noconflict/snippets/jade.js +static/src/js/ace/src-noconflict/snippets/java.js +static/src/js/ace/src-noconflict/snippets/javascript.js +static/src/js/ace/src-noconflict/snippets/jexl.js +static/src/js/ace/src-noconflict/snippets/json.js +static/src/js/ace/src-noconflict/snippets/json5.js +static/src/js/ace/src-noconflict/snippets/jsoniq.js +static/src/js/ace/src-noconflict/snippets/jsp.js +static/src/js/ace/src-noconflict/snippets/jssm.js +static/src/js/ace/src-noconflict/snippets/jsx.js +static/src/js/ace/src-noconflict/snippets/julia.js +static/src/js/ace/src-noconflict/snippets/kotlin.js +static/src/js/ace/src-noconflict/snippets/latex.js +static/src/js/ace/src-noconflict/snippets/latte.js +static/src/js/ace/src-noconflict/snippets/less.js +static/src/js/ace/src-noconflict/snippets/liquid.js +static/src/js/ace/src-noconflict/snippets/lisp.js +static/src/js/ace/src-noconflict/snippets/livescript.js +static/src/js/ace/src-noconflict/snippets/logiql.js +static/src/js/ace/src-noconflict/snippets/logtalk.js +static/src/js/ace/src-noconflict/snippets/lsl.js +static/src/js/ace/src-noconflict/snippets/lua.js +static/src/js/ace/src-noconflict/snippets/luapage.js +static/src/js/ace/src-noconflict/snippets/lucene.js +static/src/js/ace/src-noconflict/snippets/makefile.js +static/src/js/ace/src-noconflict/snippets/markdown.js +static/src/js/ace/src-noconflict/snippets/mask.js +static/src/js/ace/src-noconflict/snippets/matlab.js +static/src/js/ace/src-noconflict/snippets/maze.js +static/src/js/ace/src-noconflict/snippets/mediawiki.js +static/src/js/ace/src-noconflict/snippets/mel.js +static/src/js/ace/src-noconflict/snippets/mips.js +static/src/js/ace/src-noconflict/snippets/mixal.js +static/src/js/ace/src-noconflict/snippets/mushcode.js +static/src/js/ace/src-noconflict/snippets/mysql.js +static/src/js/ace/src-noconflict/snippets/nasal.js +static/src/js/ace/src-noconflict/snippets/nginx.js +static/src/js/ace/src-noconflict/snippets/nim.js +static/src/js/ace/src-noconflict/snippets/nix.js +static/src/js/ace/src-noconflict/snippets/nsis.js +static/src/js/ace/src-noconflict/snippets/nunjucks.js +static/src/js/ace/src-noconflict/snippets/objectivec.js +static/src/js/ace/src-noconflict/snippets/ocaml.js +static/src/js/ace/src-noconflict/snippets/odin.js +static/src/js/ace/src-noconflict/snippets/partiql.js +static/src/js/ace/src-noconflict/snippets/pascal.js +static/src/js/ace/src-noconflict/snippets/perl.js +static/src/js/ace/src-noconflict/snippets/pgsql.js +static/src/js/ace/src-noconflict/snippets/php_laravel_blade.js +static/src/js/ace/src-noconflict/snippets/php.js +static/src/js/ace/src-noconflict/snippets/pig.js +static/src/js/ace/src-noconflict/snippets/plain_text.js +static/src/js/ace/src-noconflict/snippets/plsql.js +static/src/js/ace/src-noconflict/snippets/powershell.js +static/src/js/ace/src-noconflict/snippets/praat.js +static/src/js/ace/src-noconflict/snippets/prisma.js +static/src/js/ace/src-noconflict/snippets/prolog.js +static/src/js/ace/src-noconflict/snippets/properties.js +static/src/js/ace/src-noconflict/snippets/protobuf.js +static/src/js/ace/src-noconflict/snippets/prql.js +static/src/js/ace/src-noconflict/snippets/puppet.js +static/src/js/ace/src-noconflict/snippets/python.js +static/src/js/ace/src-noconflict/snippets/qml.js +static/src/js/ace/src-noconflict/snippets/r.js +static/src/js/ace/src-noconflict/snippets/raku.js +static/src/js/ace/src-noconflict/snippets/razor.js +static/src/js/ace/src-noconflict/snippets/rdoc.js +static/src/js/ace/src-noconflict/snippets/red.js +static/src/js/ace/src-noconflict/snippets/redshift.js +static/src/js/ace/src-noconflict/snippets/rhtml.js +static/src/js/ace/src-noconflict/snippets/robot.js +static/src/js/ace/src-noconflict/snippets/rst.js +static/src/js/ace/src-noconflict/snippets/ruby.js +static/src/js/ace/src-noconflict/snippets/rust.js +static/src/js/ace/src-noconflict/snippets/sac.js +static/src/js/ace/src-noconflict/snippets/sass.js +static/src/js/ace/src-noconflict/snippets/scad.js +static/src/js/ace/src-noconflict/snippets/scala.js +static/src/js/ace/src-noconflict/snippets/scheme.js +static/src/js/ace/src-noconflict/snippets/scrypt.js +static/src/js/ace/src-noconflict/snippets/scss.js +static/src/js/ace/src-noconflict/snippets/sh.js +static/src/js/ace/src-noconflict/snippets/sjs.js +static/src/js/ace/src-noconflict/snippets/slim.js +static/src/js/ace/src-noconflict/snippets/smarty.js +static/src/js/ace/src-noconflict/snippets/smithy.js +static/src/js/ace/src-noconflict/snippets/snippets.js +static/src/js/ace/src-noconflict/snippets/soy_template.js +static/src/js/ace/src-noconflict/snippets/space.js +static/src/js/ace/src-noconflict/snippets/sparql.js +static/src/js/ace/src-noconflict/snippets/sql.js +static/src/js/ace/src-noconflict/snippets/sqlserver.js +static/src/js/ace/src-noconflict/snippets/stylus.js +static/src/js/ace/src-noconflict/snippets/svg.js +static/src/js/ace/src-noconflict/snippets/swift.js +static/src/js/ace/src-noconflict/snippets/tcl.js +static/src/js/ace/src-noconflict/snippets/terraform.js +static/src/js/ace/src-noconflict/snippets/tex.js +static/src/js/ace/src-noconflict/snippets/text.js +static/src/js/ace/src-noconflict/snippets/textile.js +static/src/js/ace/src-noconflict/snippets/toml.js +static/src/js/ace/src-noconflict/snippets/tsv.js +static/src/js/ace/src-noconflict/snippets/tsx.js +static/src/js/ace/src-noconflict/snippets/turtle.js +static/src/js/ace/src-noconflict/snippets/twig.js +static/src/js/ace/src-noconflict/snippets/typescript.js +static/src/js/ace/src-noconflict/snippets/vala.js +static/src/js/ace/src-noconflict/snippets/vbscript.js +static/src/js/ace/src-noconflict/snippets/velocity.js +static/src/js/ace/src-noconflict/snippets/verilog.js +static/src/js/ace/src-noconflict/snippets/vhdl.js +static/src/js/ace/src-noconflict/snippets/visualforce.js +static/src/js/ace/src-noconflict/snippets/vue.js +static/src/js/ace/src-noconflict/snippets/wollok.js +static/src/js/ace/src-noconflict/snippets/xml.js +static/src/js/ace/src-noconflict/snippets/xquery.js +static/src/js/ace/src-noconflict/snippets/yaml.js +static/src/js/ace/src-noconflict/snippets/zeek.js +static/src/js/ace/src-noconflict/snippets/zig.js +models/__pycache__/__init__.cpython-311.pyc +models/__pycache__/company.cpython-311.pyc +models/__pycache__/dss_ads.cpython-311.pyc +models/__pycache__/dss_advertisefields.cpython-311.pyc +models/__pycache__/dss_binaries.cpython-311.pyc +models/__pycache__/dss_contract_uservar.cpython-311.pyc +models/__pycache__/dss_contract.cpython-311.pyc +models/__pycache__/dss_crm_extended.cpython-311.pyc +models/__pycache__/dss_display_templates.cpython-311.pyc +models/__pycache__/dss_eventdays.cpython-311.pyc +models/__pycache__/dss_kileads_requests.cpython-311.pyc +models/__pycache__/dss_kileads.cpython-311.pyc +models/__pycache__/dss_linkmail.cpython-311.pyc +models/__pycache__/dss_m2mmail.cpython-311.pyc +models/__pycache__/dss_maintains.cpython-311.pyc +models/__pycache__/dss_marker.cpython-311.pyc +models/__pycache__/dss_onlinestate.cpython-311.pyc +models/__pycache__/dss_projects.cpython-311.pyc +models/__pycache__/dss_res_users.cpython-311.pyc +models/__pycache__/dss_settings_variables.cpython-311.pyc +models/__pycache__/dss_settings.cpython-311.pyc +models/__pycache__/dss_systemtypen.cpython-311.pyc +models/__pycache__/dss_trigger.cpython-311.pyc +models/__pycache__/dss_web_contracts_all.cpython-311.pyc +models/__pycache__/dss_web_contracts_all2.cpython-311.pyc +models/__pycache__/dss_web_contracts_entry.cpython-311.pyc +models/__pycache__/dss_web_contracts_stream.cpython-311.pyc +models/__pycache__/dss_web_contracts.cpython-311.pyc +models/__pycache__/dss.cpython-311.pyc +models/__pycache__/dsslogger.cpython-311.pyc +models/__pycache__/utils.cpython-311.pyc diff --git a/__manifest__.py b/__manifest__.py index 3e0a6e0..bb896ea 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -21,6 +21,7 @@ 'views/dss_display_templates.xml', 'views/dss_advertisementfields_templates.xml', 'views/dss_advertisementfields.xml', + 'views/dss_advertisementfields_create_from_template_wizard.xml', 'views/dss_projects.xml', 'views/dss_import.xml', 'views/dss_ads.xml', @@ -50,6 +51,11 @@ 'views/dss_binaries.xml', 'views/mainsystem_view.xml', 'views/dss_importinvoicelist.xml', + 'views/dss_company_type_views.xml', + 'views/dss_csvs.xml', + 'views/dss_phone_center.xml', + 'views/dss_phonecenter_query_views.xml', + 'views/menu.xml', 'views/company_view.xml', 'views/google_map.xml', @@ -62,6 +68,7 @@ 'views/dss_web_contracts_all_templates.xml', 'views/dss_contract_uservars.xml', 'views/dss_portal_add.xml', + 'views/adportal_dashboard.xml', #'views/dss_screendesign.xml', ], 'demo': [], @@ -72,6 +79,9 @@ 'assets': { 'web.assets_backend': [ 'DigitalSignage/static/src/img/*', + 'DigitalSignage/static/src/xml/navbar_ai_button.xml', + 'DigitalSignage/static/src/js/navbar_ai_button.js', + 'DigitalSignage/static/src/scss/navbar_ai_button.scss', 'DigitalSignage/static/src/xml/screenDesignerView.xml', 'DigitalSignage/static/src/xml/dss_screenview_controller.xml', 'DigitalSignage/static/src/xml/dss_screenview_renderer.xml', @@ -100,9 +110,12 @@ 'DigitalSignage/static/src/js/kanban_button.js', 'DigitalSignage/static/src/js/dss_crm_extended_ki_leads.js', 'DigitalSignage/static/src/js/kilead_hook.js', + 'DigitalSignage/static/src/js/phone_center_action.js', 'DigitalSignage/static/src/xml/form_button.xml', 'DigitalSignage/static/src/xml/kanban_button.xml', 'DigitalSignage/static/src/xml/form_label.xml', + 'DigitalSignage/static/src/xml/phone_center_action.xml', + 'DigitalSignage/static/src/scss/phone_center_action.scss', 'DigitalSignage/static/src/js/test.php', ], 'web.assets_common': [ @@ -117,6 +130,7 @@ ], 'web.assets_qweb': [ 'DigitalSignage/static/src/xml/kanban_button.xml', + 'DigitalSignage/static/src/xml/phone_center_action.xml', ], }, 'license': 'LGPL-3', diff --git a/controllers/__init__.py b/controllers/__init__.py index 57977ef..0b12e92 100755 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -6,3 +6,5 @@ from . import dss_screendesigner_controller from . import dss_screenview_controller from . import dss_nextcloudwidget from . import dss_form_input_controller +from . import ai_agent_controller +from . import adportal diff --git a/controllers/__pycache__/__init__.cpython-311.pyc b/controllers/__pycache__/__init__.cpython-311.pyc old mode 100644 new mode 100755 index 43c188225964abf9bdb31fc975d26c6f2528c1fa..d3fe0913a092319bd07fa648cb05cc87c141b38d GIT binary patch delta 160 zcmX@lyn}^zIWI340}#AErj+G3kyny2YNEQ6EJF%g4nrHj#o|;z@pPZjpQk0*QlUf86=15E_$S*2M%<N=?CorZ=Uce|KEp~wc3o7CPssaEO4k>W} delta 74 zcmdnNa-NxYIWI340}xb7%V&yCC!k{7U2~=%!TavJ?{4p||NYkw3JVJqxc+T^=gq&_Q7HabdWc_nG0(3? zlnTY$3QoZ(=M~rFyYiZnJ*%#%*j;^1&F-3O8g|dSmWR7)Ub~QgEni7#)bqLp{WU%F zYvv0U4A%?`#%sof!fS;rEN{MO!F0{EP<*YJJ!|Jn7D}&`GJpQOd7`H}7;mNz{h*#WG{%zFwyZD!{Yfg_d=!!q3-jS*z{+ymhsX&^__`B3Q zSCAP~r5IIkhOa0%qo?#{RXpyu)u;ph6^Rl;XL!c zNd)Mgy?Ev%&oA-K>S*4}D@#64G=F7L_UKpmdC%h166a}FMe{FuUS9EdeR$2!FD-i( zkytb9^DX0^&&%)NEq>l}gPXiPGB@wJbkFPaEKnKemV6^iD~sIasaU<(EkE|~tJ|pW z+X|0@dKW#bM6Vv@)L&7eS2bTzpilGQYB??3d@diZPOnJ*amP44;_8zjdIiD?5LQ6# zbIrgV=L+#;=TnXG_t`u$wXNFtKmBBT07Pw`c6|RM|!L@ROoCA5- zxN`x&PaPGXWGNN(zb9%urdrqO9#1UmU!Rf{Ls>(k6)Uf_wZ5u z{;r7;5AU0s`SfE9w5h~;f(IJ6^!%&m;JmHyCDuEI;%36{ON?%WCQ=8K>1!CLoKXf; z4^-)E7HXwF*Q|PCqzZW!eQlTTEqk66PcARd&rM0Mf+C27_($$5BhRO|Ik z`c}Nn8s30PMGF@uZ+Rwok9T=#(d&t7D0(!HTUl84VwKZ)J@eDi{N>4e^GlN)Z$%0( zRnhHsKRM8`wCw9x;+B>=COHnNJBH_G=Fm8o=4KWrXFMHKiAM4w#xiTT_T_ugq6sP_ zQKr9ocdNFiN1;{T+Xd$}#Y2--GSxja7QZpRen&J`Nye&(<)BbD5HUL*=WB`!K2yN? zH93zJ8hyd9kV-L?Xly*tg1|b(2M;<0Zv0Ai3a3o$Rf?c0{yz1dz6=Eu9hVws1{>@H z^|z7!yNNu|WtwwOjGWio?)CV5bBiQ=rhkG zKQ;TIk}pS0FGY9rv|UE66Ehy)M7(t;;yL=8v$bi~sP&X%I~>-wZ@jW`R5G=MO&uXq zhiK}QOr2p#+10Xn=ln&~ zvI`z=ZqkRjK!dnA(LA^3ymL3^Jx`QJF8eJk&f?^P$35wt+UK6*=uW+`#ABlHb@&Rt z2~KKrSF+}gWiv6uPcF~SO-*3uUIwJ#@%lS+HG9q^tc0T|Cf59dvsE(f3!6GarcTk+ zEt$H*rh$-YAYyENtX3T^cvRB#I8RZ0=re_?xaHU6JXWamEpm4x1{v~8tUWElrW#>NXwS{j#Pl0F_jmQU@4D$mP}ZF}&Nmy?&U)r%W__3- zlQ%r`JQeO&BNk$)=N5fY{les3@0{N=aVP1WZO&t}C8~>ePqdWtOi!-N`)KJ|nqQ&i zk?%xaJS{C=YA~#8?%2$7%CT;H65X6kv6e?HHCU`F zX^E;V5On2_3lzon#|ovsA!4ox1>1)=jHm+0Pb8 zlo?wamHZ}YTu$Ab?X?23DPyZhipfE-!hi2&wpR`ETkSv1e< znl4ge-Dr5T3h}JY^;;W!*wPfTG>MiL$O`_@r%X;8;Ab^W8iH? zK*>9?=)~VDXq@e3bSxs?s(wbXS`g6lmOw%FojjmVU+k0^GrT=lY)%!>`n3wht~B{i zNuv(rXHAo%MjU2C*7)kDl#v%uXHBDf%9rbQeMR0=O2AypT7u>&Y4QV_Y-u=Mc8DpE zademGDvb|+;aP0zfN}3F54h{Sep}+vefpI98GdPD*~eb!N9Op2N#->Sa#)nT9`;Z+ zxH3JzW3!+?e!wCYD(#Jk71B z7C<(V0%Bg8TWmJO_L?{V7BxOC{JeSzk5;Jr8PsO zxO6QqVzA0PoU!CxAeyAsUAygX+2Wy-ni2Lp2MQ&J*~TuT_0O )do8l<=p_V_3VE!CA=gE17oD1Y!B!^~Fvy!Ji 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

X2No>|@(=Xhnjk(BUgyh3RyZa~q- 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 J?7<(^{{p+9Nx}dC literal 0 HcmV?d00001 diff --git a/controllers/__pycache__/ai_agent_controller.cpython-311.pyc b/controllers/__pycache__/ai_agent_controller.cpython-311.pyc new file mode 100755 index 0000000000000000000000000000000000000000..a152c87db5fdecae042c705b6d07a670b3478bc4 GIT binary patch literal 105901 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 Ay#N3J literal 0 HcmV?d00001 diff --git a/controllers/__pycache__/dss_form_input_controller.cpython-311.pyc b/controllers/__pycache__/dss_form_input_controller.cpython-311.pyc old mode 100644 new mode 100755 index 447b1f4561e25c21485dbd939bee25ea2c77c4d5..06e838c1360f315465fadabed54545c9a28a187d GIT binary patch literal 50869 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 diff --git a/controllers/__pycache__/dss_screendesigner_controller.cpython-311.pyc b/controllers/__pycache__/dss_screendesigner_controller.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/controllers/adportal.py b/controllers/adportal.py new file mode 100755 index 0000000..ebd95ff --- /dev/null +++ b/controllers/adportal.py @@ -0,0 +1,1161 @@ +# -*- coding: utf-8 -*- + +import json +import mimetypes +import posixpath +import tempfile +import base64 +import logging +from dateutil.relativedelta import relativedelta +from urllib.error import URLError +from urllib.parse import quote, unquote, urlencode +from urllib.request import Request, urlopen + +from odoo import http +from odoo.http import request +from webdav4.fsspec import WebdavFileSystem +from werkzeug.exceptions import NotFound + + +_logger = logging.getLogger(__name__) +_logger.setLevel(logging.DEBUG) +_logger.setloging(True) + + + +class AdPortalController(http.Controller): + + MEDIA_ROOT_SUFFIX = '02_Fertig' + + def _json_response(self, payload, status=200): + return request.make_response( + json.dumps(payload), + headers=[('Content-Type', 'application/json')], + status=status, + ) + + def _get_adportal_settings(self): + return request.env['dss.settings'].sudo().search([], limit=1) + + def _get_visible_graphic_templates(self): + return request.env['dss.mediatypes'].sudo().search([ + ('adportal_visible', '=', True), + ], order='medianame asc, id asc') + + def _resolve_graphic_resolution(self, template): + default_resolution = { + 'width': 1024, + 'height': 1024, + 'label': '1024 x 1024', + } + if not template: + return default_resolution + + width = int(template.maxsize_w or 0) + height = int(template.maxsize_h or 0) + if width <= 0 or height <= 0: + return default_resolution + + return { + 'width': width, + 'height': height, + 'label': '%s x %s' % (width, height), + } + + def _get_openai_image_size(self, model, width, height): + width = int(width or 0) + height = int(height or 0) + if width <= 0 or height <= 0: + return '1024x1024' + + portrait = height > width + square = width == height + model_name = (model or '').strip() + + if square: + return '1024x1024' + if portrait: + if model_name == 'dall-e-3': + return '1024x1792' + return '1024x1536' + if model_name == 'dall-e-3': + return '1792x1024' + return '1536x1024' + + def _build_graphic_prompt( + self, + settings, + company_name, + company_address='', + instruction='', + resolution_label='', + mediatype_name='', + mediatype_prompt='', + company_context='', + ): + base_prompt = (settings.adportal_graphics_base_prompt or '').strip() if settings else '' + parts = [] + if base_prompt: + parts.append(base_prompt) + if mediatype_name: + parts.append('Medientyp: %s' % mediatype_name) + if mediatype_prompt: + parts.append('Medientyp KI Prompt: %s' % mediatype_prompt) + parts.append('Firma: %s' % company_name) + if company_address: + parts.append('Adresse: %s' % company_address) + if company_context: + parts.append(company_context) + if resolution_label: + parts.append('Aufloesung: %s Pixel' % resolution_label) + if instruction: + parts.append('Aenderung: %s' % instruction) + return '\n\n'.join(parts) + + def _build_graphic_prompt_with_chatgpt( + self, + settings, + company_name, + company_address='', + instruction='', + resolution_label='', + mediatype_name='', + mediatype_prompt='', + company_context='', + ): + prompt = self._build_graphic_prompt( + settings, + company_name, + company_address=company_address, + instruction=instruction, + resolution_label=resolution_label, + mediatype_name=mediatype_name, + mediatype_prompt=mediatype_prompt, + company_context=company_context, + ) + return prompt, '' + + def _get_company_context_from_google(self, settings, company_name): + if not settings: + return '', '' + + api_key = (settings.adportal_google_api_key or '').strip() + cse_id = (settings.adportal_google_cse_id or '').strip() + if not api_key or not cse_id: + return '', '' + + query_url = 'https://www.googleapis.com/customsearch/v1?%s' % urlencode({ + 'key': api_key, + 'cx': cse_id, + 'q': company_name, + 'num': 3, + }) + req = Request(query_url, headers={'Accept': 'application/json'}) + try: + with urlopen(req, timeout=10) as response: + payload = json.loads(response.read().decode('utf-8')) + except Exception: + return '', 'Google Firmeninformationen konnten nicht geladen werden.' + + items = payload.get('items') or [] + if not items: + return '', '' + + snippets = [] + for item in items[:3]: + title = (item.get('title') or '').strip() + snippet = (item.get('snippet') or '').strip().replace('\n', ' ') + link = (item.get('link') or '').strip() + info_parts = [part for part in (title, snippet, link) if part] + if info_parts: + snippets.append(' - '.join(info_parts)) + + if not snippets: + return '', '' + + return 'Google Firmenkontext:\n%s' % '\n'.join(snippets), '' + + def _create_graphic_with_chatgpt(self, settings, prompt, current_image='', resolution_width=0, resolution_height=0): + if not settings: + return None, 'Keine AD Portal Settings gefunden.' + + try: + from openai import OpenAI + except Exception: + return None, 'openai package not available' + + settings_icp = request.env['ir.config_parameter'].sudo() + api_key = (settings.adportal_graphics_api_key or '').strip() or (settings_icp.get_param('digitalsignage_ai.api_key') or '').strip() + if not api_key: + return None, 'ChatGPT API Key fehlt.' + + base_url = (settings_icp.get_param('digitalsignage_ai.base_url') or 'https://api.openai.com/v1').rstrip('/') + model = (settings.adportal_graphics_chatgpt_model or 'gpt-image-1').strip() + image_size = self._get_openai_image_size(model, resolution_width, resolution_height) + + try: + client = OpenAI(api_key=api_key, base_url=base_url) + if current_image: + image_bytes = None + if current_image.startswith('data:image/') and ';base64,' in current_image: + image_bytes = base64.b64decode(current_image.split(';base64,', 1)[1]) + elif current_image.startswith('data:') and ';base64,' in current_image: + image_bytes = base64.b64decode(current_image.split(';base64,', 1)[1]) + elif current_image.startswith('http://') or current_image.startswith('https://'): + with urlopen(Request(current_image, headers={'Accept': 'application/octet-stream'}), timeout=30) as response: + image_bytes = response.read() + + if image_bytes: + with tempfile.NamedTemporaryFile(suffix='.png') as image_file: + image_file.write(image_bytes) + image_file.flush() + with open(image_file.name, 'rb') as stream: + response = client.images.edits( + model=model, + image=stream, + prompt=prompt, + size=image_size, + ) + else: + response = client.images.generate( + model=model, + prompt=prompt, + size=image_size, + ) + else: + response = client.images.generate( + model=model, + prompt=prompt, + size=image_size, + ) + + if response and getattr(response, 'data', None): + first_item = response.data[0] + image_url = getattr(first_item, 'url', '') or '' + image_b64 = getattr(first_item, 'b64_json', '') or '' + if image_url: + return {'image_url': image_url, 'image_data': ''}, '' + if image_b64: + return {'image_url': '', 'image_data': 'data:image/png;base64,%s' % image_b64}, '' + return None, 'OpenAI hat kein Bild geliefert.' + except Exception as exc: + return None, str(exc) + + def _validate_company_with_google(self, settings, company_name): + if not settings or not settings.adportal_google_company_check: + return True, '', [{ + 'id': 'manual', + 'name': company_name, + 'street': '', + 'city': '', + 'postal_code': '', + 'region': '', + 'country': '', + 'full_address': company_name, + }] + + api_key = (settings.adportal_google_api_key or '').strip() + cse_id = (settings.adportal_google_cse_id or '').strip() + if not api_key or not cse_id: + return False, 'Google Pruefung aktiv, aber API Key oder CSE ID fehlt in den Settings.', [] + + _logger.info('ADPORTAL : Validating company "%s" with Google Search API', company_name) + + + import requests + + url = "https://local-business-data.p.rapidapi.com/search" + + querystring = {"query":"Firma wie "+company_name,"limit":"20","zoom":"13","language":"en","region":"de","extract_emails_and_contacts":"false"} + + headers = { + "x-rapidapi-key": "6eb64b4d3bmshe5bc9fc666cce68p13a32djsna3f717099ebf", + "x-rapidapi-host": "local-business-data.p.rapidapi.com", + "Content-Type": "application/json" + } + + response = requests.get(url, headers=headers, params=querystring) + data = response.json() + + _logger.info('ADPORTAL : Google Search API response: %s', str(data)) + + status_value = str(data.get('status') or '').strip().upper() + if status_value != 'OK': + return False, 'Google Firmenpruefung nicht OK (status: %s).' % (status_value or 'leer'), [] + + records = data.get('data') or [] + if not isinstance(records, list) or not records: + return False, 'Keine passenden Firmenadressen gefunden.', [] + + addresses = [] + for idx, row in enumerate(records): + if not isinstance(row, dict): + continue + + name = (row.get('name') or row.get('business_name') or company_name or '').strip() + street = (row.get('street') or row.get('address') or '').strip() + city = (row.get('city') or '').strip() + postal_code = (row.get('zip') or row.get('postal_code') or row.get('postcode') or '').strip() + region = (row.get('state') or row.get('region') or '').strip() + country = (row.get('country') or '').strip() + + parts = [part for part in (street, postal_code, city, region, country) if part] + full_address = ', '.join(parts) + if not full_address: + full_address = (row.get('formatted_address') or '').strip() + + addresses.append({ + 'id': str(row.get('place_id') or row.get('cid') or (idx + 1)), + 'name': name or company_name, + 'street': street, + 'city': city, + 'postal_code': postal_code, + 'region': region, + 'country': country, + 'full_address': full_address, + }) + + if not addresses: + return False, 'Keine auswertbaren Firmenadressen gefunden.', [] + return True, '', addresses + + + + def _validate_company_address(self, settings, company_name, company_address): + address_value = (company_address or '').strip() + if not address_value: + return False, 'Bitte eine Adresse eingeben.' + if len(address_value) < 6: + return False, 'Adresse ist zu kurz. Bitte vollstaendige Adresse eingeben.' + + if not settings or not settings.adportal_google_company_check: + return True, '' + + api_key = (settings.adportal_google_api_key or '').strip() + cse_id = (settings.adportal_google_cse_id or '').strip() + if not api_key or not cse_id: + return False, 'Google Pruefung aktiv, aber API Key oder CSE ID fehlt in den Settings.' + + query_text = '%s %s' % ((company_name or '').strip(), address_value) + query_url = 'https://www.googleapis.com/customsearch/v1?%s' % urlencode({ + 'key': api_key, + 'cx': cse_id, + 'q': query_text, + 'num': 1, + }) + req = Request(query_url, headers={'Accept': 'application/json'}) + try: + with urlopen(req, timeout=10) as response: + payload = json.loads(response.read().decode('utf-8')) + except Exception: + return False, 'Adresspruefung konnte nicht ausgefuehrt werden.' + + if payload.get('items'): + return True, '' + return False, 'Adresse konnte nicht bestaetigt werden. Bitte Adresse pruefen.' + + def _call_graphics_engine(self, settings, payload): + if not settings: + return None, 'Keine AD Portal Settings gefunden.' + + if settings.adportal_graphics_use_chatgpt: + image_result, error = self._create_graphic_with_chatgpt( + settings, + payload.get('prompt') or '', + current_image=payload.get('current_image') or '', + resolution_width=payload.get('resolution_width') or 0, + resolution_height=payload.get('resolution_height') or 0, + ) + if error: + return None, error + return image_result, '' + + api_url = (settings.adportal_graphics_api_url or '').strip() + api_key = (settings.adportal_graphics_api_key or '').strip() + timeout = int(settings.adportal_graphics_api_timeout or 90) + + if not api_url: + return None, 'Grafik API URL fehlt in den AD Portal Settings.' + + headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + } + if api_key: + headers['Authorization'] = 'Bearer %s' % api_key + headers['X-API-Key'] = api_key + + req = Request(api_url, data=json.dumps(payload).encode('utf-8'), headers=headers, method='POST') + try: + with urlopen(req, timeout=max(5, timeout)) as response: + body = response.read().decode('utf-8') + return json.loads(body or '{}'), '' + except URLError as exc: + return None, 'Grafik API nicht erreichbar: %s' % str(exc) + except Exception as exc: + return None, 'Grafik API Fehler: %s' % str(exc) + + def _extract_image_from_ai_result(self, data): + if not data: + return '', '' + + if isinstance(data, dict): + image_data = data.get('image_data') + if isinstance(image_data, str) and image_data.strip(): + return '', image_data.strip() + + direct_url_keys = ('image_url', 'url', 'output_image_url') + for key in direct_url_keys: + value = data.get(key) if isinstance(data, dict) else None + if isinstance(value, str) and value.strip(): + return value.strip(), '' + + if isinstance(data, dict): + image_block = data.get('image') + if isinstance(image_block, dict): + image_url = image_block.get('url') + if isinstance(image_url, str) and image_url.strip(): + return image_url.strip(), '' + b64 = image_block.get('b64_json') or image_block.get('base64') + if isinstance(b64, str) and b64.strip(): + return '', 'data:image/png;base64,%s' % b64.strip() + + images = data.get('images') + if isinstance(images, list) and images: + first = images[0] + if isinstance(first, str) and first.strip(): + return first.strip(), '' + if isinstance(first, dict): + image_url = first.get('url') + if isinstance(image_url, str) and image_url.strip(): + return image_url.strip(), '' + b64 = first.get('b64_json') or first.get('base64') + if isinstance(b64, str) and b64.strip(): + return '', 'data:image/png;base64,%s' % b64.strip() + + b64_top = data.get('image_base64') or data.get('b64_json') + if isinstance(b64_top, str) and b64_top.strip(): + return '', 'data:image/png;base64,%s' % b64_top.strip() + + return '', '' + + def _user_has_portal_right(self, user, field_name): + if field_name not in (getattr(user, '_fields', {}) or {}): + return True + return bool(getattr(user, field_name, True)) + + def _ensure_portal_right(self, user, field_name): + if not self._user_has_portal_right(user, field_name): + raise NotFound() + + def _get_portal_right_label(self, user, field_name): + labels = { + 'portal_right_contract_overview': 'Vertragsanzeige', + 'portal_right_contract_detail': 'Vertragsdetails', + 'portal_right_media_view': 'Medienanzeige', + 'portal_right_ranking_view': 'Rankinganzeige', + 'portal_right_graphic_examples': 'Grafikbeispiele anzeigen/erstellen', + } + return labels.get(field_name, field_name) + + def _normalize_cloud_path(self, path): + path_value = (path or '').strip().replace('\\', '/') + if not path_value: + return '' + normalized = posixpath.normpath('/' + path_value).lstrip('/') + return '' if normalized == '.' else normalized + + def _join_cloud_paths(self, left, right): + if not left: + return self._normalize_cloud_path(right) + if not right: + return self._normalize_cloud_path(left) + return self._normalize_cloud_path('%s/%s' % (left.rstrip('/'), right.lstrip('/'))) + + def _ensure_contract_portal_access(self, contract, contract_model, user): + if not contract: + raise NotFound() + + contract_fields = getattr(contract_model, '_fields', {}) or {} + is_creator = True + if 'contract_creator' in contract_fields: + if contract.contract_creator: + is_creator = contract.contract_creator.id == user.id + + is_writer_with_project_partner = False + partner_id = user.partner_id.id if getattr(user, 'partner_id', False) else False + if partner_id and 'contract_writer' in contract_fields and contract.contract_writer and contract.contract_writer.id == partner_id: + project = contract.project + project_fields = getattr(project, '_fields', {}) if project else {} + if project and 'vertriebspartner' in (project_fields or {}): + is_writer_with_project_partner = partner_id in project.vertriebspartner.ids + + if not (is_creator or is_writer_with_project_partner): + raise NotFound() + + def _get_user_contract_visibility_domain(self, user, require_project=False, project_id=False): + base_domain = [] + if require_project: + base_domain.append(('project', '!=', False)) + if project_id: + base_domain.append(('project', '=', project_id)) + + creator_domain = [('contract_creator', '=', user.id)] + partner_id = user.partner_id.id if getattr(user, 'partner_id', False) else False + if not partner_id: + return base_domain + creator_domain + + # Additional visibility: user is contract_writer and is in project.vertriebspartner. + writer_and_partner_domain = ['&', + ('contract_writer', '=', partner_id), + ('project.vertriebspartner', 'in', [partner_id]), + ] + return base_domain + ['|'] + creator_domain + writer_and_partner_domain + + def _compute_contract_end_without_extension(self, contract): + _logger.warning('ADPORTAL: compute end (no extension) CALLED for contract id=%s', contract.id if contract else 'n/a') + if not contract: + return False + + start_date = contract.start_date or contract.contract_date + if not start_date: + return False + + if contract.contract_iscanceled and contract.ads_last_todo_state_until: + _logger.warning('ADPORTAL: contract id=%s is canceled, using ads_last_todo_state_until=%s', contract.id, contract.ads_last_todo_state_until) + return contract.ads_last_todo_state_until + + runtime_months = int(contract.runtime_m or 0) + int(contract.runtime_bonus_m or 0) + if contract.contract_auto_extend: + try: + extension_months = int((contract.contract_auto_extend_time or '0').strip() or 0) + except Exception: + extension_months = 0 + runtime_months += extension_months + _logger.warning('ADPORTAL: contract id=%s has auto extension=%s months', contract.id, extension_months) + + _logger.warning('ADPORTAL: compute end inputs contract id=%s start_date=%s contract_date=%s runtime_m=%s runtime_bonus_m=%s total_months=%s', contract.id, contract.start_date, contract.contract_date, contract.runtime_m, contract.runtime_bonus_m, runtime_months) + return start_date + relativedelta(months=runtime_months) + + def _get_webdav_connection_data(self): + settings = request.env['dss.settings'].sudo().search([], limit=1) + cloud_base = (settings.def_cloud_url_base or '').strip() if settings else '' + if not cloud_base: + return None, None, None + + dav_base = cloud_base + marker = 'index.php/apps/files/?dir=' + if marker in dav_base: + dav_base = '%sremote.php/dav/files/OdooDav/' % dav_base.split(marker)[0] + elif '/remote.php/dav/files/' not in dav_base: + dav_base = dav_base.rstrip('/') + '/remote.php/dav/files/OdooDav/' + + config = request.env['ir.config_parameter'].sudo() + webdav_user = config.get_param('digitalsignage.webdav_user') or 'odooClient@logumedia.de' + webdav_password = config.get_param('digitalsignage.webdav_password') or 'lm2020#OdooDav' + return dav_base, webdav_user, webdav_password + + def _get_contract_cloud_root(self, contract): + cloud_root = contract.cloudlink or '' + if not cloud_root: + return '' + + settings = request.env['dss.settings'].sudo().search([], limit=1) + if settings: + try: + cloud_root = settings._get_path_converted(cloud_root, contract) or cloud_root + except Exception: + cloud_root = contract.cloudlink or '' + + normalized = self._normalize_cloud_path(cloud_root) + if not normalized: + return '' + if normalized.split('/')[-1] == self.MEDIA_ROOT_SUFFIX: + return normalized + return self._join_cloud_paths(normalized, self.MEDIA_ROOT_SUFFIX) + + def _build_media_breadcrumbs(self, contract_uuid, current_rel_path): + breadcrumbs = [ + { + 'name': self.MEDIA_ROOT_SUFFIX, + 'path': '', + 'href': '/adportal/contracts/%s' % contract_uuid, + 'is_current': current_rel_path == '', + } + ] + if not current_rel_path: + return breadcrumbs + + segments = [segment for segment in current_rel_path.split('/') if segment] + running_path = '' + for index, segment in enumerate(segments): + running_path = self._join_cloud_paths(running_path, segment) + breadcrumbs.append({ + 'name': segment, + 'path': running_path, + 'href': '/adportal/contracts/%s?media_path=%s' % (contract_uuid, quote(running_path)), + 'is_current': index == len(segments) - 1, + }) + return breadcrumbs + + def _get_contract_media_entries(self, contract, relative_path=''): + dav_base, webdav_user, webdav_password = self._get_webdav_connection_data() + cloud_root = self._get_contract_cloud_root(contract) + + if not dav_base or not cloud_root: + return { + 'enabled': False, + 'entries': [], + 'current_path': '', + 'parent_path': '', + 'error': '', + } + + current_rel_path = self._normalize_cloud_path(unquote(relative_path or '')) + target_path = self._join_cloud_paths(cloud_root, current_rel_path) + + try: + client = WebdavFileSystem(dav_base, auth=(webdav_user, webdav_password)) + raw_entries = client.ls(target_path, detail=True) + except Exception as exc: + return { + 'enabled': False, + 'entries': [], + 'current_path': current_rel_path, + 'parent_path': '', + 'error': str(exc), + } + + entries = [] + for item in raw_entries: + if isinstance(item, dict): + full_name = self._normalize_cloud_path(item.get('name') or item.get('path') or '') + item_type = str(item.get('type') or '') + size = item.get('size') + else: + full_name = self._normalize_cloud_path(str(item)) + item_type = '' + size = None + + if not full_name or full_name == target_path: + continue + + if full_name.startswith(cloud_root): + relative_from_root = full_name[len(cloud_root):].lstrip('/') + else: + relative_from_root = full_name + + name = full_name.rstrip('/').split('/')[-1] + if not name: + continue + + is_dir = item_type.lower() in ('directory', 'dir') or full_name.endswith('/') + encoded_path = quote(relative_from_root) + nav_href = '/adportal/contracts/%s?media_path=%s' % (contract.uuid, encoded_path) + href = nav_href if is_dir else '/adportal/contracts/%s/media?path=%s' % (contract.uuid, encoded_path) + + entries.append({ + 'name': name, + 'is_dir': is_dir, + 'size': size, + 'href': href, + 'nav_href': nav_href, + 'nav_path': relative_from_root, + }) + + entries = sorted(entries, key=lambda entry: (not entry['is_dir'], entry['name'].lower())) + + parent_path = '' + if current_rel_path: + parent_path = posixpath.dirname(current_rel_path) + if parent_path == '.': + parent_path = '' + + return { + 'enabled': True, + 'entries': entries, + 'current_path': current_rel_path, + 'parent_path': parent_path, + 'parent_href': '/adportal/contracts/%s' % contract.uuid if not parent_path else '/adportal/contracts/%s?media_path=%s' % (contract.uuid, quote(parent_path)), + 'panel_url': '/adportal/contracts/%s/media/panel' % contract.uuid, + 'breadcrumbs': self._build_media_breadcrumbs(contract.uuid, current_rel_path), + 'error': '', + } + + def _build_media_values(self, contract, media_path=''): + try: + media_info = self._get_contract_media_entries(contract, media_path) + except Exception: + media_info = { + 'enabled': False, + 'entries': [], + 'current_path': '', + 'parent_path': '', + 'parent_href': '/adportal/contracts/%s' % contract.uuid, + 'panel_url': '/adportal/contracts/%s/media/panel' % contract.uuid, + 'breadcrumbs': self._build_media_breadcrumbs(contract.uuid, ''), + 'error': '', + } + + return { + 'contract': contract, + 'media_enabled': media_info['enabled'], + 'media_entries': media_info['entries'], + 'media_current_path': media_info['current_path'], + 'media_parent_path': media_info['parent_path'], + 'media_parent_href': media_info.get('parent_href', '/adportal/contracts/%s' % contract.uuid), + 'media_panel_url': media_info.get('panel_url', '/adportal/contracts/%s/media/panel' % contract.uuid), + 'media_breadcrumbs': media_info.get('breadcrumbs', self._build_media_breadcrumbs(contract.uuid, '')), + 'media_error': media_info['error'], + } + + @http.route(['/my'], type='http', auth='user', website=True, sitemap=False) + def adportal_my(self, **kwargs): + return request.redirect('/adportal/dashboard') + + @http.route(['/adportal/dashboard'], type='http', auth='user', website=True) + def adportal_dashboard(self, **kwargs): + user = request.env.user + contract_model = request.env['dss.contracts'].sudo() + can_show_contracts = self._user_has_portal_right(user, 'portal_right_contract_overview') + can_show_graphic_examples = self._user_has_portal_right(user, 'portal_right_graphic_examples') + + draft_domain = [ + ('contract_creator', '=', user.id), + ('web_contract_input_notfinished', '=', True), + ] + recent_domain = self._get_user_contract_visibility_domain(user) + + draft_count = 0 + total_count = 0 + recent_contracts = contract_model.browse([]) + if can_show_contracts: + draft_count = contract_model.search_count(draft_domain) + total_count = contract_model.search_count(recent_domain) + recent_contracts = contract_model.search(recent_domain, limit=8, order='write_date desc, id desc') + + settings = request.env['dss.settings'].sudo().search([], limit=1) + show_foreign_ranking_names = True if not settings else bool(settings.adportal_ranking_show_foreign_names) + + ranking_rows = [] + if self._user_has_portal_right(user, 'portal_right_ranking_view'): + ranking_profiles = request.env['dss.portal.user.profile'].sudo().search([ + ('ranking_enabled', '=', True), + ('user_id.active', '=', True), + ], order='ranking_sum desc, ranking_position asc, id asc') + + max_sum = 0.0 + for ranking_profile in ranking_profiles: + current_sum = float(ranking_profile.ranking_sum or 0.0) + if current_sum > max_sum: + max_sum = current_sum + + for ranking_profile in ranking_profiles: + ranking_user = ranking_profile.user_id + current_sum = float(ranking_profile.ranking_sum or 0.0) + if max_sum > 0 and current_sum > 0: + stars = int(round((current_sum / max_sum) * 8.0)) + stars = max(1, stars) + else: + stars = 0 + stars = max(0, min(8, stars)) + + display_name = ranking_user.name + if (not show_foreign_ranking_names) and ranking_user.id != user.id: + display_name = '*****' + + ranking_rows.append({ + 'name': display_name, + 'stars': stars, + 'sum': current_sum, + }) + + values = { + 'username': user.name, + 'draft_count': draft_count, + 'total_count': total_count, + 'recent_contracts': recent_contracts, + 'show_contract_overview': can_show_contracts, + 'show_graphic_examples': can_show_graphic_examples, + 'show_ranking': self._user_has_portal_right(user, 'portal_right_ranking_view'), + 'ranking_rows': ranking_rows, + 'page_name': 'adportal_dashboard', + } + return request.render('DigitalSignage.adportal_dashboard', values) + + @http.route(['/adportal/graphic-examples'], type='http', auth='user', website=True) + def adportal_graphic_examples(self, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_graphic_examples') + + graphic_templates = self._get_visible_graphic_templates() + suggestions = request.env['dss.contracts'].sudo().search_read( + [('client_short_company', '!=', False)], + ['client_short_company'], + limit=200, + order='write_date desc, id desc', + ) + company_suggestions = [] + seen = set() + for row in suggestions: + company_name = (row.get('client_short_company') or '').strip() + if not company_name: + continue + lowered = company_name.lower() + if lowered in seen: + continue + seen.add(lowered) + company_suggestions.append(company_name) + + values = { + 'username': user.name, + 'graphic_templates': graphic_templates, + 'company_suggestions': company_suggestions, + 'page_name': 'adportal_graphic_examples', + } + return request.render('DigitalSignage.adportal_graphic_examples', values) + + @http.route(['/adportal/graphic-examples/start'], type='http', auth='user', methods=['POST'], csrf=False) + def adportal_graphic_examples_start(self, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_graphic_examples') + + company_name = (kwargs.get('company') or '').strip() + selected_address = (kwargs.get('selected_address') or '').strip() + template_id = int(kwargs.get('template_id') or 0) + if not company_name: + _logger.info('No company name provided in graphic example start request') + return self._json_response({'ok': False, 'error': 'Bitte eine Firma eingeben.'}, status=400) + + settings = self._get_adportal_settings() + template = None + if template_id: + template = self._get_visible_graphic_templates().filtered(lambda item: item.id == template_id)[:1] + template = template[0] if template else None + + resolution = self._resolve_graphic_resolution(template) + _logger.info('Using resolution: %s', resolution) + + mediatype_prompt = (template.adportal_ki_prompt or '').strip() if template else '' + company_context, company_context_warning = self._get_company_context_from_google(settings, company_name) + + prompt, chatgpt_error = self._build_graphic_prompt_with_chatgpt( + settings, + company_name, + company_address=selected_address, + resolution_label=resolution['label'], + mediatype_name=template.medianame if template else 'Standard', + mediatype_prompt=mediatype_prompt, + company_context=company_context, + ) + payload = { + 'mode': 'start', + 'company': company_name, + 'prompt': prompt, + 'template_id': template.id if template else 0, + 'template_name': template.medianame if template else 'Standard', + 'resolution_width': resolution['width'], + 'resolution_height': resolution['height'], + 'resolution_label': resolution['label'], + } + result, error = self._call_graphics_engine(settings, payload) + if error: + return self._json_response({'ok': False, 'error': error}, status=502) + if chatgpt_error and (settings and settings.adportal_graphics_use_chatgpt): + payload = dict(payload) + payload['chatgpt_warning'] = chatgpt_error + + image_url, image_data = self._extract_image_from_ai_result(result) + if not image_url and not image_data: + return self._json_response({'ok': False, 'error': 'Kein Bild im API Ergebnis gefunden.'}, status=502) + + return self._json_response({ + 'ok': True, + 'status': 'OK', + 'company': company_name, + 'selected_address': selected_address, + 'prompt': prompt, + 'template_id': template.id if template else 0, + 'template_name': template.medianame if template else 'Standard', + 'resolution_width': resolution['width'], + 'resolution_height': resolution['height'], + 'resolution_label': resolution['label'], + 'chatgpt_warning': chatgpt_error if (settings and settings.adportal_graphics_use_chatgpt) else '', + 'google_warning': company_context_warning, + 'image_url': image_url, + 'image_data': image_data, + }) + + @http.route(['/adportal/graphic-examples/validate-address'], type='http', auth='user', methods=['POST'], csrf=False) + def adportal_graphic_examples_validate_address(self, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_graphic_examples') + + company_name = (kwargs.get('company') or '').strip() + if not company_name: + return self._json_response({'ok': False, 'error': 'Bitte eine Firma eingeben.'}, status=400) + + settings = self._get_adportal_settings() + is_valid, validation_error, addresses = self._validate_company_with_google(settings, company_name) + if not is_valid: + return self._json_response({'ok': False, 'error': validation_error}, status=400) + + selected_address = addresses[0] if len(addresses) == 1 else {} + return self._json_response({ + 'ok': True, + 'status': 'OK', + 'message': 'Adresse erfolgreich geprueft.', + 'requires_selection': len(addresses) > 1, + 'addresses': addresses, + 'selected_address': selected_address, + }) + + @http.route(['/adportal/graphic-examples/refine'], type='http', auth='user', methods=['POST'], csrf=False) + def adportal_graphic_examples_refine(self, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_graphic_examples') + + company_name = (kwargs.get('company') or '').strip() + selected_address = (kwargs.get('selected_address') or '').strip() + instruction = (kwargs.get('instruction') or '').strip() + current_image = (kwargs.get('current_image') or '').strip() + template_id = int(kwargs.get('template_id') or 0) + + if not company_name: + return self._json_response({'ok': False, 'error': 'Bitte eine Firma eingeben.'}, status=400) + if not instruction: + return self._json_response({'ok': False, 'error': 'Bitte eine Aenderung eingeben.'}, status=400) + + settings = self._get_adportal_settings() + template = None + if template_id: + template = self._get_visible_graphic_templates().filtered(lambda item: item.id == template_id)[:1] + template = template[0] if template else None + + resolution = self._resolve_graphic_resolution(template) + mediatype_prompt = (template.adportal_ki_prompt or '').strip() if template else '' + company_context, company_context_warning = self._get_company_context_from_google(settings, company_name) + prompt, chatgpt_error = self._build_graphic_prompt_with_chatgpt( + settings, + company_name, + company_address=selected_address, + instruction=instruction, + resolution_label=resolution['label'], + mediatype_name=template.medianame if template else 'Standard', + mediatype_prompt=mediatype_prompt, + company_context=company_context, + ) + payload = { + 'mode': 'refine', + 'company': company_name, + 'prompt': prompt, + 'instruction': instruction, + 'current_image': current_image, + 'template_id': template.id if template else 0, + 'template_name': template.medianame if template else 'Standard', + 'resolution_width': resolution['width'], + 'resolution_height': resolution['height'], + 'resolution_label': resolution['label'], + } + result, error = self._call_graphics_engine(settings, payload) + if error: + return self._json_response({'ok': False, 'error': error}, status=502) + if chatgpt_error and (settings and settings.adportal_graphics_use_chatgpt): + payload = dict(payload) + payload['chatgpt_warning'] = chatgpt_error + + image_url, image_data = self._extract_image_from_ai_result(result) + if not image_url and not image_data: + return self._json_response({'ok': False, 'error': 'Kein Bild im API Ergebnis gefunden.'}, status=502) + + return self._json_response({ + 'ok': True, + 'status': 'OK', + 'company': company_name, + 'selected_address': selected_address, + 'prompt': prompt, + 'template_id': template.id if template else 0, + 'template_name': template.medianame if template else 'Standard', + 'resolution_width': resolution['width'], + 'resolution_height': resolution['height'], + 'resolution_label': resolution['label'], + 'chatgpt_warning': chatgpt_error if (settings and settings.adportal_graphics_use_chatgpt) else '', + 'google_warning': company_context_warning, + 'image_url': image_url, + 'image_data': image_data, + }) + + @http.route(['/adportal/contracts'], type='http', auth='user', website=True) + def adportal_contracts(self, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_contract_overview') + + contract_model = request.env['dss.contracts'].sudo() + + preferred_domain = self._get_user_contract_visibility_domain(user, require_project=True) + fallback_domain = [('project', '!=', False)] + + grouped = contract_model.read_group(preferred_domain, ['project'], ['project']) + if not grouped: + grouped = contract_model.read_group(fallback_domain, ['project'], ['project']) + + count_by_project = {} + project_ids = [] + for row in grouped: + project_tuple = row.get('project') + if not project_tuple: + continue + project_id = project_tuple[0] + count_by_project[project_id] = row.get('project_count', row.get('__count', 0)) + project_ids.append(project_id) + + project_records = request.env['dss.projects'].sudo().browse(project_ids) + project_cards = [] + for project in sorted(project_records, key=lambda p: ((p.projectid or 0), p.id)): + project_cards.append({ + 'id': project.id, + 'projectid': project.projectid, + 'name': project.projektname or project.name or '-', + 'count': count_by_project.get(project.id, 0), + }) + + values = { + 'username': user.name, + 'project_cards': project_cards, + 'page_name': 'adportal_contracts', + } + return request.render('DigitalSignage.adportal_contracts', values) + + @http.route(['/adportal/contracts/project/'], type='http', auth='user', website=True) + def adportal_contracts_by_project(self, project_id, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_contract_overview') + + project = request.env['dss.projects'].sudo().browse(project_id) + if not project.exists(): + raise NotFound() + + contract_model = request.env['dss.contracts'].sudo() + preferred_domain = self._get_user_contract_visibility_domain(user, project_id=project.id) + fallback_domain = [('project', '=', project.id)] + + documents = contract_model.search( + preferred_domain, + order='write_date desc, id desc', + limit=200, + ) + if not documents: + documents = contract_model.search( + fallback_domain, + order='write_date desc, id desc', + limit=200, + ) + + computed_contract_end_by_id = {} + for document in documents: + _logger.warning('ADPORTAL: building computed_contract_end_by_id for contract id=%s', document.id) + computed_contract_end_by_id[document.id] = self._compute_contract_end_without_extension(document) + + values = { + 'username': user.name, + 'project': project, + 'documents': documents, + 'computed_contract_end_by_id': computed_contract_end_by_id, + 'page_name': 'adportal_contracts_project', + } + return request.render('DigitalSignage.adportal_contracts_project', values) + + @http.route(['/adportal/contracts/'], type='http', auth='user', website=True) + def adportal_contract_detail(self, uuid, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_contract_detail') + can_show_media = self._user_has_portal_right(user, 'portal_right_media_view') + can_show_graphic_examples = self._user_has_portal_right(user, 'portal_right_graphic_examples') + + contract_model = request.env['dss.contracts'].sudo() + contract = contract_model.search([ + ('uuid', '=', uuid), + ], limit=1) + + self._ensure_contract_portal_access(contract, contract_model, user) + + media_path = kwargs.get('media_path') or '' + media_values = self._build_media_values(contract, media_path) if can_show_media else { + 'contract': contract, + 'media_enabled': False, + 'media_entries': [], + 'media_current_path': '', + 'media_parent_path': '', + 'media_parent_href': '/adportal/contracts/%s' % contract.uuid, + 'media_panel_url': '/adportal/contracts/%s/media/panel' % contract.uuid, + 'media_breadcrumbs': [], + 'media_error': '', + } + + values = { + 'username': user.name, + 'contract': contract, + 'show_media': can_show_media, + 'show_graphic_examples': can_show_graphic_examples, + **media_values, + 'page_name': 'adportal_contract_detail', + } + return request.render('DigitalSignage.adportal_contract_detail', values) + + @http.route(['/adportal/contracts//media/panel'], type='http', auth='user', website=True) + def adportal_contract_media_panel(self, uuid, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_contract_detail') + self._ensure_portal_right(user, 'portal_right_media_view') + + contract_model = request.env['dss.contracts'].sudo() + contract = contract_model.search([ + ('uuid', '=', uuid), + ], limit=1) + self._ensure_contract_portal_access(contract, contract_model, user) + + media_values = self._build_media_values(contract, kwargs.get('media_path') or '') + return request.render('DigitalSignage.adportal_contract_media_panel', media_values) + + @http.route(['/adportal/contracts//media'], type='http', auth='user', website=True) + def adportal_contract_media_download(self, uuid, **kwargs): + user = request.env.user + self._ensure_portal_right(user, 'portal_right_contract_detail') + self._ensure_portal_right(user, 'portal_right_media_view') + + contract_model = request.env['dss.contracts'].sudo() + contract = contract_model.search([ + ('uuid', '=', uuid), + ], limit=1) + self._ensure_contract_portal_access(contract, contract_model, user) + + requested_rel_path = self._normalize_cloud_path(unquote(kwargs.get('path') or '')) + if not requested_rel_path: + raise NotFound() + + cloud_root = self._get_contract_cloud_root(contract) + if not cloud_root: + raise NotFound() + + absolute_path = self._join_cloud_paths(cloud_root, requested_rel_path) + dav_base, webdav_user, webdav_password = self._get_webdav_connection_data() + if not dav_base: + raise NotFound() + + try: + client = WebdavFileSystem(dav_base, auth=(webdav_user, webdav_password)) + info = client.info(absolute_path) + if str(info.get('type') or '').lower() in ('directory', 'dir'): + return request.redirect('/adportal/contracts/%s?media_path=%s' % (contract.uuid, quote(requested_rel_path))) + with client.open(absolute_path, 'rb') as stream: + data = stream.read() + except Exception: + raise NotFound() + + filename = absolute_path.split('/')[-1] or 'download' + mimetype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' + headers = [ + ('Content-Type', mimetype), + ('Content-Disposition', 'inline; filename="%s"' % filename), + ] + return request.make_response(data, headers=headers) diff --git a/controllers/ai_agent_controller.py b/controllers/ai_agent_controller.py new file mode 100755 index 0000000..849fead --- /dev/null +++ b/controllers/ai_agent_controller.py @@ -0,0 +1,2328 @@ +# -*- coding: utf-8 -*- + +import json +import logging +import os +import re +import ast +from datetime import datetime, timezone +from urllib.parse import quote + +import requests + +from odoo import http +from odoo.exceptions import AccessError +from odoo.http import request +from odoo.osv import expression + +try: + from zoneinfo import ZoneInfo +except Exception: + ZoneInfo = None + +_logger = logging.getLogger(__name__) + + +class AIAgentController(http.Controller): + + _MAX_CONTRACT_CONTEXT_CHARS = 40000 + _MAX_PROJECT_CONTEXT_CHARS = 30000 + _TOOL_MAX_ROWS = 100 + _OPEN_TABLE_ACTION_XMLIDS = { + 'dss.contracts': 'DigitalSignage.action_dss_main_contracts', + 'dss.projects': 'DigitalSignage.action_dss_view_tree', + } + _OPEN_TABLE_MENU_XMLIDS = { + 'dss.contracts': 'DigitalSignage.menu_dss_contracts_details', + 'dss.projects': 'DigitalSignage.menu_dss_recherche_project_details', + } + + def _log_params(self, event_name, params): + """Centralized structured logging with clipping to keep log lines readable.""" + try: + serialized = json.dumps(params or {}, ensure_ascii=False, default=str) + except Exception: + serialized = str(params) + _logger.info('AI Agent %s | params=%s', event_name, self._clip_text(serialized, 3000)) + + def _save_history_entry(self, role, content): + text = (content or '').strip() + if not text: + return + request.env['dss.ai.chat.history'].sudo().create({ + 'user_id': request.env.user.id, + 'role': role, + 'content': text, + }) + + def _save_exchange(self, cleaned_messages, assistant_reply): + last_user_prompt = self._last_user_query(cleaned_messages) + if last_user_prompt: + self._save_history_entry('user', last_user_prompt) + if assistant_reply: + self._save_history_entry('assistant', assistant_reply) + + @http.route('/digitalsignage/ai_agent/prompts', type='json', auth='user') + def ai_agent_prompts(self, limit=20): + safe_limit = self._safe_int(limit, default=20, min_value=1, max_value=100) + rows = request.env['dss.ai.chat.history'].sudo().search_read( + [('user_id', '=', request.env.user.id), ('role', '=', 'user')], + ['content'], + limit=200, + order='create_date desc', + ) + prompts = [] + seen = set() + for row in rows: + text = (row.get('content') or '').strip() + if not text: + continue + if text in seen: + continue + seen.add(text) + prompts.append(text) + if len(prompts) >= safe_limit: + break + return {'prompts': prompts} + + @http.route('/digitalsignage/ai_agent/open_contract', type='json', auth='user') + def ai_agent_open_contract(self, contract_auto_id='', record_id=None): + model_name = 'dss.contracts' + contract_auto_id = (contract_auto_id or '').strip() + record_id = self._safe_int(record_id or 0, default=0, min_value=0) + is_project_candidate = bool( + contract_auto_id + and contract_auto_id.isdigit() + and ( + contract_auto_id.endswith('00') + or len(contract_auto_id) == 3 + ) + ) + + self._log_params('navbar.open_contract.request', { + 'user_id': request.env.user.id, + 'contract_auto_id': contract_auto_id, + 'record_id': record_id, + 'is_project_candidate': is_project_candidate, + }) + + # If the input looks like a project number, first try an exact lookup on dss.projects.projectid. + if is_project_candidate: + project_number = self._safe_int(contract_auto_id, default=0, min_value=0) + if project_number: + try: + project_record = request.env['dss.projects'].search([ + ('projectid', '=', project_number), + ], limit=1) + except AccessError: + return { + 'error': 'Kein Zugriff auf dss.projects.', + 'found': False, + 'message': 'Kein Zugriff auf Projektdaten.', + } + + if project_record: + open_table = self._build_open_project_kanban_payload(project_record) + return { + 'found': True, + 'mode': 'project_contract_kanban', + 'record_id': int(project_record.id), + 'open_table': open_table, + 'message': 'Projekt-Vertragskanban ueber ProjectID geoeffnet.', + } + + model = request.env[model_name] + record = None + try: + if record_id > 0: + record = model.browse(record_id) + if not record.exists(): + record = None + if not record and contract_auto_id: + record = model.search( + ['|', ('contract_auto_id', '=', contract_auto_id), ('contract_id', '=', contract_auto_id)], + limit=1, + ) + except AccessError: + return { + 'error': 'Kein Zugriff auf dss.contracts.', + 'found': False, + 'message': 'Kein Zugriff auf Vertragsdaten.', + } + + # Important: contract lookup has priority, even if number ends with 00. + if record: + open_table = self._build_open_record_payload( + model_name, + int(record.id), + domain=[('id', '=', int(record.id))], + open_label='Vertrag im Formular oeffnen', + ) + + self._log_params('navbar.open_contract.response', { + 'user_id': request.env.user.id, + 'record_id': int(record.id), + 'mode': 'contract_form', + }) + + return { + 'found': True, + 'mode': 'contract_form', + 'record_id': int(record.id), + 'open_table': open_table, + 'message': 'Vertrag geoeffnet.', + } + + return { + 'found': False, + 'contract_auto_id': contract_auto_id, + 'message': 'Keine passenden Vertraege/Projekte fuer "%s" gefunden.' % contract_auto_id, + } + + @http.route('/digitalsignage/ai_agent/history', type='json', auth='user') + def ai_agent_history(self, limit=30): + safe_limit = self._safe_int(limit, default=30, min_value=1, max_value=200) + rows = request.env['dss.ai.chat.history'].sudo().search_read( + [('user_id', '=', request.env.user.id)], + ['role', 'content', 'create_date'], + limit=safe_limit, + order='create_date desc', + ) + rows.reverse() + return {'items': rows} + + def _clip_text(self, text, max_chars): + if not text: + return "" + if len(text) <= max_chars: + return text + return "%s\n... (Kontext gekuerzt, Zeichenlimit erreicht)" % text[:max_chars] + + def _find_action_for_model(self, model_name): + if not model_name: + return {'action_id': None, 'menu_id': None, 'view_type': 'tree'} + try: + action_model = request.env['ir.actions.act_window'].sudo() + action = None + menu = None + + preferred_xmlid = self._OPEN_TABLE_ACTION_XMLIDS.get(model_name) + if preferred_xmlid: + action = request.env.ref(preferred_xmlid, raise_if_not_found=False) + + preferred_menu_xmlid = self._OPEN_TABLE_MENU_XMLIDS.get(model_name) + if preferred_menu_xmlid: + menu = request.env.ref(preferred_menu_xmlid, raise_if_not_found=False) + + # Prefer actions that can open a list/tree view. + if not action: + action = action_model.search( + [('res_model', '=', model_name), ('view_mode', 'ilike', 'tree')], + order='id desc', + limit=1, + ) + if not action: + action = action_model.search( + [('res_model', '=', model_name), ('view_mode', 'ilike', 'list')], + order='id desc', + limit=1, + ) + if not action: + action = action_model.search( + [('res_model', '=', model_name)], + order='id desc', + limit=1, + ) + + menu_id = menu.id if menu else None + if action and not menu_id: + menu = request.env['ir.ui.menu'].sudo().search( + [('action', '=', 'ir.actions.act_window,%s' % action.id)], + order='id asc', + limit=1, + ) + menu_id = menu.id if menu else None + + return { + 'action_id': action.id if action else None, + 'menu_id': menu_id, + 'view_type': 'tree', + } + except Exception: + return {'action_id': None, 'menu_id': None, 'view_type': 'tree'} + + def _build_open_table_url(self, model_name, action_id, menu_id, view_type, domain): + if not model_name: + return '/web' + domain_str = quote(json.dumps(domain or [], ensure_ascii=False)) + parts = [] + company_ids = request.env.context.get('allowed_company_ids') or [request.env.company.id] + if action_id: + parts.append('action=%s' % action_id) + if menu_id: + parts.append('menu_id=%s' % menu_id) + if company_ids: + parts.append('cids=%s' % ','.join([str(cid) for cid in company_ids])) + parts.append('model=%s' % quote(str(model_name))) + parts.append('view_type=%s' % quote(str(view_type or 'tree'))) + parts.append('domain=%s' % domain_str) + return '/web#' + '&'.join(parts) + + def _build_open_table_action(self, model_name, domain): + if not model_name: + return None + if not isinstance(domain, list): + domain = [] + domain = self._normalize_domain(domain) + action_info = self._find_action_for_model(model_name) + action_id = action_info.get('action_id') + action_name = None + if action_id: + try: + action = request.env['ir.actions.act_window'].sudo().browse(action_id) + action_name = action.name or None + except Exception: + action_name = None + + action_context = { + 'ai_open_table_domain': domain, + } + action_context.update(self._domain_to_search_defaults(domain)) + + return { + 'type': 'ir.actions.act_window', + 'name': action_name or model_name, + 'res_model': model_name, + 'view_mode': 'tree,form', + 'views': [[False, 'tree'], [False, 'form']], + 'domain': domain, + 'target': 'current', + 'context': action_context, + } + + def _build_open_table_payload(self, model_name, domain, returned=0, total=0, record_ids=None): + if not model_name: + return None + if not isinstance(domain, list): + domain = [] + domain = self._normalize_domain(domain) + record_ids = [rid for rid in (record_ids or []) if isinstance(rid, int)] + action_info = self._find_action_for_model(model_name) + action_id = action_info.get('action_id') + menu_id = action_info.get('menu_id') + view_type = action_info.get('view_type') or 'tree' + return { + 'model': model_name, + 'action_id': action_id, + 'menu_id': menu_id, + 'view_type': view_type, + 'domain': domain, + 'record_ids': record_ids, + 'returned': returned, + 'total': total, + 'open_action': self._build_open_table_action(model_name, domain), + 'url': self._build_open_table_url(model_name, action_id, menu_id, view_type, domain), + } + + def _parse_domain_input(self, raw_domain): + if isinstance(raw_domain, tuple): + return [raw_domain] + + if isinstance(raw_domain, dict): + # Accept wrapper formats like {"domain": [...]}, {"filters": [...]}, {"conditions": [...]}. + for key in ('domain', 'filters', 'conditions'): + if key in raw_domain: + return self._parse_domain_input(raw_domain.get(key)) + + # Accept single-clause dict format: {"field": "x", "operator": "=", "value": 1} + field_name = raw_domain.get('field') + operator = raw_domain.get('operator', '=') + if field_name: + return [(field_name, operator, raw_domain.get('value'))] + return [] + + if isinstance(raw_domain, list): + # Also accept list of clause-dicts. + converted = [] + has_dict_clause = False + for item in raw_domain: + if isinstance(item, dict): + has_dict_clause = True + field_name = item.get('field') + operator = item.get('operator', '=') + if field_name: + converted.append((field_name, operator, item.get('value'))) + continue + converted.append(item) + if has_dict_clause: + return converted + return raw_domain + if not isinstance(raw_domain, str) or not raw_domain.strip(): + return [] + + text = raw_domain.strip() + + # Prefer JSON first because booleans/null are represented as true/false/null. + try: + parsed_json = json.loads(text) + parsed = self._parse_domain_input(parsed_json) + if isinstance(parsed, list): + return parsed + except Exception: + pass + + # Fallback for python-literal style domains. + try: + parsed_literal = ast.literal_eval(text) + parsed = self._parse_domain_input(parsed_literal) + if isinstance(parsed, list): + return parsed + except Exception: + pass + + _logger.warning('Invalid domain input: %s', raw_domain) + return [] + + def _open_table_priority(self, function_name): + priorities = { + 'open_contract_form': 110, + 'get_all_contracts': 100, + 'search_all_records': 90, + 'get_model_records': 80, + 'get_projects': 70, + } + return priorities.get(function_name or '', 0) + + def _build_open_record_action(self, model_name, record_id, view_mode='form'): + if not model_name or not isinstance(record_id, int) or record_id <= 0: + return None + action_info = self._find_action_for_model(model_name) + action_id = action_info.get('action_id') + action_name = None + if action_id: + try: + action = request.env['ir.actions.act_window'].sudo().browse(action_id) + action_name = action.name or None + except Exception: + action_name = None + + return { + 'type': 'ir.actions.act_window', + 'name': action_name or model_name, + 'res_model': model_name, + 'res_id': record_id, + 'view_mode': view_mode or 'form', + 'views': [[False, 'form']], + 'target': 'current', + } + + def _build_open_record_url(self, model_name, record_id, action_id=None, menu_id=None, view_type='form'): + if not model_name or not isinstance(record_id, int) or record_id <= 0: + return '/web' + parts = [] + company_ids = request.env.context.get('allowed_company_ids') or [request.env.company.id] + if action_id: + parts.append('action=%s' % action_id) + if menu_id: + parts.append('menu_id=%s' % menu_id) + if company_ids: + parts.append('cids=%s' % ','.join([str(cid) for cid in company_ids])) + parts.append('model=%s' % quote(str(model_name))) + parts.append('id=%s' % record_id) + parts.append('view_type=%s' % quote(str(view_type or 'form'))) + return '/web#' + '&'.join(parts) + + def _build_open_record_payload(self, model_name, record_id, domain=None, open_label='Datensatz oeffnen'): + if not model_name or not isinstance(record_id, int) or record_id <= 0: + return None + action_info = self._find_action_for_model(model_name) + action_id = action_info.get('action_id') + menu_id = action_info.get('menu_id') + return { + 'model': model_name, + 'action_id': action_id, + 'menu_id': menu_id, + 'view_type': 'form', + 'domain': self._normalize_domain(domain or [('id', '=', record_id)]), + 'record_ids': [record_id], + 'returned': 1, + 'total': 1, + 'auto_open': True, + 'open_label': open_label, + 'open_action': self._build_open_record_action(model_name, record_id, view_mode='form'), + 'url': self._build_open_record_url(model_name, record_id, action_id=action_id, menu_id=menu_id, view_type='form'), + } + + def _build_open_project_kanban_payload(self, project_record): + if not project_record or not project_record.exists(): + return None + + model_name = 'dss.contracts' + action_info = self._find_action_for_model(model_name) + action = request.env.ref('DigitalSignage.action_dss_project_contracts', raise_if_not_found=False) + action_id = action.id if action else action_info.get('action_id') + menu_id = action_info.get('menu_id') + domain = [('project', '=', int(project_record.id))] + + return { + 'model': model_name, + 'action_id': action_id, + 'menu_id': menu_id, + 'view_type': 'kanban', + 'domain': domain, + 'record_ids': [], + 'returned': 1, + 'total': 1, + 'auto_open': True, + 'open_label': 'Projekt-Vertraege in Kanban oeffnen', + 'open_action': { + 'type': 'ir.actions.act_window', + 'name': (action.name if action else None) or model_name, + 'res_model': model_name, + 'view_mode': 'kanban,form,tree,calendar,activity', + 'views': [[False, 'kanban'], [False, 'form'], [False, 'tree']], + 'domain': domain, + 'target': 'current', + 'context': { + 'ai_open_table_domain': domain, + 'default_project': int(project_record.id), + 'default_project_id': int(project_record.id), + 'show_project_update': True, + }, + }, + 'url': self._build_open_table_url(model_name, action_id, menu_id, 'kanban', domain), + } + + def _normalize_domain(self, domain): + if not isinstance(domain, list): + return [] + try: + return expression.normalize_domain(domain) + except Exception: + _logger.warning('Could not normalize domain, using raw domain: %s', domain) + return domain + + def _domain_to_search_defaults(self, domain): + """Best effort for visible UI filters via search_default_* context keys.""" + defaults = {} + if not isinstance(domain, list): + return defaults + for token in domain: + if not isinstance(token, (list, tuple)) or len(token) != 3: + continue + field_name, operator, value = token + if operator != '=': + continue + if not isinstance(field_name, str): + continue + if not field_name.replace('_', '').isalnum(): + continue + defaults['search_default_%s' % field_name] = value + return defaults + + def _extract_api_error_message(self, response): + try: + payload = response.json() or {} + error = payload.get('error') or {} + message = error.get('message') or '' + if message: + return message + except Exception: + pass + return response.text or '' + + def _parse_allowed_models(self, settings): + raw_models = (settings.ai_agent_callback_models or '').strip() if settings else '' + if not raw_models: + return [] + return [m.strip() for m in raw_models.split(',') if m.strip()] + + def _parse_allowed_fields(self, settings): + raw = (settings.ai_agent_callback_fields_json or '').strip() if settings else '' + if not raw: + return {} + try: + parsed = json.loads(raw) + return parsed if isinstance(parsed, dict) else {} + except Exception: + _logger.warning('Invalid JSON in ai_agent_callback_fields_json') + return {} + + def _parse_allowed_aliases(self, settings): + raw = (settings.ai_agent_callback_aliases_json or '').strip() if settings else '' + if not raw: + return {} + try: + parsed = json.loads(raw) + return parsed if isinstance(parsed, dict) else {} + except Exception: + _logger.warning('Invalid JSON in ai_agent_callback_aliases_json') + return {} + + def _parse_allowed_write_fields(self, settings): + raw = (settings.ai_agent_callback_write_fields or '').strip() if settings else '' + if not raw: + return {} + + allowed = {} + for item in re.split(r'[\n,;]+', raw): + entry = (item or '').strip() + if not entry or '.' not in entry: + continue + model_name, field_name = entry.rsplit('.', 1) + model_name = model_name.strip() + field_name = field_name.strip() + if not model_name or not field_name: + continue + allowed.setdefault(model_name, set()).add(field_name) + return allowed + + def _sanitize_search_text(self, value): + text = (value or '').strip() + # Keep search text compact to avoid overly broad / expensive queries. + return re.sub(r'\s+', ' ', text)[:120] + + def _normalize_contract_search_field(self, settings, model_name, field_name): + raw_original = (field_name or '').strip() + raw = raw_original.lower() + + allowed_fields_map = self._parse_allowed_fields(settings) + configured_fields = allowed_fields_map.get(model_name) or [] + allowed_fields = [f for f in configured_fields if isinstance(f, str) and f] + allowed_set = set(allowed_fields) + + if raw in allowed_fields: + return raw + + aliases_map = self._parse_allowed_aliases(settings) + model_aliases = aliases_map.get(model_name) if isinstance(aliases_map, dict) else {} + if not isinstance(model_aliases, dict): + model_aliases = {} + + normalized_aliases = {} + for alias_key, field_value in model_aliases.items(): + alias_key_text = str(alias_key or '').strip().lower() + field_text = str(field_value or '').strip() + if alias_key_text and field_text: + normalized_aliases[alias_key_text] = field_text + + target_field = normalized_aliases.get(raw, '') + if target_field in allowed_set: + return target_field + return '' + + def _to_boolean_search_value(self, value): + raw = (value or '').strip().lower() + if raw in ('1', 'true', 't', 'yes', 'y', 'ja', 'j', 'on'): + return True + if raw in ('0', 'false', 'f', 'no', 'n', 'nein', 'off'): + return False + return None + + def _split_field_and_value(self, settings, model_name, search_text): + text = self._sanitize_search_text(search_text) + for separator in (':', '='): + if separator in text: + left, right = text.split(separator, 1) + field_name = self._normalize_contract_search_field(settings, model_name, left) + value = self._sanitize_search_text(right) + if field_name and value: + return field_name, value + return '', text + + def _tool_search_all_records(self, settings, arguments): + """Durchsucht ein freigegebenes Modell nach einem Filterstring und gibt alle + gefundenen Datensaetze (paginiert) mit allen freigegebenen Feldern zurueck.""" + model_name = ((arguments or {}).get('model_name') or '').strip() + search_text = self._sanitize_search_text((arguments or {}).get('search_text') or '') + limit = self._safe_int((arguments or {}).get('limit', 50), default=50, min_value=1, max_value=self._TOOL_MAX_ROWS) + offset = self._safe_int((arguments or {}).get('offset', 0), default=0, min_value=0) + search_fields_arg = (arguments or {}).get('search_fields') or [] + + self._log_params('tool.search_all_records.request', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'search_text': search_text, + 'search_fields_arg': search_fields_arg, + 'limit': limit, + 'offset': offset, + }) + + allowed_models = self._parse_allowed_models(settings) + allowed_fields_map = self._parse_allowed_fields(settings) + + if model_name not in allowed_models: + return {'error': 'Modell ist nicht fuer Callback freigegeben: %s' % model_name} + + allowed_fields = allowed_fields_map.get(model_name) or [] + if not isinstance(allowed_fields, list) or not allowed_fields: + return {'error': 'Keine freigegebenen Felder fuer Modell %s konfiguriert.' % model_name} + + # Determine which fields to search in. + if search_fields_arg and isinstance(search_fields_arg, list): + search_target_fields = [f for f in search_fields_arg if f in allowed_fields] + else: + search_target_fields = allowed_fields[:] + + if not search_target_fields: + search_target_fields = allowed_fields[:] + + domain = [] + if search_text: + if len(search_target_fields) == 1: + domain = [(search_target_fields[0], 'ilike', search_text)] + else: + domain = [] + for idx, fname in enumerate(search_target_fields): + if idx < len(search_target_fields) - 1: + domain.append('|') + domain.append((fname, 'ilike', search_text)) + + total = request.env[model_name].search_count(domain) + rows = request.env[model_name].search_read( + domain, + allowed_fields, + limit=limit, + offset=offset, + order='write_date desc', + ) + + self._log_params('tool.search_all_records.response', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'total': total, + 'returned': len(rows), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(rows)) < total, + }) + + return { + 'model': model_name, + 'domain': domain, + 'search_text': search_text, + 'search_fields': search_target_fields, + 'total': total, + 'returned': len(rows), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(rows)) < total, + 'next_offset': offset + len(rows), + 'records': rows, + } + + def _tool_get_model_records(self, settings, arguments): + model_name = ((arguments or {}).get('model_name') or '').strip() + limit = self._safe_int((arguments or {}).get('limit', 25), default=25, min_value=1, max_value=self._TOOL_MAX_ROWS) + offset = self._safe_int((arguments or {}).get('offset', 0), default=0, min_value=0) + search_text = self._sanitize_search_text((arguments or {}).get('search_text') or '') + requested_fields = (arguments or {}).get('fields') or [] + + self._log_params('tool.get_model_records.request', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'search_text': search_text, + 'requested_fields': requested_fields, + 'limit': limit, + 'offset': offset, + }) + + allowed_models = self._parse_allowed_models(settings) + allowed_fields_map = self._parse_allowed_fields(settings) + + if model_name not in allowed_models: + return {'error': 'Modell ist nicht fuer Callback freigegeben: %s' % model_name} + + allowed_fields = allowed_fields_map.get(model_name) or [] + if not isinstance(allowed_fields, list): + allowed_fields = [] + if not allowed_fields: + return {'error': 'Keine freigegebenen Felder fuer Modell %s konfiguriert.' % model_name} + + if requested_fields and isinstance(requested_fields, list): + fields_to_read = [f for f in requested_fields if f in allowed_fields] + if not fields_to_read: + fields_to_read = allowed_fields[:] + else: + fields_to_read = allowed_fields[:] + + domain = [] + if search_text: + # Build OR domain over char/text-like configured fields. + or_fields = [f for f in allowed_fields if isinstance(f, str)] + if or_fields: + if len(or_fields) == 1: + domain = [(or_fields[0], 'ilike', search_text)] + else: + domain = [] + for idx, field_name in enumerate(or_fields): + if idx < len(or_fields) - 1: + domain.append('|') + domain.append((field_name, 'ilike', search_text)) + + total = request.env[model_name].search_count(domain) + rows = request.env[model_name].search_read( + domain, + fields_to_read, + limit=limit, + offset=offset, + order='write_date desc', + ) + + self._log_params('tool.get_model_records.response', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'fields_to_read': fields_to_read, + 'total': total, + 'returned': len(rows), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(rows)) < total, + }) + + return { + 'model': model_name, + 'domain': domain, + 'fields': fields_to_read, + 'total': total, + 'returned': len(rows), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(rows)) < total, + 'next_offset': offset + len(rows), + 'records': rows, + } + + def _tool_get_all_contracts(self, settings, arguments): + if not isinstance(arguments, dict): + self._log_params('tool.get_all_contracts.invalid_arguments', { + 'user_id': request.env.user.id, + 'type': type(arguments).__name__, + 'value': arguments, + }) + arguments = {} + + model_name = 'dss.contracts' + raw_domain = arguments.get('domain') + if raw_domain is None: + raw_domain = arguments.get('filters') + if raw_domain is None: + raw_domain = arguments.get('conditions') + + raw_search_field = arguments.get('search_field') + raw_search_value = arguments.get('search_value') or arguments.get('search_text') + requested_fields = arguments.get('fields') or [] + limit = self._safe_int(arguments.get('limit', 25), default=25, min_value=1, max_value=self._TOOL_MAX_ROWS) + offset = self._safe_int(arguments.get('offset', 0), default=0, min_value=0) + + self._log_params('tool.get_all_contracts.request', { + 'user_id': request.env.user.id, + 'domain': raw_domain, + 'search_field': raw_search_field, + 'search_value': raw_search_value, + 'requested_fields': requested_fields, + 'limit': limit, + 'offset': offset, + }) + + default_fields_to_read = [ + 'contract_auto_id', + 'contract_id', + 'contract_name', + 'contract_auto_name', + 'client_short_company', + 'client_short_vorname', + 'client_short_name', + 'contract_state', + 'project', + 'vertragssumme', + ] + + allowed_fields_map = self._parse_allowed_fields(settings) + configured_fields = allowed_fields_map.get(model_name) or [] + allowed_fields = [f for f in configured_fields if isinstance(f, str) and f] + + if requested_fields and isinstance(requested_fields, list): + fields_to_read = [f for f in requested_fields if f in allowed_fields] + if not fields_to_read: + return { + 'error': 'Keine der angeforderten Felder ist fuer %s freigegeben.' % model_name, + 'allowed_fields': allowed_fields, + } + else: + fields_to_read = default_fields_to_read + + domain = self._normalize_domain(self._parse_domain_input(raw_domain)) + + # Fallback: build a domain from search_field/search_text style inputs when no domain was passed. + if not domain: + normalized_search_field = self._normalize_contract_search_field(settings, model_name, raw_search_field) + search_text = self._sanitize_search_text(raw_search_value) + if search_text: + if normalized_search_field: + boolean_value = self._to_boolean_search_value(search_text) + if boolean_value is not None: + domain = [(normalized_search_field, '=', boolean_value)] + else: + domain = [(normalized_search_field, 'ilike', search_text)] + else: + split_field, split_value = self._split_field_and_value(settings, model_name, search_text) + if split_field and split_value: + boolean_value = self._to_boolean_search_value(split_value) + if boolean_value is not None: + domain = [(split_field, '=', boolean_value)] + else: + domain = [(split_field, 'ilike', split_value)] + + if not domain and search_text: + allowed_fields_map = self._parse_allowed_fields(settings) + configured_fields = allowed_fields_map.get(model_name) or [] + search_fields = [f for f in configured_fields if isinstance(f, str) and f] + if search_fields: + if len(search_fields) == 1: + domain = [(search_fields[0], 'ilike', search_text)] + else: + domain = [] + for idx, field_name in enumerate(search_fields): + if idx < len(search_fields) - 1: + domain.append('|') + domain.append((field_name, 'ilike', search_text)) + + domain = self._normalize_domain(domain) + + self._log_params('tool.get_all_contracts.domain_effective', { + 'user_id': request.env.user.id, + 'domain': domain, + }) + + records = request.env[model_name].search( + domain, + offset=offset, + limit=limit if limit > 0 else None, + order='write_date desc', + ) + total = request.env[model_name].search_count(domain) + rows = records.read(fields_to_read) + record_ids = records.ids + + contracts = [] + for row in rows: + state = row.get('contract_state') + project = row.get('project') + contracts.append({ + 'contract_auto_id': row.get('contract_auto_id') or row.get('contract_id') or '', + 'contract_name': row.get('contract_name') or row.get('contract_auto_name') or '', + 'customer': row.get('client_short_company') or ' '.join( + filter(None, [row.get('client_short_vorname'), row.get('client_short_name')]) + ).strip(), + 'state': state[1] if isinstance(state, (list, tuple)) and len(state) > 1 else '', + 'project': project[1] if isinstance(project, (list, tuple)) and len(project) > 1 else '', + 'amount': row.get('vertragssumme') if row.get('vertragssumme') not in (None, False) else None, + }) + + self._log_params('tool.get_all_contracts.response', { + 'user_id': request.env.user.id, + 'fields_to_read': fields_to_read, + 'total': total, + 'returned': len(contracts), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(contracts)) < total, + }) + + if requested_fields and isinstance(requested_fields, list): + return { + 'model': model_name, + 'domain': domain, + 'record_ids': record_ids, + 'fields': fields_to_read, + 'total': total, + 'returned': len(rows), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(rows)) < total, + 'next_offset': offset + len(rows), + 'records': rows, + } + + return { + 'model': model_name, + 'domain': domain, + 'record_ids': record_ids, + 'fields': fields_to_read, + 'total': total, + 'returned': len(contracts), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(contracts)) < total, + 'next_offset': offset + len(contracts), + 'contracts': contracts, + } + + def _tool_get_contract_by_number(self, arguments): + number = ((arguments or {}).get('contract_auto_id') or '').strip() + self._log_params('tool.get_contract_by_number.request', { + 'user_id': request.env.user.id, + 'contract_auto_id': number, + }) + if not number: + return {'error': 'contract_auto_id ist erforderlich.'} + + rows = request.env['dss.contracts'].search_read( + ['|', ('contract_auto_id', '=', number), ('contract_id', '=', number)], + [ + 'contract_auto_id', 'contract_id', 'contract_name', 'contract_auto_name', + 'client_short_company', 'client_short_vorname', 'client_short_name', + 'contract_state', 'project', 'vertragssumme', 'remark', 'contract_remark' + ], + limit=1, + ) + if not rows: + self._log_params('tool.get_contract_by_number.response', { + 'user_id': request.env.user.id, + 'contract_auto_id': number, + 'found': False, + }) + return {'found': False, 'contract_auto_id': number} + + row = rows[0] + state = row.get('contract_state') + project = row.get('project') + self._log_params('tool.get_contract_by_number.response', { + 'user_id': request.env.user.id, + 'contract_auto_id': number, + 'found': True, + }) + return { + 'found': True, + 'contract': { + 'contract_auto_id': row.get('contract_auto_id') or row.get('contract_id') or '', + 'contract_name': row.get('contract_name') or row.get('contract_auto_name') or '', + 'customer': row.get('client_short_company') or ' '.join( + filter(None, [row.get('client_short_vorname'), row.get('client_short_name')]) + ).strip(), + 'state': state[1] if isinstance(state, (list, tuple)) and len(state) > 1 else '', + 'project': project[1] if isinstance(project, (list, tuple)) and len(project) > 1 else '', + 'amount': row.get('vertragssumme') if row.get('vertragssumme') not in (None, False) else None, + 'remark': (row.get('remark') or '')[:2000], + 'contract_remark': (row.get('contract_remark') or '')[:2000], + }, + } + + def _tool_open_contract_form(self, arguments): + if not isinstance(arguments, dict): + arguments = {} + + model_name = 'dss.contracts' + record_id = self._safe_int(arguments.get('record_id', 0), default=0, min_value=0) + contract_auto_id = ((arguments or {}).get('contract_auto_id') or '').strip() + + self._log_params('tool.open_contract_form.request', { + 'user_id': request.env.user.id, + 'record_id': record_id, + 'contract_auto_id': contract_auto_id, + }) + + model = request.env[model_name] + record = None + + if record_id > 0: + record = model.browse(record_id) + if not record.exists(): + return {'error': 'Vertrag mit ID %s wurde nicht gefunden.' % record_id} + elif contract_auto_id: + domain = ['|', ('contract_auto_id', '=', contract_auto_id), ('contract_id', '=', contract_auto_id)] + record = model.search(domain, limit=1) + if not record: + return {'error': 'Vertrag %s wurde nicht gefunden.' % contract_auto_id} + else: + return {'error': 'record_id oder contract_auto_id ist erforderlich.'} + + open_table = self._build_open_record_payload( + model_name, + int(record.id), + domain=[('id', '=', int(record.id))], + open_label='Vertrag im Formular oeffnen', + ) + + result = { + 'opened': True, + 'model': model_name, + 'record_id': int(record.id), + 'record_ids': [int(record.id)], + 'domain': [('id', '=', int(record.id))], + 'returned': 1, + 'total': 1, + 'open_table': open_table, + } + + self._log_params('tool.open_contract_form.response', { + 'user_id': request.env.user.id, + 'record_id': int(record.id), + 'has_open_table': bool(open_table), + }) + return result + + def _tool_get_projects(self, arguments): + search_text = (arguments or {}).get('search_text') or '' + limit = self._safe_int((arguments or {}).get('limit', 25), default=25, min_value=1, max_value=self._TOOL_MAX_ROWS) + offset = self._safe_int((arguments or {}).get('offset', 0), default=0, min_value=0) + + self._log_params('tool.get_projects.request', { + 'user_id': request.env.user.id, + 'search_text': search_text, + 'limit': limit, + 'offset': offset, + }) + + domain = [] + if search_text: + domain = [ + '|', + '|', + ('projektname', 'ilike', search_text), + ('name', 'ilike', search_text), + ('projectid', 'ilike', search_text), + ] + + total = request.env['dss.projects'].search_count(domain) + rows = request.env['dss.projects'].search_read( + domain, + ['projectid', 'projektname', 'name', 'standort_strasse', 'standort_plz', 'standort_ort', 'maps_visitors', 'aktstatus'], + limit=limit, + offset=offset, + order='write_date desc', + ) + + projects = [] + for row in rows: + status = row.get('aktstatus') + projects.append({ + 'projectid': row.get('projectid') or '', + 'projektname': row.get('projektname') or row.get('name') or '', + 'location': ' '.join(filter(None, [row.get('standort_strasse'), row.get('standort_plz'), row.get('standort_ort')])), + 'visitors': row.get('maps_visitors') if row.get('maps_visitors') not in (None, False) else None, + 'status': status[1] if isinstance(status, (list, tuple)) and len(status) > 1 else '', + }) + + self._log_params('tool.get_projects.response', { + 'user_id': request.env.user.id, + 'total': total, + 'returned': len(projects), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(projects)) < total, + }) + + return { + 'model': 'dss.projects', + 'domain': domain, + 'total': total, + 'returned': len(projects), + 'offset': offset, + 'limit': limit, + 'has_more': (offset + len(projects)) < total, + 'next_offset': offset + len(projects), + 'projects': projects, + } + + def _validate_write_values(self, settings, model_name, values): + if not model_name: + return {'error': 'model_name ist erforderlich.'} + if not isinstance(values, dict) or not values: + return {'error': 'values muss ein nicht-leeres Objekt sein.'} + + allowed_write_fields = self._parse_allowed_write_fields(settings) + allowed_fields = allowed_write_fields.get(model_name) or set() + if not allowed_fields: + return {'error': 'Keine freigegebenen Schreibfelder fuer Modell %s konfiguriert.' % model_name} + + disallowed_fields = sorted([field_name for field_name in values.keys() if field_name not in allowed_fields]) + if disallowed_fields: + return { + 'error': 'Nicht freigegebene Schreibfelder fuer %s: %s' % (model_name, ', '.join(disallowed_fields)), + 'allowed_fields': sorted(list(allowed_fields)), + } + + model = request.env[model_name] + existing_fields = getattr(model, '_fields', {}) or {} + invalid_fields = sorted([field_name for field_name in values.keys() if field_name not in existing_fields]) + if invalid_fields: + return { + 'error': 'Unbekannte Felder fuer %s: %s' % (model_name, ', '.join(invalid_fields)), + } + return {'model': model} + + def _tool_create_model_record(self, settings, arguments): + if not isinstance(arguments, dict): + arguments = {} + + model_name = ((arguments or {}).get('model_name') or '').strip() + values = (arguments or {}).get('values') or {} + + self._log_params('tool.create_model_record.request', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'value_keys': sorted(list(values.keys())) if isinstance(values, dict) else [], + }) + + validation = self._validate_write_values(settings, model_name, values) + if validation.get('error'): + return validation + + model = validation['model'] + record = model.create(values) + result = { + 'created': True, + 'model': model_name, + 'record_id': record.id, + 'display_name': getattr(record, 'display_name', str(record.id)), + 'written_fields': sorted(list(values.keys())), + } + + self._log_params('tool.create_model_record.response', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'record_id': record.id, + 'written_fields': result['written_fields'], + }) + return result + + def _tool_update_model_record(self, settings, arguments): + if not isinstance(arguments, dict): + arguments = {} + + model_name = ((arguments or {}).get('model_name') or '').strip() + record_id = self._safe_int((arguments or {}).get('record_id'), default=0, min_value=0) + values = (arguments or {}).get('values') or {} + + self._log_params('tool.update_model_record.request', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'record_id': record_id, + 'value_keys': sorted(list(values.keys())) if isinstance(values, dict) else [], + }) + + if record_id <= 0: + return {'error': 'record_id ist erforderlich.'} + + validation = self._validate_write_values(settings, model_name, values) + if validation.get('error'): + return validation + + model = validation['model'] + record = model.browse(record_id) + if not record.exists(): + return { + 'error': 'Datensatz %s in %s wurde nicht gefunden.' % (record_id, model_name), + } + + record.write(values) + result = { + 'updated': True, + 'model': model_name, + 'record_id': record.id, + 'display_name': getattr(record, 'display_name', str(record.id)), + 'written_fields': sorted(list(values.keys())), + } + + self._log_params('tool.update_model_record.response', { + 'user_id': request.env.user.id, + 'model_name': model_name, + 'record_id': record.id, + 'written_fields': result['written_fields'], + }) + return result + + def _tool_get_system_datetime(self, arguments): + if not isinstance(arguments, dict): + arguments = {} + + requested_timezone = (arguments.get('timezone') or '').strip() + user_timezone = (request.env.user.tz or '').strip() or 'UTC' + timezone_name = requested_timezone or user_timezone + + self._log_params('tool.get_system_datetime.request', { + 'user_id': request.env.user.id, + 'requested_timezone': requested_timezone, + 'user_timezone': user_timezone, + }) + + tz_warning = '' + tzinfo = timezone.utc + effective_timezone = 'UTC' + + if ZoneInfo: + try: + tzinfo = ZoneInfo(timezone_name) + effective_timezone = timezone_name + except Exception: + tz_warning = 'Ungueltige Zeitzone: %s. Fallback auf UTC.' % timezone_name + tzinfo = timezone.utc + effective_timezone = 'UTC' + else: + if timezone_name and timezone_name != 'UTC': + tz_warning = 'ZoneInfo nicht verfuegbar. Fallback auf UTC.' + + now_utc = datetime.now(timezone.utc) + now_local = now_utc.astimezone(tzinfo) + + weekday_names_de = { + 1: 'Montag', + 2: 'Dienstag', + 3: 'Mittwoch', + 4: 'Donnerstag', + 5: 'Freitag', + 6: 'Samstag', + 7: 'Sonntag', + } + + result = { + 'timezone': effective_timezone, + 'iso_datetime': now_local.isoformat(), + 'date': now_local.strftime('%Y-%m-%d'), + 'time': now_local.strftime('%H:%M:%S'), + 'year': now_local.year, + 'month': now_local.month, + 'day': now_local.day, + 'weekday_number_iso': now_local.isoweekday(), + 'weekday_name': weekday_names_de.get(now_local.isoweekday(), ''), + 'week_number_iso': int(now_local.strftime('%V')), + 'timestamp_unix': int(now_local.timestamp()), + 'utc_iso_datetime': now_utc.isoformat(), + } + if tz_warning: + result['warning'] = tz_warning + + self._log_params('tool.get_system_datetime.response', { + 'user_id': request.env.user.id, + 'timezone': result.get('timezone'), + 'iso_datetime': result.get('iso_datetime'), + 'warning': result.get('warning', ''), + }) + + return result + + def _build_openai_tools(self): + self._log_params('tools.build_openai_tools', { + 'tool_names': [ + 'open_contract_form', + 'get_all_contracts', + 'get_contract_by_number', + 'get_projects', + 'create_model_record', + 'update_model_record', + 'get_system_datetime', + 'search_all_records', + 'get_model_records', + ] + }) + return [ + { + 'type': 'function', + 'function': { + 'name': 'open_contract_form', + 'description': 'Oeffnet einen spezifischen Vertrag in der Formularansicht.', + 'parameters': { + 'type': 'object', + 'properties': { + 'record_id': { + 'type': 'integer', + 'description': 'Interne Datensatz-ID von dss.contracts.', + 'minimum': 1, + }, + 'contract_auto_id': { + 'type': 'string', + 'description': 'Vertragsnummer (contract_auto_id oder contract_id) als Alternative zu record_id.', + }, + }, + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'get_all_contracts', + 'description': 'Sucht Vertraege in dss.contracts (paginiert).', + 'parameters': { + 'type': 'object', + 'properties': { + 'domain': { + 'type': 'array', + 'items': {}, + 'description': 'Optionaler Odoo-Domain-Array, z.B. [["contract_name", "ilike", "Test"], ["contract_auto_extend", "=", false]].', + }, + 'limit': { + 'type': 'integer', + 'description': 'Maximale Anzahl Datensaetze pro Seite.', + 'minimum': 1, + }, + 'offset': { + 'type': 'integer', + 'description': 'Startposition fuer Paging.', + 'minimum': 0, + }, + 'fields': { + 'type': 'array', + 'items': {'type': 'string'}, + 'description': 'Optional: Rueckgabefelder fuer dss.contracts. Es sind nur freigegebene Felder aus den Einstellungen erlaubt.', + }, + }, + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'get_contract_by_number', + 'description': 'Liefert Vertragsdetails zu einer Vertragsnummer.', + 'parameters': { + 'type': 'object', + 'properties': { + 'contract_auto_id': { + 'type': 'string', + 'description': 'Vertragsnummer (contract_auto_id oder contract_id).', + }, + }, + 'required': ['contract_auto_id'], + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'get_all_projects', + 'description': 'Sucht Daten aus Projekte in dss.projects (paginiert).', + 'parameters': { + 'type': 'object', + 'properties': { + 'search_text': { + 'type': 'string', + 'description': 'Optionaler Filter fuer Projektname oder Projekt-ID.', + }, + 'limit': { + 'type': 'integer', + 'description': 'Maximale Anzahl Datensaetze pro Seite.', + 'minimum': 1, + }, + 'offset': { + 'type': 'integer', + 'description': 'Startposition fuer Paging.', + 'minimum': 0, + }, + }, + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'create_model_record', + 'description': 'Legt einen Datensatz in einem Odoo-Modell an. Es duerfen nur exakt in den Einstellungen freigegebene Schreibfelder im Muster model.field gesetzt werden.', + 'parameters': { + 'type': 'object', + 'properties': { + 'model_name': { + 'type': 'string', + 'description': 'Name des Odoo-Modells, in dem ein Datensatz angelegt werden soll.', + }, + 'values': { + 'type': 'object', + 'description': 'Feldwerte fuer den neuen Datensatz. Nur exakt freigegebene Felder des Modells sind erlaubt.', + 'additionalProperties': True, + }, + }, + 'required': ['model_name', 'values'], + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'update_model_record', + 'description': 'Aendert einen vorhandenen Datensatz in einem Odoo-Modell. Es duerfen nur exakt in den Einstellungen freigegebene Schreibfelder im Muster model.field gesetzt werden.', + 'parameters': { + 'type': 'object', + 'properties': { + 'model_name': { + 'type': 'string', + 'description': 'Name des Odoo-Modells, in dem ein Datensatz geaendert werden soll.', + }, + 'record_id': { + 'type': 'integer', + 'description': 'ID des vorhandenen Datensatzes.', + 'minimum': 1, + }, + 'values': { + 'type': 'object', + 'description': 'Zu aendernde Feldwerte. Nur exakt freigegebene Felder des Modells sind erlaubt.', + 'additionalProperties': True, + }, + }, + 'required': ['model_name', 'record_id', 'values'], + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'get_system_datetime', + 'description': 'Liefert aktuelle Systemzeitparameter wie Datum, Uhrzeit, Wochentag, Jahr und ISO-Kalenderwoche.', + 'parameters': { + 'type': 'object', + 'properties': { + 'timezone': { + 'type': 'string', + 'description': 'Optionale IANA-Zeitzone (z.B. Europe/Berlin). Ohne Wert wird die Benutzer-Zeitzone verwendet.', + }, + }, + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'search_all_records', + 'description': ( + 'Durchsucht ein freigegebenes Odoo-Modell nach einem Filterstring und liefert ' + 'alle gefundenen Datensaetze mit allen freigegebenen Feldern (paginiert). ' + 'Nutze diese Funktion fuer breite Suchen, z.B. alle Vertraege eines Kunden.' + ), + 'parameters': { + 'type': 'object', + 'properties': { + 'model_name': { + 'type': 'string', + 'description': 'Name des freigegebenen Odoo-Modells, z.B. dss.contracts.', + }, + 'search_text': { + 'type': 'string', + 'description': 'Pflichtfeld: Suchbegriff fuer ilike-Filter ueber alle freigegebenen Felder.', + }, + 'search_fields': { + 'type': 'array', + 'items': {'type': 'string'}, + 'description': 'Optional: Einschraenkung auf bestimmte Felder fuer die Suche.', + }, + 'limit': { + 'type': 'integer', + 'description': 'Max. Datensaetze pro Seite (Standard 50).', + 'minimum': 1, + }, + 'offset': { + 'type': 'integer', + 'description': 'Startposition fuer Paging.', + 'minimum': 0, + }, + }, + 'required': ['model_name', 'search_text'], + 'additionalProperties': False, + }, + }, + }, + { + 'type': 'function', + 'function': { + 'name': 'get_model_records', + 'description': 'Generischer Callback fuer freigegebene Modelle/Felder laut Einstellungen.', + 'parameters': { + 'type': 'object', + 'properties': { + 'model_name': { + 'type': 'string', + 'description': 'Name des freigegebenen Odoo-Modells, z.B. dss.contracts.', + }, + 'fields': { + 'type': 'array', + 'items': {'type': 'string'}, + 'description': 'Optional: Teilmenge der freigegebenen Felder.', + }, + 'search_text': { + 'type': 'string', + 'description': 'Optionaler Suchtext fuer ilike-Filter.', + }, + 'limit': { + 'type': 'integer', + 'description': 'Maximale Anzahl Datensaetze pro Seite.', + 'minimum': 1, + }, + 'offset': { + 'type': 'integer', + 'description': 'Startposition fuer Paging.', + 'minimum': 0, + }, + }, + 'required': ['model_name'], + 'additionalProperties': False, + }, + }, + } + ] + + def _safe_int(self, value, default=0, min_value=None, max_value=None): + try: + int_value = int(value) + except Exception: + int_value = default + if min_value is not None: + int_value = max(min_value, int_value) + if max_value is not None: + int_value = min(max_value, int_value) + return int_value + + def _last_user_query(self, cleaned_messages): + for item in reversed(cleaned_messages): + if item.get('role') == 'user' and item.get('content'): + return item['content'] + return '' + + def _row_to_field_value_string(self, row): + parts = [] + for key, value in (row or {}).items(): + if isinstance(value, (list, tuple)): + value_text = '|'.join([str(v) for v in value]) + elif value is None: + value_text = '' + else: + value_text = str(value) + parts.append('"%s":"%s"' % (str(key), value_text.replace('"', "'"))) + return ', '.join(parts) + + def _load_contract_rows(self, settings): + if not settings or not settings.ai_agent_contracts_access: + return [] + limit = self._safe_int(settings.ai_agent_contracts_limit or 0, default=0, min_value=0) + fields_to_read = [ + 'contract_auto_id', + 'contract_id', + 'contract_name', + 'contract_auto_name', + 'client_short_company', + 'client_short_vorname', + 'client_short_name', + 'contract_state', + 'project', + 'vertragssumme', + ] + return request.env['dss.contracts'].search_read( + [], + fields_to_read, + limit=limit if limit > 0 else None, + order='write_date desc', + ) + + def _load_project_rows(self, settings): + if not settings or not settings.ai_agent_projects_access: + return [] + limit = self._safe_int(settings.ai_agent_projects_limit or 0, default=0, min_value=0) + fields_to_read = [ + 'projectid', + 'projektname', + 'name', + 'standort_ort', + 'standort_plz', + 'standort_strasse', + 'maps_visitors', + 'aktstatus', + ] + return request.env['dss.projects'].search_read( + [], + fields_to_read, + limit=limit if limit > 0 else None, + order='write_date desc', + ) + + def _build_rag_documents(self, settings): + docs = [] + try: + contract_rows = self._load_contract_rows(settings) + self._log_params('rag.build_documents.contract_rows', { + 'count': len(contract_rows), + 'contracts_access': bool(settings and settings.ai_agent_contracts_access), + }) + for row in contract_rows: + contract_no = row.get('contract_auto_id') or row.get('contract_id') or '-' + contract_name = row.get('contract_name') or row.get('contract_auto_name') or '-' + customer = row.get('client_short_company') or ' '.join( + filter(None, [row.get('client_short_vorname'), row.get('client_short_name')]) + ).strip() or '-' + state = row.get('contract_state') + state_name = state[1] if isinstance(state, (list, tuple)) and len(state) > 1 else '-' + project = row.get('project') + project_name = project[1] if isinstance(project, (list, tuple)) and len(project) > 1 else '-' + amount = row.get('vertragssumme') + amount_text = str(amount) if amount not in (None, False) else '-' + full_field_value_string = self._row_to_field_value_string(row) + + docs.append({ + 'content': 'Vertrag %s | %s | Kunde: %s | Status: %s | Projekt: %s | Summe: %s | RAW : %s' % ( + contract_no, + contract_name, + customer, + state_name, + project_name, + amount_text, + full_field_value_string, + ), + 'metadata': { + 'type': 'contract', + 'id': contract_no, + 'name': contract_name, + 'fields': full_field_value_string, + }, + }) + + project_rows = self._load_project_rows(settings) + self._log_params('rag.build_documents.project_rows', { + 'count': len(project_rows), + 'projects_access': bool(settings and settings.ai_agent_projects_access), + }) + for row in project_rows: + project_no = row.get('projectid') or '-' + project_name = row.get('projektname') or row.get('name') or '-' + location_parts = [ + row.get('standort_strasse') or '', + row.get('standort_plz') or '', + row.get('standort_ort') or '', + ] + location = ' '.join([p for p in location_parts if p]).strip() or '-' + visitors = row.get('maps_visitors') if row.get('maps_visitors') not in (None, False) else '-' + status = row.get('aktstatus') + status_name = status[1] if isinstance(status, (list, tuple)) and len(status) > 1 else '-' + full_field_value_string = self._row_to_field_value_string(row) + docs.append({ + 'content': 'Projekt %s | %s | Ort: %s | Besucher: %s | Status: %s' % ( + project_no, + project_name, + location, + visitors, + status_name, + ), + 'metadata': { + 'type': 'project', + 'id': project_no, + 'name': project_name, + 'fields': full_field_value_string, + }, + }) + except AccessError: + return [], 'Hinweis: Fuer Teile des RAG-Kontexts fehlen Berechtigungen.' + except Exception as exc: + _logger.exception('Could not build RAG documents: %s', exc) + return [], 'Hinweis: RAG-Dokumente konnten nicht geladen werden.' + + self._log_params('rag.build_documents.result', {'doc_count': len(docs)}) + return docs, '' + + def _build_rag_context(self, settings, cleaned_messages): + if not settings or not settings.ai_agent_rag_enabled: + self._log_params('rag.build_context.skipped', { + 'enabled': bool(settings and settings.ai_agent_rag_enabled), + }) + return '', '' + + query = self._last_user_query(cleaned_messages) + if not query: + self._log_params('rag.build_context.no_query', {'cleaned_message_count': len(cleaned_messages or [])}) + return '', '' + + docs, warning = self._build_rag_documents(settings) + if not docs: + self._log_params('rag.build_context.no_docs', {'warning': warning}) + return '', warning + + try: + from langchain_community.retrievers import BM25Retriever + from langchain_core.documents import Document + except Exception: + return '', 'Hinweis: LangChain ist nicht installiert (benoetigt: langchain-community, langchain-core).' + + try: + lc_docs = [Document(page_content=d['content'], metadata=d['metadata']) for d in docs] + retriever = BM25Retriever.from_documents(lc_docs) + retriever.k = self._safe_int(settings.ai_agent_rag_top_k or 8, default=8, min_value=1, max_value=50) + self._log_params('rag.build_context.retrieve', { + 'query': query, + 'doc_count': len(lc_docs), + 'top_k': retriever.k, + }) + results = retriever.invoke(query) + except Exception as exc: + _logger.exception('RAG retrieval failed: %s', exc) + return '', 'Hinweis: RAG-Retrieval fehlgeschlagen (pruefe optionales Paket rank-bm25).' + + if not results: + self._log_params('rag.build_context.empty_results', {'query': query}) + return 'RAG-Kontext: Keine passenden Treffer gefunden.', warning + + lines = ['RAG-Treffer fuer Anfrage: %s' % query] + for idx, item in enumerate(results, start=1): + metadata = item.metadata or {} + doc_type = metadata.get('type', '-') + doc_id = metadata.get('id', '-') + lines.append('%s. [%s:%s] %s' % (idx, doc_type, doc_id, item.page_content)) + + rag_text = self._clip_text('\n'.join(lines), self._MAX_CONTRACT_CONTEXT_CHARS) + self._log_params('rag.build_context.result', { + 'query': query, + 'result_count': len(results), + 'rag_text_len': len(rag_text or ''), + }) + return rag_text, warning + + def _call_chat_api(self, base_url, api_key, model, payload_messages, temperature, timeout_seconds, tools=None): + self._log_params('api.call_chat_api.request', { + 'base_url': base_url, + 'model': model, + 'message_count': len(payload_messages or []), + 'temperature': temperature if temperature is not None else 0.3, + 'timeout_seconds': timeout_seconds, + 'tools_count': len(tools or []), + }) + payload = { + 'model': model, + 'messages': payload_messages, + 'temperature': temperature if temperature is not None else 0.3, + } + if tools: + payload['tools'] = tools + + response = requests.post( + '%s/chat/completions' % base_url, + headers={ + 'Authorization': 'Bearer %s' % api_key, + 'Content-Type': 'application/json', + }, + json=payload, + timeout=timeout_seconds, + ) + self._log_params('api.call_chat_api.response', { + 'status_code': response.status_code, + 'content_length': len(response.text or ''), + }) + return response + + def _build_contracts_context(self, settings): + if not settings or not settings.ai_agent_contracts_access: + return "" + + limit = settings.ai_agent_contracts_limit or 0 + try: + limit = int(limit) + except Exception: + limit = 0 + if limit < 0: + limit = 0 + + fields_to_read = [ + 'contract_auto_id', + 'contract_id', + 'contract_name', + 'contract_auto_name', + 'client_short_company', + 'client_short_vorname', + 'client_short_name', + 'contract_state', + 'project', + 'vertragssumme', + ] + + try: + total = request.env['dss.contracts'].search_count([]) + rows = request.env['dss.contracts'].search_read( + [], + fields_to_read, + limit=limit if limit > 0 else None, + order='write_date desc', + ) + except AccessError: + return "Hinweis: Der aktuelle Benutzer hat keinen Zugriff auf dss.contracts." + except Exception as exc: + _logger.exception('Could not build contracts context: %s', exc) + return "Hinweis: Vertragskontext konnte nicht geladen werden." + + if not rows: + return "Vertragskontext: Keine Vertraege gefunden." + + lines = [ + "Vertragskontext (dss.contracts): %s Datensaetze (geliefert: %s)" + % (total, len(rows)) + ] + for row in rows: + contract_no = row.get('contract_auto_id') or row.get('contract_id') or '-' + contract_name = row.get('contract_name') or row.get('contract_auto_name') or '-' + customer = row.get('client_short_company') or ' '.join( + filter(None, [row.get('client_short_vorname'), row.get('client_short_name')]) + ).strip() or '-' + + state = row.get('contract_state') + state_name = state[1] if isinstance(state, (list, tuple)) and len(state) > 1 else '-' + project = row.get('project') + project_name = project[1] if isinstance(project, (list, tuple)) and len(project) > 1 else '-' + amount = row.get('vertragssumme') + amount_text = str(amount) if amount not in (None, False) else '-' + + lines.append( + "- %s | %s | Kunde: %s | Status: %s | Projekt: %s | Summe: %s" + % (contract_no, contract_name, customer, state_name, project_name, amount_text) + ) + + return self._clip_text("\n".join(lines), self._MAX_CONTRACT_CONTEXT_CHARS) + + def _build_projects_context(self, settings): + if not settings or not settings.ai_agent_projects_access: + return "" + + limit = settings.ai_agent_projects_limit or 0 + try: + limit = int(limit) + except Exception: + limit = 0 + if limit < 0: + limit = 0 + + fields_to_read = [ + 'projectid', + 'projektname', + 'name', + 'standort_ort', + 'standort_plz', + 'standort_strasse', + 'maps_visitors', + 'aktstatus', + ] + + try: + total = request.env['dss.projects'].search_count([]) + rows = request.env['dss.projects'].search_read( + [], + fields_to_read, + limit=limit if limit > 0 else None, + order='write_date desc', + ) + except AccessError: + return "Hinweis: Der aktuelle Benutzer hat keinen Zugriff auf dss.projects." + except Exception as exc: + _logger.exception('Could not build projects context: %s', exc) + return "Hinweis: Projektkontext konnte nicht geladen werden." + + if not rows: + return "Projektkontext: Keine Projekte gefunden." + + lines = [ + "Projektkontext (dss.projects): %s Datensaetze (geliefert: %s)" + % (total, len(rows)) + ] + for row in rows: + project_no = row.get('projectid') or '-' + project_name = row.get('projektname') or row.get('name') or '-' + location_parts = [ + row.get('standort_strasse') or '', + row.get('standort_plz') or '', + row.get('standort_ort') or '', + ] + location = " ".join([p for p in location_parts if p]).strip() or '-' + visitors = row.get('maps_visitors') if row.get('maps_visitors') not in (None, False) else '-' + status = row.get('aktstatus') + status_name = status[1] if isinstance(status, (list, tuple)) and len(status) > 1 else '-' + lines.append( + "- %s | %s | Ort: %s | Besucher: %s | Status: %s" + % (project_no, project_name, location, visitors, status_name) + ) + + return self._clip_text("\n".join(lines), self._MAX_PROJECT_CONTEXT_CHARS) + + @http.route('/digitalsignage/ai_agent/chat', type='json', auth='user') + def ai_agent_chat(self, messages=None): + """Proxy chat requests from the backend UI to an OpenAI-compatible API.""" + settings = request.env['dss.settings'].sudo().search([], limit=1) + icp = request.env['ir.config_parameter'].sudo() + enabled = settings.ai_agent_enabled if settings else True + api_key = (settings.ai_agent_api_key if settings else False) or icp.get_param('digitalsignage_ai.api_key') or os.getenv('OPENAI_API_KEY', '') + base_url = ((settings.ai_agent_base_url if settings else False) or icp.get_param('digitalsignage_ai.base_url') or 'https://api.openai.com/v1').rstrip('/') + model = (settings.ai_agent_model if settings else False) or icp.get_param('digitalsignage_ai.model') or 'gpt-4o-mini' + system_prompt = ( + (settings.ai_agent_system_prompt if settings else False) + or icp.get_param('digitalsignage_ai.system_prompt') + or 'Du bist ein hilfreicher virtueller Mitarbeiter im Odoo Backend.' + ) + timeout_value = str( + (settings.ai_agent_timeout_seconds if settings and settings.ai_agent_timeout_seconds else False) + or icp.get_param('digitalsignage_ai.timeout_seconds') + or '60' + ) + temperature = ( + settings.ai_agent_temperature + if settings and settings.ai_agent_temperature is not False + else None + ) + max_context_messages = ( + settings.ai_agent_max_context_messages + if settings and settings.ai_agent_max_context_messages + else 20 + ) + + if not enabled: + return { + 'reply': 'Der AI Agent ist in den DigitalSignage Einstellungen deaktiviert.' + } + + if not api_key: + return { + 'reply': 'OpenAI API Key fehlt. Bitte setze digitalsignage_ai.api_key in den Systemparametern.' + } + + timeout_seconds = 60 + try: + timeout_seconds = max(5, int(timeout_value)) + except Exception: + timeout_seconds = 60 + + safe_messages = messages if isinstance(messages, list) else [] + self._log_params('chat.request.received', { + 'user_id': request.env.user.id, + 'enabled': bool(enabled), + 'base_url': base_url, + 'model': model, + 'temperature': temperature, + 'timeout_seconds': timeout_seconds, + 'max_context_messages': max_context_messages, + 'incoming_messages': len(safe_messages), + }) + cleaned_messages = [] + for item in safe_messages[-max_context_messages:]: + if not isinstance(item, dict): + continue + role = item.get('role') + content = item.get('content') + if role not in ('user', 'assistant'): + continue + if not isinstance(content, str): + continue + content = content.strip() + if not content: + continue + cleaned_messages.append({'role': role, 'content': content}) + + # Keep only the latest user prompt for model calls. + latest_user_prompt = self._last_user_query(cleaned_messages) + cleaned_messages = [{'role': 'user', 'content': latest_user_prompt}] if latest_user_prompt else [] + self._log_params('chat.request.cleaned', { + 'user_id': request.env.user.id, + 'cleaned_messages': len(cleaned_messages), + 'latest_user_prompt_len': len(latest_user_prompt or ''), + }) + + callback_prompt = (settings.ai_agent_callback_prompt if settings else '') or '' + payload_messages = [{ + 'role': 'system', + 'content': ( + system_prompt + + '\n\nArbeite tool-first: Hole Businessdaten nur bei Bedarf ueber Funktionen. ' + 'Sende keine grossen Datenmengen im Prompt. Nutze Paging (limit/offset).' + + ('\n\n' + callback_prompt if callback_prompt else '') + ), + }] + response_suffix = '' + + payload_messages += cleaned_messages + tools = self._build_openai_tools() + self._log_params('chat.request.payload', { + 'user_id': request.env.user.id, + 'payload_messages': len(payload_messages), + 'tools_count': len(tools), + }) + + try: + open_table = None + open_table_priority = -1 + response = self._call_chat_api( + base_url, + api_key, + model, + payload_messages, + temperature, + timeout_seconds, + tools=tools, + ) + + if response.status_code >= 400: + api_error_message = self._extract_api_error_message(response) + _logger.warning('AI Agent API error %s: %s', response.status_code, api_error_message) + + # Retry once with reduced payload when context becomes too large. + if response.status_code == 400 and payload_messages: + reduced_messages = [{'role': 'system', 'content': system_prompt}] + cleaned_messages[-6:] + retry_response = self._call_chat_api( + base_url, + api_key, + model, + reduced_messages, + temperature, + timeout_seconds, + tools=tools, + ) + if retry_response.status_code < 400: + retry_data = retry_response.json() or {} + retry_choices = retry_data.get('choices') or [] + if retry_choices and retry_choices[0].get('message') and retry_choices[0]['message'].get('content'): + return { + 'reply': "%s\n\n(Hinweis: Der Datenkontext war zu gross und wurde fuer diese Antwort reduziert.)" % retry_choices[0]['message']['content'].strip() + } + + if api_error_message: + return {'reply': 'AI-API Fehler (%s): %s' % (response.status_code, api_error_message)} + return {'reply': 'AI-API Fehler (%s). Bitte Konfiguration oder Zugang pruefen.' % response.status_code} + + data = response.json() or {} + choices = data.get('choices') or [] + if choices and choices[0].get('message'): + assistant_message = choices[0]['message'] + self._log_params('chat.response.first', { + 'user_id': request.env.user.id, + 'tool_calls_count': len(assistant_message.get('tool_calls') or []), + 'assistant_content_len': len((assistant_message.get('content') or '')), + }) + + current_message = assistant_message + tool_round = 0 + max_tool_rounds = 4 + + while True: + tool_calls = current_message.get('tool_calls') or [] + if not tool_calls: + break + + payload_messages.append({ + 'role': 'assistant', + 'content': current_message.get('content') or '', + 'tool_calls': tool_calls, + }) + + for tool_call in tool_calls: + function_info = tool_call.get('function') or {} + function_name = function_info.get('name') + raw_arguments = function_info.get('arguments') or '{}' + try: + arguments = json.loads(raw_arguments) + except Exception: + arguments = {} + + # Some providers return double-encoded JSON arguments. + if isinstance(arguments, str): + try: + arguments = json.loads(arguments) + except Exception: + arguments = {} + + if not isinstance(arguments, dict): + self._log_params('chat.tool_call.arguments.invalid_type', { + 'user_id': request.env.user.id, + 'tool_call_id': tool_call.get('id'), + 'function_name': function_name, + 'arguments_type': type(arguments).__name__, + }) + arguments = {} + + self._log_params('chat.tool_call.dispatch', { + 'user_id': request.env.user.id, + 'tool_call_id': tool_call.get('id'), + 'function_name': function_name, + 'arguments': arguments, + }) + + if function_name == 'get_all_contracts': + try: + tool_result = self._tool_get_all_contracts(settings, arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf dss.contracts.'} + except Exception as exc: + _logger.exception('Tool get_all_contracts failed: %s', exc) + tool_result = {'error': 'Fehler beim Lesen von dss.contracts.'} + elif function_name == 'open_contract_form': + try: + tool_result = self._tool_open_contract_form(arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf dss.contracts.'} + except Exception as exc: + _logger.exception('Tool open_contract_form failed: %s', exc) + tool_result = {'error': 'Fehler beim Oeffnen des Vertragsformulars.'} + elif function_name == 'get_contract_by_number': + try: + tool_result = self._tool_get_contract_by_number(arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf dss.contracts.'} + except Exception as exc: + _logger.exception('Tool get_contract_by_number failed: %s', exc) + tool_result = {'error': 'Fehler beim Laden von Vertragsdetails.'} + elif function_name == 'get_projects': + try: + tool_result = self._tool_get_projects(arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf dss.projects.'} + except Exception as exc: + _logger.exception('Tool get_projects failed: %s', exc) + tool_result = {'error': 'Fehler beim Lesen von dss.projects.'} + elif function_name == 'get_system_datetime': + try: + tool_result = self._tool_get_system_datetime(arguments) + except Exception as exc: + _logger.exception('Tool get_system_datetime failed: %s', exc) + tool_result = {'error': 'Fehler beim Ermitteln von Datum/Uhrzeit.'} + elif function_name == 'create_model_record': + try: + tool_result = self._tool_create_model_record(settings, arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf das angefragte Modell zum Anlegen.'} + except Exception as exc: + _logger.exception('Tool create_model_record failed: %s', exc) + tool_result = {'error': 'Fehler beim Anlegen des Datensatzes.'} + elif function_name == 'update_model_record': + try: + tool_result = self._tool_update_model_record(settings, arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf das angefragte Modell zum Aendern.'} + except Exception as exc: + _logger.exception('Tool update_model_record failed: %s', exc) + tool_result = {'error': 'Fehler beim Aendern des Datensatzes.'} + elif function_name == 'search_all_records': + try: + tool_result = self._tool_search_all_records(settings, arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf das angefragte Modell.'} + except Exception as exc: + _logger.exception('Tool search_all_records failed: %s', exc) + tool_result = {'error': 'Fehler bei search_all_records.'} + elif function_name == 'get_model_records': + try: + tool_result = self._tool_get_model_records(settings, arguments) + except AccessError: + tool_result = {'error': 'Kein Zugriff auf das angefragte Modell.'} + except Exception as exc: + _logger.exception('Tool get_model_records failed: %s', exc) + tool_result = {'error': 'Fehler beim generischen Modellabruf.'} + else: + tool_result = {'error': 'Unbekannte Funktion: %s' % function_name} + + payload_messages.append({ + 'role': 'tool', + 'tool_call_id': tool_call.get('id'), + 'content': json.dumps(tool_result, ensure_ascii=False), + }) + + self._log_params('chat.tool_call.result', { + 'user_id': request.env.user.id, + 'tool_call_id': tool_call.get('id'), + 'function_name': function_name, + 'result_keys': sorted(list(tool_result.keys())) if isinstance(tool_result, dict) else [], + }) + + if isinstance(tool_result, dict): + explicit_open_table = tool_result.get('open_table') + explicit_open_table_applied = False + if isinstance(explicit_open_table, dict): + candidate_priority = self._open_table_priority(function_name) + if candidate_priority >= open_table_priority: + open_table = explicit_open_table + open_table_priority = candidate_priority + explicit_open_table_applied = True + + result_model = tool_result.get('model') + result_domain = tool_result.get('domain') + result_returned = self._safe_int(tool_result.get('returned', 0), default=0, min_value=0) + result_total = self._safe_int(tool_result.get('total', 0), default=0, min_value=0) + result_record_ids = tool_result.get('record_ids') or [] + if (not explicit_open_table_applied) and result_model and isinstance(result_domain, list) and max(result_returned, result_total) > 0: + candidate_priority = self._open_table_priority(function_name) + if candidate_priority >= open_table_priority: + open_table = self._build_open_table_payload( + result_model, + result_domain, + returned=result_returned, + total=result_total, + record_ids=result_record_ids, + ) + open_table_priority = candidate_priority + + tool_round += 1 + if tool_round >= max_tool_rounds: + final_reply = 'Zu viele aufeinanderfolgende Tool-Aufrufe. Bitte die Anfrage vereinfachen.' + self._log_params('chat.tool_call.max_rounds', { + 'user_id': request.env.user.id, + 'tool_rounds': tool_round, + }) + self._save_exchange(cleaned_messages, final_reply) + if open_table: + return {'reply': final_reply, 'open_table': open_table} + return {'reply': final_reply} + + followup_response = self._call_chat_api( + base_url, + api_key, + model, + payload_messages, + temperature, + timeout_seconds, + tools=tools, + ) + if followup_response.status_code >= 400: + api_error_message = self._extract_api_error_message(followup_response) + self._log_params('chat.followup.error', { + 'user_id': request.env.user.id, + 'status_code': followup_response.status_code, + 'api_error_message': api_error_message, + }) + return {'reply': 'AI-API Fehler (%s): %s' % (followup_response.status_code, api_error_message)} + + followup_data = followup_response.json() or {} + followup_choices = followup_data.get('choices') or [] + if not followup_choices or not followup_choices[0].get('message'): + final_reply = 'Die AI hat keine verwertbare Antwort geliefert.' + self._log_params('chat.followup.empty_reply', { + 'user_id': request.env.user.id, + 'tool_rounds': tool_round + 1, + }) + self._save_exchange(cleaned_messages, final_reply) + if open_table: + return {'reply': final_reply, 'open_table': open_table} + return {'reply': final_reply} + + current_message = followup_choices[0]['message'] + + final_reply = (current_message.get('content') or '').strip() + response_suffix + if not final_reply: + final_reply = 'Die AI hat keine verwertbare Antwort geliefert.' + self._log_params('chat.followup.success', { + 'user_id': request.env.user.id, + 'reply_len': len(final_reply or ''), + 'tool_rounds': tool_round, + }) + self._save_exchange(cleaned_messages, final_reply) + if open_table: + return {'reply': final_reply, 'open_table': open_table} + return {'reply': final_reply} + + final_reply = 'Die AI hat keine verwertbare Antwort geliefert.' + self._log_params('chat.empty_reply', { + 'user_id': request.env.user.id, + 'choices_count': len(choices), + }) + self._save_exchange(cleaned_messages, final_reply) + return {'reply': final_reply} + except requests.exceptions.RequestException as exc: + _logger.exception('AI Agent request failed: %s', exc) + final_reply = 'Verbindung zur AI fehlgeschlagen. Bitte spaeter erneut versuchen.' + self._save_exchange(cleaned_messages, final_reply) + return {'reply': final_reply} + except Exception as exc: + _logger.exception('Unexpected AI Agent error: %s', exc) + final_reply = 'Unerwarteter Fehler im AI-Agenten.' + self._save_exchange(cleaned_messages, final_reply) + return {'reply': final_reply} diff --git a/controllers/dss_form_input_controller.py b/controllers/dss_form_input_controller.py old mode 100644 new mode 100755 index 79a4b80..8153821 --- a/controllers/dss_form_input_controller.py +++ b/controllers/dss_form_input_controller.py @@ -61,6 +61,14 @@ class CustomerPortal(portal.CustomerPortal): contract_name = str(tempid)+' - Vertrag ' + str(project.lastkdnr).zfill(2) contract_id = str(project.projectid) + str(project.lastrealkdnr).zfill(2) grundsystem_webinput_template=project.web_input_template + felder = request.env['dss.advertisefields'].search(['&','|',('contract','=',False),('isblocked','=',False),('project','=',project.id)]) + comptyps = request.env['dss.company.type'].search([]) + fo ="" + for feld in felder: + fo = fo+"" + ctn = "" + for comptyp in comptyps: + ctn = ctn+"" if not grundsystem_webinput_template: grundsystem_webinput_template = project.grundsystem_webinput_template if not grundsystem_webinput_template: @@ -68,8 +76,27 @@ class CustomerPortal(portal.CustomerPortal): else: new_contract = request.env['dss.contracts'].create({'project_id':project.projectid,'project':project.id,'client_id':str(project.lastkdnr).zfill(2),'contract_auto_id':str(tempid),'contract_auto_name':str(tempname),'contract_state':39,'contract_name':contract_name,'web_contract_input_notfinished':True,'contract_creator':int(user_id.id)}) contract_data_id=new_contract.id + formdata = { + 'websideusername':name, + 'user_id':str(user_id.id), + 'projectid':str(project.projectid), + 'project':str(projekt_id), + 'contract_id':str(contract_id), + 'kd_id':str(str(project.lastrealkdnr).zfill(2)), + 'web_contract_paysum_gfx':'249', + 'contract_data_id':str(contract_data_id), + 'company_type_options':str(ctn), + 'client_short_company_type_options':str(ctn), + 'feldoptions':fo, + 'lastschrift': 'off', + 'satzmail': 'off', + 'rgmail': 'off', + 'kamail': 'off', + 'satzgiven': 'off', + 'showimage' : project.grundsystem_webinput_showimage_url + } _logger.info("inside start: "+str(name)+'--'+str(projekt_id)+'--'+str(grundsystem_webinput_template)) - return request.render("website."+grundsystem_webinput_template,{'websideusername':name,'user_id':str(user_id.id),'projectid':str(project.projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(str(project.lastrealkdnr).zfill(2)),'web_contract_paysum_gfx':'249','contract_data_id':str(contract_data_id)}) + return request.render("website."+grundsystem_webinput_template,formdata) @route(['/eingabe/continue'],type='http', auth='user', website=True, csrf=False) def inputcontinue(self, **kwargs): @@ -81,63 +108,116 @@ class CustomerPortal(portal.CustomerPortal): grundsystem_webinput_template=project.web_input_template if not grundsystem_webinput_template: grundsystem_webinput_template = project.grundsystem_webinput_template - _logger.info("inside continue: "+str(contract.contract_auto_name)+'--'+str(project.id)+'--'+str(grundsystem_webinput_template)) + _logger.info("inside continue: "+str(contract.contract_auto_name)+'--'+str(project.id)+'--'+str(grundsystem_webinput_template)+'--'+str(str(contract.client_short_company_type.uuid))) felder = request.env['dss.advertisefields'].search(['&','|',('contract','=',False),('isblocked','=',False),('project','=',project.id)]) + comptyps = request.env['dss.company.type'].search([]) fo ="" sfeld ="" + ctn = "" for feld in felder: fo = fo+"" for feld in contract.werbe_feld_selected: sfeld = sfeld+feld.auto_feldname+", " + for comptyp in comptyps: + ctn = ctn+"" evtlcontract_id = str(contract.project.projectid) + str(contract.project.lastrealkdnr).zfill(2) evtlcontract_name = str(evtlcontract_id)+'_'+str(contract.client_short_company) if contract.client_short_company else str(contract.client_short_name)+' '+str(contract.client_short_vorname) - olddata = { + olddata = { 'user_id':str(user_id), 'projectid':str(project.projectid), 'project':str(project.id), + 'company_type_options':str(ctn), 'contract_id':str(evtlcontract_id), - 'client_short_company':str(contract.client_short_company), - 'client_short_strasse':str(contract.client_short_strasse), - 'client_short_plz':str(contract.client_short_plz), - 'client_short_telefon':str(contract.client_short_telefon), - 'client_short_email':str(contract.client_short_email), - 'client_short_rgemail':str(contract.client_short_rgemail), - 'client_short_ort':str(contract.client_short_ort), - 'client_short_mobil':str(contract.client_short_mobil), - 'client_short_website':str(contract.client_short_website), - 'client_short_vorname':str(contract.client_short_vorname), - 'client_short_name':str(contract.client_short_name), - 'web_contract_paysum_lz':contract.web_contract_paysum_lz, - 'web_contract_paysum_all':contract.web_contract_paysum_all, - 'web_contract_paysum_gfx':contract.web_contract_paysum_gfx, + 'client_short_company':str(contract.client_short_company) if contract.client_short_company else '', + 'client_short_company_type':str(contract.client_short_company_type.uuid), + 'client_short_company_type_options':str(ctn) , + 'client_short_strasse':str(contract.client_short_strasse) if contract.client_short_strasse else '', + 'client_short_plz':str(contract.client_short_plz) if contract.client_short_plz else '', + 'client_short_telefon':str(contract.client_short_telefon) if contract.client_short_telefon else '', + 'client_short_email':str(contract.client_short_email) if contract.client_short_email else '', + 'client_short_rgemail':str(contract.client_short_rgemail) if contract.client_short_rgemail else '', + 'client_short_ort':str(contract.client_short_ort) if contract.client_short_ort else '', + 'client_short_mobil':str(contract.client_short_mobil) if contract.client_short_mobil else '', + 'client_short_website':str(contract.client_short_website) if contract.client_short_website else '', + 'client_short_vorname':str(contract.client_short_vorname) if contract.client_short_vorname else '', + 'client_short_name':str(contract.client_short_name) if contract.client_short_name else '', + 'web_contract_paysum_lz':contract.web_contract_paysum_lz if contract.web_contract_paysum_lz else '0', + 'web_contract_paysum_all':contract.web_contract_paysum_all if contract.web_contract_paysum_all else '0', + 'web_contract_paysum_gfx':contract.web_contract_paysum_gfx if contract.web_contract_paysum_gfx else '0', + 'web_contract_full_duration':contract.main_runtime if contract.main_runtime else '0', + 'web_contract_spot_count':contract.split_runtime_count if contract.split_runtime_count else '0', + 'web_contract_spot_duration':contract.split_runtime_time if contract.split_runtime_time else '0', + 'web_tv_reach_PLZ':contract.tv_reach_PLZ if contract.tv_reach_PLZ else '', + 'web_ads_last_date_start_planed':contract.web_contract_start_planed if contract.web_contract_start_planed else '', + 'web_ads_last_date_remove_planed':contract.web_contract_remove_planed if contract.web_contract_remove_planed else '', + 'web_bande_spieltage':contract.web_bande_spieltage if contract.web_bande_spieltage else '', 'contract_data_id':str(contract.id), + 'runtime_m':contract.runtime_m if contract.runtime_m else '60', + 'lastschrift': 'on' if contract.web_contract_is_lastschrift else 'off', + 'zahlsonst': contract.web_constract_zahlstonst if contract.web_constract_zahlstonst else '', 'feldoptions':fo, - 'feldselected':sfeld,'kd_id':evtlcontract_name, - 'Datum': contract.web_contract_sign_datum, - 'Ort': contract.web_contract_sign_ort, - 'NameVorname': contract.web_contract_sign_name, - 'bic': contract.client_short_BIC, - 'iban': contract.client_short_IBAN, - 'kapay': contract.web_contract_kapayment_info, - 'alpay': contract.web_contract_alpayment_info, - 'sonder_0': contract.web_contract_sonder_0, - 'sonder_1': contract.web_contract_sonder_1, - 'sonder_2': contract.web_contract_sonder_2, + 'feldselected':sfeld if sfeld else '', + 'kd_id':evtlcontract_name, + 'ort': contract.web_contract_sign_ort if contract.web_contract_sign_ort else '', + 'namevorname': contract.web_contract_sign_name if contract.web_contract_sign_name else '', + 'bic': contract.client_short_BIC if contract.client_short_BIC else '', + 'iban': contract.client_short_IBAN if contract.client_short_IBAN else '', + 'kapay': contract.web_contract_kapayment_info if contract.web_contract_kapayment_info else '', + 'alpay': contract.web_contract_alpayment_info if contract.web_contract_alpayment_info else '', + 'sonder_0': contract.web_contract_sonder_0 if contract.web_contract_sonder_0 else '', + 'sonder_1': contract.web_contract_sonder_1 if contract.web_contract_sonder_1 else '', + 'sonder_2': contract.web_contract_sonder_2 if contract.web_contract_sonder_2 else '', + 'satzmail': 'on' if contract.web_contract_satzmail else 'off', + 'rgmail': 'on' if contract.web_contract_rgmail else 'off' , + 'kamail': 'on' if contract.web_contract_kamail else 'off', + 'satzgiven': 'on' if contract.web_contract_satzgiven else 'off', + 'web_ads_count_per_year2': contract.ads_count_perYear2 if contract.ads_count_perYear2 else '0', + 'contract_auto_extend' : 'on' if contract.contract_auto_extend else 'off', + 'contract_auto_extend_time': contract.contract_auto_extend_time if contract.contract_auto_extend_time else '0', + 'web_contract_cancel_date': contract.contract_cancel_date.strftime("%d.%m.%Y") if contract.contract_cancel_date else '', + 'edited': "1" # damit im Template erkannt wird, dass es sich um eine Fortsetzung handelt und nicht um einen neuen Vertrag } return request.render("website."+grundsystem_webinput_template, olddata) + @route(['/eingabe/upload'],type='http', auth='user', website=True, csrf=False) + def inputcontinueupload(self, **kwargs): + _logger.info("inside upload continue : " + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data)) + user_id = request.env.user + contract = request.env['dss.contracts'].search([('uuid','=',kwargs.get('uuid'))],limit=1) + contract_id = kwargs.get('contract_id') + contract_data_id = contract.id + kd_id = kwargs.get('kd_id') + #contract = self.setcontract(request.env['dss.contracts'].search([('id','=',contract_data_id)],limit=1),kwargs) + uploads=request.env['dss.mediatypes'].search([('weboptionupload_show','=',True)]) + return request.render("website.eingabe-phase3-upload",{'user_id':str(user_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id),'uploadfiles':uploads}) + @route(['/eingabe/finish'],type='http', auth='user', website=True, csrf=False) def finish_contract(self, **kwargs): _logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data)) uuid = kwargs.get('uuid') contract = request.env['dss.contracts'].search([('uuid','=',uuid)],limit=1) - _logger.info("inside finish_contract: "+str(contract.id)+'--'+str(contract.contract_auto_id)+'--'+str(uuid)) + _logger.info("inside finish_contract: "+str(contract.id)+'--'+str(contract.contract_auto_id)+'--'+str(uuid)) + if not contract.web_contract_input_finished: + if contract.project.lostkdnr: + if len(contract.project.lostkdnr)>0: + nextnr = contract.project.lostkdnr.split(',')[0] + contract.project.lostkdnr = ','.join(contract.project.lostkdnr.split(',')[1:]) + else: + contract.project.lastrealkdnr += 1 + nextnr = str(contract.project.lastrealkdnr).zfill(2) + else: + contract.project.lastrealkdnr += 1 + nextnr = str(contract.project.lastrealkdnr).zfill(2) + contract_id = str(contract.project.projectid) + str(nextnr) + contract.contract_id = str(nextnr) + contract.client_id = str(nextnr) + contract.contract_auto_id = contract_id + contract.contract_name = str(contract.client_short_company) if contract.client_short_company else str(contract.client_short_name)+' '+str(contract.client_short_vorname) + contract.contract_auto_name=str(contract_id)+'_'+str(contract.client_short_company) if contract.client_short_company else str(contract.client_short_name)+' '+str(contract.client_short_vorname) + dsscontracts.tokampagne(contract) + contract.web_contract_input_finished = True + contract.web_contract_rejected = False contract.web_contract_input_notfinished=False - contract_id = str(contract.project.projectid) + str(contract.project.lastrealkdnr).zfill(2) - contract.contract_auto_id = contract_id - contract.contract_name = str(contract_id)+' - '+str(contract.client_short_company) if contract.client_short_company else str(contract.client_short_name)+' '+str(contract.client_short_vorname) - contract.contract_auto_name=str(contract_id)+'_'+str(contract.client_short_company) if contract.client_short_company else str(contract.client_short_name)+' '+str(contract.client_short_vorname) - dsscontracts.tokampagne(contract) return request.render("website.eingabe-finished",{'contract':contract,'contract_auto_id':contract.contract_auto_id}) @route(['/eingabe/cancel'],type='http', auth='user', website=True, csrf=False) @@ -151,7 +231,8 @@ class CustomerPortal(portal.CustomerPortal): def setcontract(self,contract,kwargs): projekt_id = kwargs.get('project') - contract.client_short_company = kwargs.get('client_short_company') if kwargs.get('client_short_company') else '' + contract.client_short_company = kwargs.get('client_short_company') if kwargs.get('client_short_company') else '' + contract.client_short_company_type = request.env['dss.company.type'].search([('uuid','=',kwargs.get('client_short_company_type'))],limit=1) if kwargs.get('client_short_company_type') else '' contract.client_short_vorname = kwargs.get('client_short_vorname') if kwargs.get('client_short_vorname') else '' contract.client_short_name = kwargs.get('client_short_name') if kwargs.get('client_short_name') else '' contract.client_short_telefon = kwargs.get('client_short_telefon') if kwargs.get('client_short_telefon') else '' @@ -162,24 +243,62 @@ class CustomerPortal(portal.CustomerPortal): contract.client_short_ort = kwargs.get('client_short_ort') if kwargs.get('client_short_ort') else '' contract.client_short_mobil = kwargs.get('client_short_mobil') if kwargs.get('client_short_mobil') else '' contract.client_short_website = kwargs.get('client_short_website') if kwargs.get('client_short_website') else '' - contract.runtimesystem = "M" - contract.runtime_m = kwargs.get('contract_time') if kwargs.get('contract_time') else '64' + contract.runtimesystem = "M" + + try: + laufzeit = int(kwargs.get('contract_time')) + except: + laufzeit = 60 + contract.runtime_m = laufzeit if laufzeit > 0 else kwargs.get('runtime_m') if laufzeit == -1 else 60 contract.web_contract_paysum_lz = kwargs.get('web_contract_paysum_lz') if kwargs.get('web_contract_paysum_lz') else 0.0 contract.web_contract_paysum_gfx = kwargs.get('web_contract_paysum_gfx') if kwargs.get('web_contract_paysum_gfx') else 0.0 contract.web_contract_paysum_all = kwargs.get('web_contract_paysum_all') if kwargs.get('web_contract_paysum_all') else 0.0 contract.web_contract_sign_datum = kwargs.get('Datum') if kwargs.get('Datum') else '' contract.web_contract_sign_ort = kwargs.get('Ort') if kwargs.get('Ort') else '' - contract.contract_date = datetime.datetime.strptime(contract.web_contract_sign_datum, "%d.%m.%Y").date() contract.web_contract_sign_name = kwargs.get('NameVorname') if kwargs.get('NameVorname') else '' contract.client_short_BIC = kwargs.get('bic') if kwargs.get('bic') else '' contract.client_short_IBAN = kwargs.get('iban') if kwargs.get('iban') else '' - contract.web_contract_is_lastschrift = kwargs.get('lastschrift') == 'on' if kwargs.get('lastschrift') else False + contract.web_contract_is_lastschrift = True if kwargs.get('lastschrift') else False + contract.web_constract_zahlstonst = kwargs.get('zahlsonst') if kwargs.get('zahlsonst') else '' contract.work_state_info = kwargs.get('sonder_2') if kwargs.get('sonder_2') else '' contract.web_contract_kapayment_info = kwargs.get('kapay') if kwargs.get('kapay') else '' contract.web_contract_alpayment_info = kwargs.get('alpay') if kwargs.get('alpay') else '' + contract.web_contract_satzmail = True if kwargs.get('satzmail') else False + contract.web_contract_satzgiven = True if kwargs.get('satzgiven') else False + contract.web_contract_rgmail = True if kwargs.get('rgmail') else False + contract.web_contract_kamail = True if kwargs.get('kamail') else False contract.web_contract_sonder_0 = kwargs.get('sonder_0') if kwargs.get('sonder_0') else '' contract.web_contract_sonder_1 = kwargs.get('sonder_1') if kwargs.get('sonder_1') else '' contract.web_contract_sonder_2 = kwargs.get('sonder_2') if kwargs.get('sonder_2') else '' + contract.main_runtime = kwargs.get('web_contract_full_duration') if kwargs.get('web_contract_full_duration') else '0' + contract.split_runtime_count = kwargs.get('web_contract_spot_count') if kwargs.get('web_contract_spot_count') else '0' + contract.split_runtime_time = kwargs.get('web_contract_spot_duration') if kwargs.get('web_contract_spot_duration') else '0' + contract.ads_count_perYear2 = kwargs.get('web_ads_count_per_year2') if kwargs.get('web_ads_count_per_year2') else '0' + contract.tv_reach_PLZ = kwargs.get('web_tv_reach_PLZ') if kwargs.get('web_tv_reach_PLZ') else '' + contract.web_contract_start_planed = kwargs.get('web_ads_last_date_start_planed') if kwargs.get('web_ads_last_date_start_planed') else '' + contract.web_contract_remove_planed = kwargs.get('web_ads_last_date_remove_planed') if kwargs.get('web_ads_last_date_remove_planed') else '' + contract.web_bande_spieltage = kwargs.get('web_bande_spieltage') if kwargs.get('web_bande_spieltage') else '' + contract.contract_auto_extend = True if kwargs.get('contract_auto_extend') else False + contract.contract_auto_extend_time = kwargs.get('contract_auto_extend_time') if kwargs.get('contract_auto_extend_time') else '0' + cancel_date = kwargs.get('web_contract_cancel_date') if kwargs.get('web_contract_cancel_date') else '' + if cancel_date: + try: + datetime.datetime.strptime(cancel_date, "%Y-%m-%d") + contract.contract_cancel_date = cancel_date + except ValueError: + try: + converted_date = datetime.datetime.strptime(cancel_date, "%d.%m.%Y").strftime("%Y-%m-%d") + contract.contract_cancel_date = converted_date + except ValueError: + contract.contract_cancel_date = '' + else: + contract.contract_cancel_date = '' + + try: + contract.contract_date = datetime.datetime.strptime(contract.web_contract_sign_datum, "%d.%m.%Y").date() + except: + # ignore error and do not set date if format is wrong + pass gesamts = kwargs.get('sonder_0') if kwargs.get('sonder_0') else '' gesamts = gesamts+' //// '+kwargs.get('sonder_1') if kwargs.get('sonder_1') else '' contract.remark = gesamts @@ -189,11 +308,15 @@ class CustomerPortal(portal.CustomerPortal): for wfa in wfarray: if wfa: if '_' in wfa: - wfa = wfa.split('_')[1] + wfa = wfa.split('_')[1] wfaid = request.env['dss.advertisefields'].search([('feldname','=',wfa.strip()),('project','=',contract.project.id)],limit=1) _logger.info("inside update : "+str(projekt_id)+'/'+str(contract.project.id)+'--'+str(wfields)+'--'+str(wfa.strip()+'--'+str(wfaid))) if wfaid: contract.werbe_feld_selected = [(4, wfaid.id)] + else: + wfaid = request.env['dss.advertisefields'].create({'feldname':wfa.strip(),'project':contract.project.id,'auto_feldname':str(str(contract.project.projectid)+'_'+wfa.strip())}) + if wfaid: + contract.werbe_feld_selected = [(4, wfaid.id)] return contract @route(['/eingabe/submit_lcdtouch'],type='http', auth='user', website=True, csrf=False) @@ -206,11 +329,34 @@ class CustomerPortal(portal.CustomerPortal): contract_id = kwargs.get('contract_id') kd_id = kwargs.get('kd_id') contract_data_id = kwargs.get('contract_data_id') - _logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)+'--'+str(projectid)+'--'+str(kwargs.get('kamail'))) + _logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)+'--'+str(projectid)+'--'+str(kwargs.get('kamail'))) contract = self.setcontract(request.env['dss.contracts'].search([('id','=',contract_data_id)],limit=1),kwargs) - return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)}) + uploads=request.env['dss.mediatypes'].search([('weboptionupload_show','=',True)]) + return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id),'uploadfiles':uploads}) - @route(['/eingabe/submit_kfz'],type='http', auth='user', website=True, csrf=False) + @route(['/eingabe/submit_save'],type='json', auth='user', methods=['POST'], csrf=True) + def submit_save(self, **kwargs): + _logger.info("inside: Save Received Data " + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data)) + kwargs = json.loads(request.httprequest.data.decode('utf-8')) + _logger.info("inside: Save Received Data " + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data)) + name = kwargs.get('websideusername') + projekt_id = kwargs.get('project') + projectid = kwargs.get('projectid') + user_id = kwargs.get('user_id') + contract_id = kwargs.get('contract_id') + contract_data_id = kwargs.get('contract_data_id') + kd_id = kwargs.get('kd_id') + contract = self.setcontract(request.env['dss.contracts'].search([('id','=',contract_data_id)],limit=1),kwargs) + _logger.info("inside: Save Received Data "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)) + output = { + 'results':{ + 'code':200, + 'message':'OK' + } + } + return json.dumps(output) + + @route(['/eingabe/submit_all'],type='http', auth='user', website=True, csrf=False) def submit_kfz(self, **kwargs): _logger.info("inside: start changeScreenTemplateView" + str(request.params)+' --'+str(kwargs)+' --'+str(request.httprequest.data)) name = kwargs.get('websideusername') @@ -222,7 +368,8 @@ class CustomerPortal(portal.CustomerPortal): kd_id = kwargs.get('kd_id') contract = self.setcontract(request.env['dss.contracts'].search([('id','=',contract_data_id)],limit=1),kwargs) _logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)) - return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)}) + uploads=request.env['dss.mediatypes'].search([('weboptionupload_show','=',True)]) + return request.render("website.eingabe-phase3-upload",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id),'uploadfiles':uploads}) @route(['/eingabe/submit_stream'],type='http', auth='user', website=True, csrf=False) def submit_stream(self, **kwargs): @@ -233,6 +380,8 @@ class CustomerPortal(portal.CustomerPortal): user_id = kwargs.get('user_id') contract_id = kwargs.get('contract_id') kd_id = kwargs.get('kd_id') + a=2 + contract_data_id = kwargs.get('contract_data_id') contract = self.setcontract(request.env['dss.contracts'].search([('id','=',contract_data_id)],limit=1),kwargs) _logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)) @@ -247,8 +396,15 @@ class CustomerPortal(portal.CustomerPortal): user_id = kwargs.get('user_id') contract_id = kwargs.get('contract_id') kd_id = kwargs.get('kd_id') + filetype = kwargs.get('filetype') + file = kwargs.get('filename') + b64file = base64.b64encode(file.read()) contract_data_id = kwargs.get('contract_data_id') - _logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)) + contract=request.env['dss.contracts'].search([('id','=',contract_data_id)],limit=1) + if filetype=="1": + _logger.info("inside: set Contract "+str(b64file)) + contract.scan_vertrag=b64file + _logger.info("inside: "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)+'--'+str(file)+'---'+str(b64file)) return request.render("website.eingabe-phase4-finish",{'websideusername':name,'user_id':str(user_id),'projectid':str(projectid),'project':str(projekt_id),'contract_id':str(contract_id),'kd_id':str(kd_id),'contract_data_id':str(contract_data_id)}) @route(['/eingabe/submit_finish'],type='http', auth='user', website=True, csrf=False) @@ -264,7 +420,7 @@ class CustomerPortal(portal.CustomerPortal): submit_finish = kwargs.get('submit') _logger.info("inside finish : "+str(name)+'--'+str(projekt_id)+'--'+str(kd_id)+'--'+str(contract_id)+'--'+str(contract_data_id)+'--'+str(submit_finish)) if submit_finish == 'Eingabe beenden': - return request.render("website.eingabe-phase1") + return self.ad_portal_my_documents(self, **kwargs) if submit_finish == 'Neuen Vertrag im gleichen Projekt': return self.changeScreenView(**kwargs) if submit_finish == 'Neuen Vertrag in anderen Projekt': diff --git a/controllers/dss_webhook_controller.py b/controllers/dss_webhook_controller.py old mode 100644 new mode 100755 diff --git a/models/__init__.py b/models/__init__.py index e13d416..1ed157a 100755 --- a/models/__init__.py +++ b/models/__init__.py @@ -5,6 +5,7 @@ from . import dss_settings from . import dss_trigger from . import dss_ads from . import dss_contract +from . import dss_contracts_move_field_wizard from . import dss_contract_uservar from . import dss_projects from . import dss_geraetetypen @@ -15,6 +16,9 @@ from . import dss_eventdays from . import dss_display_templates from . import dss_advertisefields_templates from . import dss_advertisefields +from . import dss_advertisefields_create_from_template_wizard +from . import dss_advertisefields_create_from_project_wizard +from . import dss_advertisefields_save_as_template_wizard from . import dss_trigger from . import dss_triggerexecute from . import dss_triggervalues @@ -23,6 +27,7 @@ from . import dss from . import dss_maintains from . import dss_provisionstypen from . import dss_provision +from . import dss_company_type from . import company from . import dss_invoices from . import dss_importinvoicelist @@ -35,6 +40,10 @@ from . import dss_crm_extended from . import dss_kileads_requests from . import dss_kileads from . import dss_res_users +from . import dss_portal_user_profile from . import dss_web_contracts_stream from . import dss_settings_variables +from . import dss_csvs +from . import dss_ai_chat_history +from . import dss_phonecenter_query diff --git a/models/__pycache__/__init__.cpython-311.pyc b/models/__pycache__/__init__.cpython-311.pyc old mode 100644 new mode 100755 index a2b2abf66240f4c984ccd5da026486c38b31c713..3ca4060897f5be5bf22989a6f4e8b6df97befcbd GIT binary patch delta 736 zcmaiwy=xRf7{+JsvUi7)aEURdGK$LG?%sYxLO@W&Mi9itMy45;-3hnJ?(I4=IXMxp z38d6Gm4AVa*a+5^b`FWflGe)q!gnTxtOOh$9)9!j%=^xKS$?;+^l@?V0)p}W^RwMf z=V)oY^{{m`Jds^1>e@LfY;4Qh){i+#2QVApfrV0(4uOYwXxIUEuw&Q-cCl;N1NN|I zcmzDcBf~zhkA1@daDW5DA#jL8;OHrGHh){tm1CW*q@0sjuD15BZD>r&iC}ReI4R00 zB|90-Q}Qx<6|+>nZk^0Sb3UC?CNfUVHiQ_B1srB&K?E(TT+hxzP$KwWq+;bRO~l`X zcV2?W(9cTD|E(Y&x97|Kv)+p;p3I1tRaAa&|6ISKSF4hVI4Ap@G6I!$vYg5f3)}ah zvz|%uDF?n}YGx!E$AXMAE=o3o<;&)ZaXFz0od~$%#Xe=TCr%`f7rwd7fnQ{s`rr9pTmG^S`@TXA$#LiF);)z9s?lB5RE_SarsVV9s*JjC n`d1ZdNPg;`_HQZFkUZ$!d{Cn`)l`kHtEOsnL!BqK1&{axWFhFb delta 125 zcmbOrwpoyGIWI340}#wx?Vj1lGLcV$=@#Qejmzw;ISje1QLGccnNBumJjJRW%%G_; zxrnK9G9UAW$we$RlbKjAPJYK~%uv04?X4Bo*zdFHe0Kub|aS~;X02<%ckgQu2ve;zu}V~kg0 ztPN-=px>}uoOzGT(Y@V+D(WTFp`yctI#qOpP)0?4gt}DpI-#tJ`U!OtI@EgEs6u@n z;N2K*v9Vq103VJn0JS#42UaQn_{pL66Fphz;zco-$Yt_eb~`9-=Ru)!L4X;M#d~&X zE6anZUjw^wdEF#IF0mvwG{6Or4bK<4nrtpD z;JXyk_b*um2?(SXeE`-W5L0Y4w+XU^-e&G>A^}9P32jYCQrP4cNJ~PJeXbEiSu{MQ zopQxs>vrLniZl)^bmIsa`P|^7$7Gw)W%OVW@%v6@jIU{%6&ufUP|5-rpKJJ!EB@sl zCZ<^LNfJx(1hK@yxWL!#YL+106v=soBodRCW!P{VmlU^khq}7R5#LSOG|x#u5;CC9 zsuM|l9K6g6xOs6-g7`;Mb$uqsgEVCD{v!ny*Nt8nm7NmIc!^&%6t&ZuwQKgByR}Zo z&f=MYItjJCq8&A6d~ba}hk|#|;$xIZA|_Q~QdK5}bc6D7`*N{n_wM!Y52E4eZdl>2ZYwTFbP&T8$%&8u+kqR5BvJs?n*1Vz8LU{?@SU}4UkvCTH#;V>J(z&k| zJi*db`4$Szp918GRy@(FCyI1z%{Ntg(N`{_n=9zaGvwncKCbHHkj^X9=8+C!SuyH2 z!%=y{JU$V?hq^JI&Lxuo*7f&EgGfJ?vGTV^=ce1Zd0S~P17q@g^P}k@+I>b{4sZJ3 NIesbp_kTok-5;h}P|pAW delta 438 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 diff --git a/models/__pycache__/dss_ads.cpython-311.pyc b/models/__pycache__/dss_ads.cpython-311.pyc old mode 100644 new mode 100755 index 4a57736ddddce34b00914d5511cd5827f369f84d..e55fdc677672a50c3ff29c83996091e219b21281 GIT binary patch delta 3359 zcmb7`dr%w48NhFkr$D?xwq%He!7#!NPJ(S5VjN>$Ho}0B0b3A+q&o?r7hXviWHL%K z`GYt!P1^NLJc<8kW*p~_Fs+>nF=?^mrtQSj)*Fsks&m_k${{0)X0(A^RJe>QK}>4|*)IoK>AQE0V%n%p@=$v$G1o_qr)>Q3$;4PSt+|X8)dhgsb|@TlQXq0 z-x-eoMvy~sF7~+M9C04Rkp8fW^U-7$ZkWOMrLMQE1xmRRWq6YPIhp^xj*=_GI*d;3%JB(eFr6#Vm@F zFDoKwLAbd2NrY|)|NPFY2z@HNQh6r<-4?$0m>oTuOuK}mdj}^n%*)I;GZbr^c^ZwQ zq2;EB=<$b(Tq(Aba~q4u*)7Rg=}S7`I6IU=bo(^q#?I_)n8cP|Lb#rY#U&__+$-Mo zzg)@n=1S#*?$lvD`@=MHU~4`Z=*_HnI)PTToOe9Itc)e%lIbiXHXBbMizVwGMnlk{ zd~qq0sjE*kVglOOD#HwAlh^W9%5lcLe1he=72l@rM2;~svU%FKG1mk(tt1YVugF|F zIotM7Sg&jgX$(G$c~>BaE!I%bq4V=zI0QAidUG_P*=WYkP`6Og+E&gb!%&9D;&fLA zc+aq#o|#boF!l}6n7iFRN6^D_PD>@nAJn60n%#$Oycu$Y3Ju}anH{{GJ0Rx{J!0UU zUS1cMcR$TD;=^u>gVzl@y#XG(dB>7R&`%5ff1HZLx;@T7fY&)aI^&q1Rv#D}*2!5P zOk@A~42~~jIW^s>Vtqb-oTkRdDWX{p9Q1O2Ih@zx;W6BLtOtw&9s;9$9`?%|j%}D( z-g;aJYspsZJL=~#{4YgwZEpGi2F(6J9}bvhuW0I$bHEo>EJ;?IEvkU6GecAirxtGo zoC3gW2gB*qC*qAD%eB5irD!bz#7q^XcJH4|A2saY>7k1Hbuk51K3r_Q8{TN|XU z4PrsVrJz{Qdc_|xS|uYdw%fx}yIm}>M;vakz&+;~zD=t`b?jXjy4gjB@uD7>!9Zs! znTkW8qNLW8^XVEXeaj+~rs!iAlzA_<9&e4PcU-8N9-TQRK4FlaFoI7 zugnWyQx;uS7M&bC<(f{6D2qg8t)#4tC~FtWH=ho@Hhy}1qCrxYF1J;Ep=5e+#wFIY zNHr~@y5(}0sP3HWIutoPC>?f*U2dt%EvnrS4;IyU&Obuy97WAg^eF0sJ_58kI)eea z3d=)=+$klrwVI#BHq>y%7U?ueoll8v{Zd=MsP2zg?4sH}=cL)jB~O@!8(O+`FhKA+ zh_{DrmM6{ZJ%-uK8bH^|_CgV@>~IIH?PZU^6b5jUnSnt?2_<26A-DMTVk&Mjfk}z% zPD$mwJ}{&N!#-BHS*2!KB@({g#-ZeM^pN7Wh@-k9?;;%QWS7NjwRmv@=%>i(>bja~ z5Z?v-1n^V94B!F)yzqMz`V{%u#Fsz;PcZ%&(e5Zh?~~dcyHJ@hzT^3noZo;RVn-7@ zIvdUS9YM9b4`s_$2(b1xV2V6j*I9g?iu(0SL5n~w2Ynf&Ujt@^dv#d|wFpV|H`A+r z1*%j4e5T=*LWn} zC%~Tpe*t^}_!96}a=qh8G%6GxC`*2P5i|o72jk0Jx}&fhUn}VDkYhci1uF&1iR2BR zC2#lW(OvRUPa~QVN)LU7l0OHJ`$T6lq7Q|DiGKIoC$9c7^bYw!|3A>Y@Phd~T6c?n zulV89gZ}+xWltQzWmML4o{Uh{9E(C%%RWxb8 zkK^4q7s6+Q7Fv^E3-?oZdVE~a&F{j!g3|i}s&7g`Ik%a$`BL|ZzD0TM?tih6BmWzm Cmyo*v delta 1538 zcmZ{jYfKbZ6vyYx;_L##LMb&YMbK_(&}w3RrP~&=z+w@3qm^+Z4BlPAg{2)LHl!(j zps7uhrpf7tCQbd&#PzY1*4|oeN|1&x? z7s;wcCRMf2I6|`MCHteIVnY-gy+(+ZPm7`&k7=OVm{C+yV)CgYA8d?IhfM5@Uj?Z+ z5FgNDx2-TPh-+Y{R1uhIxCWkT?uS1d>{5uE4hv=6AD=J(5~2tgI0wYnV}5 z!y1LEmT7`@tVwXKVYV(>v&qz+&G2~5RN*r!a-y%2`Dc`@XPbMlC2>*04(Ux$wOT2! zo%bdV+xf?tw=EFnA7mc^7~s|O{0bc7hn_ni!zcz9oPzV1ziLBIGdpxeH#?zqh z0Yy|rF^+AH+X>k_| zOWJw~M+n1&V**>B5UA3J`u)C~avy8)1#?_EMGg8+5`0fMP6!ZA5Pl?_B8(7D6U1L3 zp}jtP@fq5kC75TYTqofiVU!R?Z+(};xRax_H=a`#MaFX)!W;GTvwx!f&xA3;c|sv! zoNxh`sLQi2QuqtuSHcA0H^T3POZbjj06spf<|;4#L77H@I`f3nua=I@V^Z!fbZXA@ z*sMmQhhr{L)9`ieDfk=T)jaSSKdIdT!WF_zf-L&zvv4f96uS8A_N8%reaAtW&+F_1P;g{h yx+9Jh)LnN9+_$~l*3P!J`ttP({$ShtP}HG7>J91f{BYez-kZkRt^ZLN&i?`Jk8?u+ diff --git a/models/__pycache__/dss_advertisefields.cpython-311.pyc b/models/__pycache__/dss_advertisefields.cpython-311.pyc old mode 100644 new mode 100755 index 2c5d1a5aebee73949841302b80ff095b0d630e79..a449013067bb4b00023dca3ade016805a5ff6b4d GIT binary patch delta 2716 zcmchYe{2**6vub&SGh{N6pz!RRZg*BMUEIsfwm+Sj%z_uwIvEobhEvkJGNYRkJ+Wy zUW&($Ds3qtG9bUIA{tC1(a0tEBN62fLQrGcSmUt-gcxJQ#9SkW2r+Tq^$K?_rQ#n< zvY(xuH}B2v`@WqyeGKh9iSpmi%gg0h+x_91rZV5h`6VVq;)_gYC&#e4$pRK=(v}YH zD7$}QD6TTC4DiKLg9$4T3dBDN&EhMUwm zCP-^1*NPh2>ba7x_zM195$dBepFHidF$Xid{#?qik89_=+)IU$f=Dt+ z=3Y~Fe8lw>NgRu1sVy=8W@WC#Gy)&l%(^AWuttciW3rV!X<&7`$#ixzibTIItBOEy zv)Y0MzpChj4GAGxS+7OsNtz}~Etu%C7Q+DqG0nzjF##3QqkR`c}yB*!qsne+Io0QNWn^N1rUWWoH9OS-(cfL^ND9&epn zfY7OUx96`(Q+r^&jPD^k=<5p~LucYA7H%-x_Ao2iOXpU2(GVpSiv1Nf0C{bq?s9hw zW#@4d%dQUTOE<}!ZI>*PwH-BqK&h75m#hI3Q^zLd^yV-nCe=o3ymC<1#ZbK*RKy_m zuuKXgsT|Ja%bMUPSk$o)AZoLq`E z$j9Ws#4T>r+%Kpk#8z=*qUksk!b)@=6`c+mo??r6AiQTJyk|JPVS&(wS;3LM9K)iw zg)wPhpJmty)`VtN!Xd++dIjhkIjOEJ8CK|MhD{eq5bJ#wvId;Y1P2IIFM*WznTQic zEvdP&40(*%>EcntSh>^JN6RxRZ&cw;>+tv$=InY+Z_-&5PVtG&CuzbG)k2M76J zr{$7k&IQM`erM@`W5J+fLBh2%;hK?npm0wlg~PUf=j{Gzk0+dkNq*9l+$1*)dv2;0 zX;rcFUe;0dgmv_Mb{&O@+JxC3Ji3g?S(cLMqZvihqLOtU_j53Ry`E7zo>8Tfj+m|- z@->S?z5#p-_#W^BL*{>I%o4E+24I z3_2iUTW=~Q0r<<&_uRRi`w}6#jwzYX`yB1=H{SYGuw(8!z$4QNfkn>Uks5kkuNW;GnJv;OXkwXW%cL^J+bTv<67?w zw3W7b7okde+}nVnG;jGoXbZj1*V1qR);S0`1n33433vE&t{6|1+<8`Wh_@&$OD1bhkj z3UG>gYHH_igYI^~KEMvZ8NiQ#bAa=Jp8yvD*XW^|r_m?z3pJnFd8?Hj`8SbI->7@) zMb2jLSerEETG_tKFl6Rz{K&wA|KCW@)Ez*-Qn7x%?Pqw8-|4~nkI;3xa&&;8EcqM?-S>Nqn}XT!e{AsdST delta 623 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 delta 2826 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 ODapS09~!(7Is7-!kW5zq diff --git a/models/__pycache__/dss_contract.cpython-311.pyc b/models/__pycache__/dss_contract.cpython-311.pyc old mode 100644 new mode 100755 index f21b73b79578fde874e23863c8f5210868d7b46e..0f8f5a4c958c9821f548396ffc59b20a48d7b890 GIT binary patch delta 41745 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 delta 16176 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%0D*7R8Y)I>Ft0s(Ws} z+gwmpF-scncHS;zuVn;#Jh?+VQOu{)VhSJZewhHhwi)k z>>cD5yP{ZhtUGJ8d&&%V%FNo7nRO{M-NvK~ah7d;whuZWYNJ@BNDpRV0y{NIghVqF z#y<4jUhcR_wQ-Z`;wHI`(HCMfwsqW|bwFfAvw=|WvPZK#pU`RUyYt;C1+^&!bt%{t zNg^bk#fs~3EE_vvP&|u@bsOXA6EZNs*|ioKLBh=1gqd{-Gu@&zp5ihl-5#9Uthw&O zMeY=PZHm1v#qJhQV!eav8~dd;L)-BGwLCnry3dyWwH^DMG`hn_)`pL)3m;jPQyMK%~U74C9=$3Zev7!O!~IS?TH6NkQ9?$8EhUM3VD%&JRbYvSl1^W)TVnDbm zAu-VR&MO9ls}kbx2jBKr41~Ccho$47_DN?)BYHRZ;P$Sz!)1wIn3b27G%(dB{+Z4a z{Tod5rAeP&A}ND)6;m@O*zBrY<>^GA zcR;!FZ}<-=E>$Y+wm~XgF42}yUMQZnuxi)PPOKk5y}&Q_IWI340}v=}-;}v-Bd-WEquOL8=3R{3lkYOi2J=K@pNWS%EU_pv zF)1fi!P8~(cD6u9k;$CwRqSkKiAC{1ktX&)#ygX*u-A$5N_2$vL@(go!E%Au_9CzC z6<*s0x6OeZ&lsibfd&_;fCwcZ@r%PIH$SB`C)KVfW^*8yIFqvgV?5&r2JGYvwK+N; M!E#@4r~sP`0BTl45&!@I delta 212 zcmew*xmuEUIWI340}wbisb&^zJif}N4rpRVrmVTzmFWCYZg(q9FS54l-9>92PGA~En=7k(j z8Kvxis*6-Wgc6YW#bJ}1pHiBWYF8A!c>$L=lQTbKJmUuj?Boo!IXWM~a$j($0GkW| DsW>od diff --git a/models/__pycache__/dss_crm_extended.cpython-311.pyc b/models/__pycache__/dss_crm_extended.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_display_templates.cpython-311.pyc b/models/__pycache__/dss_display_templates.cpython-311.pyc index 46588a83a89f05b2d0c4cf9a524f7ede7dc236e6..c4ce1f1405d0b695e80f43592208b3a5eecc01f0 100755 GIT binary patch delta 369 zcmcbjb3vDPIWI340}%Xrqn@>RBd-(_6A#m7O{OV~^-K(@Tv-wzIS@#ZPT@@9SR=EH znSo(75JNzeWQuGHLzGmC9FUYwWzJ%O$)w1)Ff0RdR>K4sqGV9y6)@ywI~Xb$qvV1a zG!<_NrEC^sxx%7QCFGc*5RhL~l9;1VoSB?al9X7a$yB5SG_^<CNxGpf-Zg%Cq$;{}uS)RX!kx_o~9D!%jx7eNX^K()Y^KJWl zo!lho!nl3&aY187=^Nsz6UwI4T~M<+;Cdk>;(~bOMe)ch;*l3vL^l5tTFJ;*vw4X~ dIisa6qxc5~Ok#%E9GQ#1pq+vUn&3q delta 239 zcmcbhdqszLIWI340}#x5`#9ZmBd-(_(=*1+noLs|!&0PM7@{OnWPqe(DsvVKNEHaA z$hI&n1JbL(JP;8jg(5G9Aurv*P{9}_6U?9~zuA)II?H4O&P|MFlOJH diff --git a/models/__pycache__/dss_eventdays.cpython-311.pyc b/models/__pycache__/dss_eventdays.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_kileads.cpython-311.pyc b/models/__pycache__/dss_kileads.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_kileads_requests.cpython-311.pyc b/models/__pycache__/dss_kileads_requests.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_linkmail.cpython-311.pyc b/models/__pycache__/dss_linkmail.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_m2mmail.cpython-311.pyc b/models/__pycache__/dss_m2mmail.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_maintains.cpython-311.pyc b/models/__pycache__/dss_maintains.cpython-311.pyc old mode 100644 new mode 100755 index b1eceb7b85b8ed3f02b13337edf6c2c68431ab80..4a160e9f0dc25076b3d426eb7520bccee007dbaa GIT binary patch delta 3658 zcmc&%YfM~46uz^&cPSvS2o!d^UG{;%@?0K;g>HGj3N6qS+U_EytwWWzEPA`3Rd9W@ z+O&;gr%4+dBR?9fRuk*~F{!T@6Sx2F>Q#|gAJISRk8af;rpClGbKSe;vXYpXIN5t< z&YUyfocZpV!{x%{JAw39($Z2mXbqj`Chm4!O*d##lBo{u*Y`rjnhTm{i>z`Sw&En5 z^txkF%W+rWk(bE+W zQk7Q)_^6LxrV1F4G`Nyn)En#LVYvXlDnS?(s_?79uZH}rH>SpqP)pv|=LTJ>P-+tf zT%`(zdetS^w_1f(4}R_hel^Ummg9o*Ys3vW1>71{NwkT%)x};l-i$pgye)DP#pZqW z;O9Qn5YutfB7#(cM{dm87}Hi*d6>n`8cYvQc3 z5#|D5x3%Pc!2zzV(s^Js!T1o4R@?e zPv#LnKl8vl@em$f)I<8gBR9N@Zd}s^DcY^f?LN*ef^sD`!TEadp5vTvEB1oy#lD@K zb0oAq^&8z?PK^LJg%dm=LS=@_S~NsH%X;1XA?WA1S+0W{9hpP3=#YXX^pWSYPk6Us z-7FeYD(aab%&*Yz#oSKrRek@D6!~_tb!TAOkH`Ji+v}{`C;ZcaasTZsmon>$O)hg} zBnEoJ0L85L1(U0UN(mQl*8j&gkF4s^quzo3__ z%@K2pWNw-7ykW5|)JcxE4~8R--td8leK2C#Az60JcP}-yi<`&b7rtNaLC$wc*={l0 z{q5#K7@Fj9eZ#z7GSrHO+Gtj6f8t+XQ~uBF9PIxX!2)b^{wu-Lh$N|AapP&)CCL!r?JIE$k0WO!>zq_xptd;3ABY z-MKb2Mvmon1^o$VbWoSAV%Ysh`C8JHz_o>e6T6v=n1z)?EMkT zfMgi}8a=II!zld1-Et3-(pV>E*L~a2&uC=hP4$$P4qRKbgKq`Xh9Hl6-1DjLwIeH-3)_r|1H`AW*|mD(J_QK&y)IAQdc= z9wI&Y&1fNXGXJKsVwzfKs8Fq7EIveDvbCbuLf_biP%7J%?J!N69J44Cy5=ZFcOQer zPF|R#7;Nhq@_Ru5y-OzVc_g@OR?<5l?4KDwvNFLjUGxBm`;;pN3QYm}{Q4V+zl&C2 z4q-H>Sy8xBXIJQtrg7Yy#-Dk|g(Z!J1wq+Oscd(+DY+)3FepWreEmMCW`O z#wVSF=sWVIvk>*2Eg3`4kbNbe$5Pl+T2jL}*h>!`PhUm^qhy>K;#tbl@&R(H)RHqn zEss$_KMdJrS>8aNH0ANMb{;10mVSiJhMp?>3K<=h3w4(~Z)SuG#9cnoF%of%NRAOv zXCWK@&EL;8TAd&Fkx_&y}@2ckM^wv$~o7~aygnw#i3a;4U2dW+Ia|Bn!i rAa1YoOitnHBjZiN_0ZR~52N;WEh>s~iRJvvx!GIH_S-*rFyy}gQE4zI delta 2579 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 delta 4119 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 ujw@FIi97Nt&T0seEDJM&?Ilcjx3c9# z22IwNAQgTS3styTpo%|RF-%-w!Ir`blxCZJjLD7JPm^QvBso{nTRbVn#qkA2`B|yS zCB-WlK7({jF66KjEMf<;zyvptQEbF8dA__seS=SfPmv%@Mw9y%OKE9l$}RSs{Pgt9 zy!2Zv`6>DNMa&=tAj^wbfy6D&^wbg`pn}w*B2EyWJszYywdfYBZ+=Q@4#Xw_kaDoe zLO|9p4x8Nkl+v73yCO*-7v$~YP6md0h7Zh)jEo=H7#MjPxIyp+178CeK44J3fEzvF vlI~Ey!X-V!<06;p6)x2V_77~VjG>Gl7_gHaWj!??!E#@aRR|z)z>Wm~&s1^w diff --git a/models/__pycache__/dss_settings.cpython-311.pyc b/models/__pycache__/dss_settings.cpython-311.pyc old mode 100644 new mode 100755 index 03b3abb14decaecc978d77b7befc8797de7d227a..0d0ac012b1c1464dfeec6a0d60d70a78fc2ce129 GIT binary patch literal 65281 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 V)uK)u1q{xDPg1$5^{{AHZqiFQ! zh&dQZNYXIgB$~Lb^*!V_i)L=8`LI7%%;mO@*;vHf*83Lv^Ta%Er~4N9Euw|n8NPh~ zVsWwGDq3UXC3D9X3Hu7f0s+ZZZy}Timz?HZN;h;{qKr=SF5?`~%f~Q6C)ho6i7NzD zhosD5BrTAQ-j%cbn1-p?9aF91sw}25JV5oZgm)oZ_EiXS*|e(09rDm`@QCnShO$?v z(it|z@*!!Pw4Ht?n9U`uJe@be*GP8YO{JXI$Mv;zo6&6AoW$^6k%M<~ ze_4{hp0njitb?-^NvxBzl}T&^u;#6twZv;|lw44Iw2JfV;(U|TEa}Eul3H5LRomjK zR%zFLRNJN9!$_==?cUnBa?datV}ld31QK_!Ty}5W3=u_0YMZ~y(%zJiopVE2#1lyo z?I{uUNfBaF#FMcIHh=6A9a0CY-Z`)OeJP0>=J`8Q{EhScT`7LoJb(9=6hYHGfjh5&KfLA$O!t)e*TTNF-WVU7%Of2Hd`WnO0ZV<8I}p z>g}2Z#Srx0H~^fq&%O!U>AUt$;aQ~Iu@4CL zMsURQk!BdSFktoki;R1iQZ1mL*5=XZgq~ig%Vp`W)^!UcDb3040uy-0s^6tj%^ z&fUT&Qi4ts*6}sD=+TCaPb^QUKCvZU3^$^(|kx3;z*&++akz#EZfM&lRmKc#Jr(=b^$nEf(+~s$N!d(aCL-g$B@6z@4fr#8I6MFCGPw2^CilgxM zA@Hsvyb|cHnjQ@F^tl5}wi_Jn0G$8}0iFRE1b7}`2;gM~A0c7|8{P?oZxuiRyTiTg zT{aZ|T+UiNRD039VW{C^j&kbCNiFTVevj%Wo0Rt^ci;?UNL%y=fb!;za~R9C_vV=J zJEF$FrnTKH8y#uLqbsKhh1-bMOdZKd9Ci{kQ9{xF4et@LM(Fa@rAP5iwNVJnT>;iB<0-OP` zA~QqYrSD-3@GDY2m|l;UfNd*c{~g$`Y9_N)tv4JDr~;9Ri(bE7LpS|BUcsy9kNi1^ z=dI?MV(DYqr_(F^L8;#-Zzb254*vCoFVH1-2I=uTH%c5D%({Gk94UHZ%_R5Tn5z(V J^vvDI{{iwJDir_# diff --git a/models/__pycache__/dss_settings_variables.cpython-311.pyc b/models/__pycache__/dss_settings_variables.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_systemtypen.cpython-311.pyc b/models/__pycache__/dss_systemtypen.cpython-311.pyc old mode 100644 new mode 100755 index aaefd6a635d42854e9c633e8710b927f3213e473..bd8bb9c69d54dc5ec126209d69bf2e58845dca9c GIT binary patch delta 402 zcmca;u*Z;ZIWI340}vdzxI5ECU?ZPB6XT@KeoUgw0!$34>{%QjIS@!upL~#6I9@qb zB})||0u<9|VOR#_tcD3NM5zIFsbs0c1X47YF#_d*7y?qXFm!07Xtyv#X{P7|Gid5= zKFE53S*%JVJT*zzH8U?gF)3BSDKjTUAvDNm@JZN|tLG+Ccl zjZtfJ81Dr}$y?&(sY&sfc?G2<@x>YW<(avO>8bIhMLCnz`0W|{H>dH-FiG5y)0~ku zC;Nhy!wHiMase0R0=Bw zQe|QQs!)Roq-ZQ-1j++31f*zU=ul75YGH`dNYM^v(A3%dl=TAh|h{<0?Rx!qGULdN#C=V7zRr!mK!k|mRyB&+}oVMibU diff --git a/models/__pycache__/dss_trigger.cpython-311.pyc b/models/__pycache__/dss_trigger.cpython-311.pyc old mode 100644 new mode 100755 index e82afafa18098acc56c3a6bbcf2dc82728e5241a..f4c2a4127ba43e4f52f15b2345973df50b106c12 GIT binary patch delta 11871 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 delta 9755 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 diff --git a/models/__pycache__/dss_web_contracts.cpython-311.pyc b/models/__pycache__/dss_web_contracts.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_web_contracts_all.cpython-311.pyc b/models/__pycache__/dss_web_contracts_all.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_web_contracts_all2.cpython-311.pyc b/models/__pycache__/dss_web_contracts_all2.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_web_contracts_entry.cpython-311.pyc b/models/__pycache__/dss_web_contracts_entry.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dss_web_contracts_stream.cpython-311.pyc b/models/__pycache__/dss_web_contracts_stream.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/dsslogger.cpython-311.pyc b/models/__pycache__/dsslogger.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/__pycache__/utils.cpython-311.pyc b/models/__pycache__/utils.cpython-311.pyc old mode 100644 new mode 100755 diff --git a/models/company.py b/models/company.py index 2e84708..25291b6 100755 --- a/models/company.py +++ b/models/company.py @@ -28,10 +28,17 @@ class ResCompany(models.Model): dssinternpartner_grafik = fields.Boolean('Grafiker', default=False) dssinternpartner_technik = fields.Boolean('Techniker', default=False) dssportaluser = fields.Many2one('res.users', 'Portal User', domain=[('share','=',True)], help='Verknüpfter Portal Benutzer fuer diesen Partner') + dsspartner_Company_type = fields.Many2one('dss.company.type',string='Firmentyp Kunde',tracking=True) # dss_uuid = fields.Char('uuid') dss_uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') rgemail = fields.Char('Rechnungs-Email', default=False) leitwegid = fields.Char('Leitweg-ID', default=False) + google_calendar_id = fields.Char('Google Kalender ID', default=False) + google_calendar_client_id = fields.Char('Google Client ID', default=False) + google_calendar_client_secret = fields.Char('Google Client Secret', default=False) + google_calendar_refresh_token = fields.Char('Google Refresh Token', default=False) + google_calendar_access_token = fields.Char('Google Access Token', default=False) + google_calendar_token_expires_at = fields.Datetime('Google Token gueltig bis', default=False) @api.model def _default_uuid(self): diff --git a/models/dss.py b/models/dss.py index 2858b73..ee92753 100755 --- a/models/dss.py +++ b/models/dss.py @@ -25,6 +25,7 @@ from pyffmpeg import FFmpeg from tuya_iot import TuyaOpenAPI, TUYA_LOGGER from tuya_connector import TuyaOpenAPI, TUYA_LOGGER from . import dss_contract +from . import dss_projects import sys @@ -99,7 +100,28 @@ class dsscontractstatus(models.Model): systemtypdefault = fields.Boolean(string='Default Typ',tracking=True) systemtyp = fields.Many2one('dss.systemtypen',tracking=True) systemtypuuid = fields.Char(related='systemtyp.uuid',tracking=True) - kanban_display_minimal = fields.Boolean(string='Kanban minimalisiert') + kanban_display_minimal = fields.Boolean(string='Kanban minimieren') + kanban_collapsed_choice = fields.Selection( + [('no', 'Nein'), ('yes', 'Ja')], + string='Kanban eingeklappt', + default='no', + store=True, + ) + fold = fields.Boolean( + string='Kanban-Spalte eingeklappt', + compute='_compute_fold', + inverse='_inverse_fold', + store=True, + ) + + @api.depends('kanban_collapsed_choice') + def _compute_fold(self): + for record in self: + record.fold = record.kanban_collapsed_choice == 'yes' + + def _inverse_fold(self): + for record in self: + record.kanban_collapsed_choice = 'yes' if record.fold else 'no' @api.model def _default_uuid(self): @@ -196,7 +218,12 @@ class dssmediatypes(models.Model): maxsize_kb = fields.Integer('Maximale Größe KB') maxsize_w = fields.Integer('Maximale Pixel W') maxsize_h = fields.Integer('Maximale Pixel H') + adportal_visible = fields.Boolean('Ad Portal sichtbar', default=False) + adportal_ki_prompt = fields.Text('KI Prompt') standard_image = fields.Image() + weboptionupload_show = fields.Boolean('Im Uploadformular Anzeigen ?') + weboptionupload_name = fields.Char('Anzeigename für Webformular') + weboptionupload_id = fields.Integer('UploadID für Webformular') default_filename = fields.Char('Default Dateiname', help='Standard-Dateiname für diesen Mediatyp. Wird automatisch aus dem Dateinamen der hochgeladenen Datei abgerufen') can_gen_stamp = fields.Boolean('Kann Stempel generieren', help='Darf durch Stempelgenerator gefüllt werden ja/nein') @@ -360,6 +387,14 @@ class NewBinaryWizard(models.TransientModel): dss_contract.dsscontracts.pyopen_dss_contract_add_binary_form_view_from_wizzard(contract,self.field_ids) return context + def pyopen_dss_project_add_binary_form_view_from_wizzard(self): + context = dict(self.env.context or {}) + default_contract_id = context.get('active_id', False) + _logger.info('Open Add Binary Form '+str(context)+' - '+str(default_contract_id)+' / '+str(self.field_ids)) + project= self.env['dss.projects'].browse(default_contract_id) + dss_projects.dssprojects.pyopen_dss_project_add_binary_form_view_from_wizzard(project,self.field_ids) + return context + class View(models.Model): """ Extends the base 'ir.ui.view' model to include a new type of view diff --git a/models/dss_ads.py b/models/dss_ads.py index fd47de2..1df25b8 100755 --- a/models/dss_ads.py +++ b/models/dss_ads.py @@ -144,6 +144,7 @@ class dsscontractads(models.Model): date_zuarbeit = fields.Date(string='Zuarbeit Datum', help='Zuarbeit gesendet am', tracking=True) + korrekturabzug_cloudlink = fields.Char('Freigabelink zu den fertigen Dateien ',tracking=True) date_korrekturabzug = fields.Date(string='K.Abzug Datum', help='Korrekturabzug gesendet am', tracking=True) date_korrekturfreigabe = fields.Date(string='K.Freigabe Datum', help='Korrekturfreigabe erhalten am', @@ -246,6 +247,24 @@ class dsscontractads(models.Model): autodays=self.env['dss.settings'].search([],limit=1).freigabe_auto_time record.date_korrekturfreigabe_ablauf = record.date_korrekturabzug + relativedelta(days=autodays) + def pysendKA(self): + contract = self.contract + grundsystemname = contract.project.grundsystemname + _logger.info('Korrekturabzug senden : C_' + str(contract.id) + 'GS_' + str(grundsystemname.id)+' / '+str(grundsystemname.email_template_abzug)) + if grundsystemname.email_template_abzug: + _logger.info('Korrekturabzug senden in : C_' + str(contract.id) + 'GS_' + str(grundsystemname.id)+' / '+str(grundsystemname.email_template_abzug)) + newmail = self.env['mail.template'].browse(grundsystemname.email_template_abzug.id).copy() + newmail.email_to = contract.client_short_email + newmail.email_bcc = "projekt@logumedia.de" + newmail.send_mail(contract.id, force_send = True) + self.date_korrekturabzug = date.today() + _logger.info('Korrekturabzug gesendet : C_' + str(contract.id) + 'GS_' + str(grundsystemname.id)+' / '+str(grundsystemname.email_template_abzug)) + else: + _logger.info('Keine Korrekturabzug Mailvorlage hinterlegt : C_' + str(contract.id) + 'GS_' + str(grundsystemname.id)+' / '+str(grundsystemname.email_template_abzug)) + raise ValidationError(_("Keine Korrekturabzug Mailvorlage hinterlegt ! Bitte im Systemtyp eine Mailvorlage für Korrekturabzug hinterlegen !")) + + + def pyaction_view_ad_details(self): action = self.env['ir.actions.act_window'].with_context({'default_adid': self.id})._for_xml_id( 'DigitalSignage.action_dss_ads_view') diff --git a/models/dss_advertisefields.py b/models/dss_advertisefields.py index 56d18ea..126a060 100755 --- a/models/dss_advertisefields.py +++ b/models/dss_advertisefields.py @@ -183,6 +183,13 @@ class dssadvertisefields(models.Model): if not record.contract: record.contract = record.contract_save + def action_remove_contract_links(self): + for record in self: + record.write({ + 'contract': [(5, 0, 0)], + 'contract_save': False, + }) + def pyactiontaketemplate(self): action = (self.env["confirmation.wizard"].confirm_message(_("Das Template wirklich übernehmen ?"),title="Bitte bestätigen",method="taketemplate",records=self,callback_params={"template":self.id}) ) @@ -236,6 +243,45 @@ class dssadvertisefields(models.Model): action['context']='{"active_id":'+str(self.id)+'}' action['res_id']=self.id return action + + @api.model + def action_open_create_from_template_wizard(self): + view = self.env.ref('DigitalSignage.dss_advertisefields_create_from_template_wizard_view_form') + return { + 'type': 'ir.actions.act_window', + 'name': _('Felder aus Vorlage erstellen'), + 'res_model': 'dss.advertisefields.create.from.template.wizard', + 'view_mode': 'form', + 'view_id': view.id, + 'views': [(view.id, 'form')], + 'target': 'new', + } + + @api.model + def action_open_create_from_project_wizard(self): + view = self.env.ref('DigitalSignage.dss_advertisefields_create_from_project_wizard_view_form') + return { + 'type': 'ir.actions.act_window', + 'name': _('Felder aus vorh. Projekt erstellen'), + 'res_model': 'dss.advertisefields.create.from.project.wizard', + 'view_mode': 'form', + 'view_id': view.id, + 'views': [(view.id, 'form')], + 'target': 'new', + } + + @api.model + def action_open_save_as_template_wizard(self): + view = self.env.ref('DigitalSignage.dss_advertisefields_save_as_template_wizard_view_form') + return { + 'type': 'ir.actions.act_window', + 'name': _('Felder in Vorlage speichern'), + 'res_model': 'dss.advertisefields.save.as.template.wizard', + 'view_mode': 'form', + 'view_id': view.id, + 'views': [(view.id, 'form')], + 'target': 'new', + } def btn_image_import(self): action = self.env["confirmation.wizard"].confirm_message(_("Das Bild wirklich importieren ?"),title="Bitte bestätigen",method="btn_image_import_do",records=self,callback_params={"template":self.id}) diff --git a/models/dss_advertisefields_create_from_project_wizard.py b/models/dss_advertisefields_create_from_project_wizard.py new file mode 100755 index 0000000..d10b455 --- /dev/null +++ b/models/dss_advertisefields_create_from_project_wizard.py @@ -0,0 +1,52 @@ +from odoo import fields, models, _ +from odoo.exceptions import ValidationError + + +class DssAdvertisefieldsCreateFromProjectWizard(models.TransientModel): + _name = "dss.advertisefields.create.from.project.wizard" + _description = "Werbefelder aus vorhandenem Projekt erstellen" + + source_project_id = fields.Many2one( + 'dss.projects', + string='Altes Projekt', + required=True, + ) + project_id = fields.Many2one( + 'dss.projects', + string='Neues Projekt', + required=True, + ) + + def action_create_fields(self): + self.ensure_one() + + if self.source_project_id.id == self.project_id.id: + raise ValidationError(_("Altes Projekt und neues Projekt muessen unterschiedlich sein.")) + + source_fields = self.env['dss.advertisefields'].search([ + ('project', '=', self.source_project_id.id) + ]) + if not source_fields: + raise ValidationError(_("Im gewaehlten alten Projekt wurden keine Werbefelder gefunden.")) + + create_vals = [] + project_identifier = self.project_id.projectid or self.project_id.id + for source_field in source_fields: + vals = source_field.copy_data()[0] + feldname = vals.get('feldname') or source_field.feldname + vals.update({ + 'project': self.project_id.id, + 'auto_feldname': f"{project_identifier}_{feldname}", + 'contract': [(6, 0, [])], + 'contract_save': False, + }) + create_vals.append(vals) + + created_fields = self.env['dss.advertisefields'].create(create_vals) + return { + 'type': 'ir.actions.act_window', + 'name': _('Erstellte Werbefelder'), + 'res_model': 'dss.advertisefields', + 'view_mode': 'tree,form', + 'domain': [('id', 'in', created_fields.ids)], + } diff --git a/models/dss_advertisefields_create_from_template_wizard.py b/models/dss_advertisefields_create_from_template_wizard.py new file mode 100755 index 0000000..2fe67aa --- /dev/null +++ b/models/dss_advertisefields_create_from_template_wizard.py @@ -0,0 +1,94 @@ +from odoo import fields, models, _ +from odoo.exceptions import ValidationError + + +class DssAdvertisefieldsCreateFromTemplateWizard(models.TransientModel): + _name = "dss.advertisefields.create.from.template.wizard" + _description = "Werbefelder aus Vorlage erstellen" + + display_template_id = fields.Many2one( + 'dss.display.templates', + string='Vorlage', + required=True, + ) + project_id = fields.Many2one( + 'dss.projects', + string='Neues Projekt', + required=True, + ) + + def action_create_fields(self): + self.ensure_one() + + template_fields = self.env['dss.advertisefields.templates'].search([ + ('displaytemplate', '=', self.display_template_id.id) + ]) + if not template_fields: + raise ValidationError(_("Für die gewählte Vorlage wurden keine Werbefelder gefunden.")) + + create_vals = [] + project_identifier = self.project_id.projectid or self.project_id.id + for template_field in template_fields: + feldname = template_field.feldname or template_field.templatefeldname + create_vals.append({ + 'feldname': feldname, + 'auto_feldname': f"{project_identifier}_{feldname}", + 'project': self.project_id.id, + 'display': template_field.display, + 'color_used': template_field.color_used, + 'color_unused': template_field.color_unused, + 'mediastructure': template_field.mediastructure.id, + 'is_btn': template_field.is_btn, + 'btn_displaytemplate': self.display_template_id.id, + 'btn_fromtemplate': template_field.id, + 'btn_pos_x': template_field.btn_pos_x, + 'btn_pos_y': template_field.btn_pos_y, + 'btn_pos_w': template_field.btn_pos_w, + 'btn_pos_h': template_field.btn_pos_h, + 'btn_name': template_field.btn_name, + 'btn_image': template_field.btn_image, + 'btn_fieldname': template_field.btn_fieldname, + 'btn_visible': template_field.btn_visible, + 'btn_active': template_field.btn_active, + 'btn_action_inactive': template_field.btn_action_inactive, + 'btn_action_active': template_field.btn_action_active, + 'btn_playlist_zuordnung': template_field.btn_playlist_zuordnung, + 'btn_gallery_rows': template_field.btn_gallery_rows, + 'btn_gallery_cols': template_field.btn_gallery_cols, + 'btn_gallery_prv_w': template_field.btn_gallery_prv_w, + 'btn_gallery_prv_h': template_field.btn_gallery_prv_h, + 'btn_has_timer': template_field.btn_has_timer, + 'btn_has_timer_time': template_field.btn_has_timer_time, + 'btn_editable': template_field.btn_editable, + 'btn_special_actionimage': template_field.btn_special_actionimage, + 'btn_special_actionimage_x': template_field.btn_special_actionimage_x, + 'btn_special_actionimage_y': template_field.btn_special_actionimage_y, + 'btn_special_actionimage_w': template_field.btn_special_actionimage_w, + 'btn_special_actionimage_h': template_field.btn_special_actionimage_h, + 'btn_special_actionimage_time': template_field.btn_special_actionimage_time, + 'btn_text_1_visible': template_field.btn_text_1_visible, + 'btn_text_2_visible': template_field.btn_text_2_visible, + 'btn_text_3_visible': template_field.btn_text_3_visible, + 'btn_text_4_visible': template_field.btn_text_4_visible, + 'btn_text_1_pos_x': template_field.btn_text_1_pos_x, + 'btn_text_1_pos_y': template_field.btn_text_1_pos_y, + 'btn_text_2_pos_x': template_field.btn_text_2_pos_x, + 'btn_text_2_pos_y': template_field.btn_text_2_pos_y, + 'btn_text_3_pos_x': template_field.btn_text_3_pos_x, + 'btn_text_3_pos_y': template_field.btn_text_3_pos_y, + 'btn_text_4_pos_x': template_field.btn_text_4_pos_x, + 'btn_text_4_pos_y': template_field.btn_text_4_pos_y, + 'btn_text_1_font': template_field.btn_text_1_font, + 'btn_text_2_font': template_field.btn_text_2_font, + 'btn_text_3_font': template_field.btn_text_3_font, + 'btn_text_4_font': template_field.btn_text_4_font, + }) + + created_fields = self.env['dss.advertisefields'].create(create_vals) + return { + 'type': 'ir.actions.act_window', + 'name': _('Erstellte Werbefelder'), + 'res_model': 'dss.advertisefields', + 'view_mode': 'tree,form', + 'domain': [('id', 'in', created_fields.ids)], + } diff --git a/models/dss_advertisefields_save_as_template_wizard.py b/models/dss_advertisefields_save_as_template_wizard.py new file mode 100755 index 0000000..5a4e18e --- /dev/null +++ b/models/dss_advertisefields_save_as_template_wizard.py @@ -0,0 +1,113 @@ +from odoo import fields, models, _ +from odoo.exceptions import ValidationError + + +class DssAdvertisefieldsSaveAsTemplateWizard(models.TransientModel): + _name = "dss.advertisefields.save.as.template.wizard" + _description = "Werbefelder als Vorlage speichern" + + source_project_id = fields.Many2one( + 'dss.projects', + string='Altes Projekt', + required=True, + ) + new_template_name = fields.Char( + string='Neuer Vorlagenname', + required=True, + ) + + def action_save_as_template(self): + self.ensure_one() + + source_fields = self.env['dss.advertisefields'].search([ + ('project', '=', self.source_project_id.id) + ]) + if not source_fields: + raise ValidationError(_("Im gewaehlten alten Projekt wurden keine Werbefelder gefunden.")) + + template_name = self.new_template_name.strip() + if not template_name: + raise ValidationError(_("Bitte einen gueltigen Vorlagennamen eingeben.")) + + first_display_template = source_fields[0].btn_displaytemplate + display_template_vals = { + 'displayname': template_name, + } + if first_display_template: + display_template_vals.update({ + 'fullsize_w': first_display_template.fullsize_w, + 'fullsize_h': first_display_template.fullsize_h, + 'adportal_visible': first_display_template.adportal_visible, + }) + + new_display_template = self.env['dss.display.templates'].create(display_template_vals) + + template_field_vals = [] + for source_field in source_fields: + template_field_name = source_field.feldname or source_field.auto_feldname or '' + if not source_field.feldname and source_field.auto_feldname and '_' in source_field.auto_feldname: + template_field_name = source_field.auto_feldname.split('_', 1)[1] + + vals = { + 'templatefeldname': template_field_name, + 'display': source_field.display, + 'displaytemplate': new_display_template.id, + 'feldname': source_field.feldname, + 'color_used': source_field.color_used, + 'color_unused': source_field.color_unused, + 'mediastructure': source_field.mediastructure.id, + 'is_btn': source_field.is_btn, + 'btn_pos_x': source_field.btn_pos_x, + 'btn_pos_y': source_field.btn_pos_y, + 'btn_pos_w': source_field.btn_pos_w, + 'btn_pos_h': source_field.btn_pos_h, + 'btn_name': source_field.btn_name, + 'btn_image': source_field.btn_image, + 'btn_fieldname': source_field.btn_fieldname, + 'btn_visible': source_field.btn_visible, + 'btn_active': source_field.btn_active, + 'btn_action_inactive': source_field.btn_action_inactive, + 'btn_action_active': source_field.btn_action_active, + 'btn_playlist_zuordnung': source_field.btn_playlist_zuordnung, + 'btn_gallery_rows': source_field.btn_gallery_rows, + 'btn_gallery_cols': source_field.btn_gallery_cols, + 'btn_gallery_prv_w': source_field.btn_gallery_prv_w, + 'btn_gallery_prv_h': source_field.btn_gallery_prv_h, + 'btn_has_timer': source_field.btn_has_timer, + 'btn_has_timer_time': source_field.btn_has_timer_time, + 'btn_editable': source_field.btn_editable, + 'btn_special_actionimage': source_field.btn_special_actionimage, + 'btn_special_actionimage_x': source_field.btn_special_actionimage_x, + 'btn_special_actionimage_y': source_field.btn_special_actionimage_y, + 'btn_special_actionimage_w': source_field.btn_special_actionimage_w, + 'btn_special_actionimage_h': source_field.btn_special_actionimage_h, + 'btn_special_actionimage_time': source_field.btn_special_actionimage_time, + 'btn_text_1_visible': source_field.btn_text_1_visible, + 'btn_text_2_visible': source_field.btn_text_2_visible, + 'btn_text_3_visible': source_field.btn_text_3_visible, + 'btn_text_4_visible': source_field.btn_text_4_visible, + 'btn_text_1_pos_x': source_field.btn_text_1_pos_x, + 'btn_text_1_pos_y': source_field.btn_text_1_pos_y, + 'btn_text_2_pos_x': source_field.btn_text_2_pos_x, + 'btn_text_2_pos_y': source_field.btn_text_2_pos_y, + 'btn_text_3_pos_x': source_field.btn_text_3_pos_x, + 'btn_text_3_pos_y': source_field.btn_text_3_pos_y, + 'btn_text_4_pos_x': source_field.btn_text_4_pos_x, + 'btn_text_4_pos_y': source_field.btn_text_4_pos_y, + 'btn_text_1_font': source_field.btn_text_1_font, + 'btn_text_2_font': source_field.btn_text_2_font, + 'btn_text_3_font': source_field.btn_text_3_font, + 'btn_text_4_font': source_field.btn_text_4_font, + } + template_field_vals.append(vals) + + created_template_fields = self.env['dss.advertisefields.templates'].create(template_field_vals) + new_display_template.write({'feldtemplates': [(6, 0, created_template_fields.ids)]}) + + return { + 'type': 'ir.actions.act_window', + 'name': _('Neue Werbefeld-Vorlage'), + 'res_model': 'dss.display.templates', + 'view_mode': 'form', + 'res_id': new_display_template.id, + } diff --git a/models/dss_ai_chat_history.py b/models/dss_ai_chat_history.py new file mode 100755 index 0000000..5faebe3 --- /dev/null +++ b/models/dss_ai_chat_history.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class DssAIChatHistory(models.Model): + _name = "dss.ai.chat.history" + _description = "DigitalSignage AI Chat History" + _order = "create_date desc, id desc" + + user_id = fields.Many2one('res.users', required=True, index=True, default=lambda self: self.env.user) + role = fields.Selection( + [('user', 'User'), ('assistant', 'Assistant')], + required=True, + index=True, + ) + content = fields.Text(required=True) diff --git a/models/dss_binaries.py b/models/dss_binaries.py old mode 100644 new mode 100755 index a294e5b..4d0b903 --- a/models/dss_binaries.py +++ b/models/dss_binaries.py @@ -66,6 +66,7 @@ class dssbinaries(models.Model): binary_secured_ro = fields.Boolean(string="Gesperrt", default=False, help = "Ein Flag, das angibt, ob die Datei gesperrt ist. Wenn dies aktiviert ist, kann die Datei nicht mehr bearbeitet oder gelöscht werden. Sie wird dann auch nicht in Übertragungen oder Ansichten beachtet.") binary_used_ro = fields.Boolean(string="Genutzt", default=False, help = "Ein Flag, das angibt, ob die Datei in einer Übertragung/Ausstrahlung verwendet wird. Wenn dies aktiviert ist, kann die Datei nicht mehr gelöscht oder überarbeitet werden.") binary_contract = fields.Many2one('dss.contracts', string="Vertrag", help = "Der Vertrag, zu dem diese Datei gehört. Dies kann verwendet werden, um Dateien zu organisieren und zu verwalten, die mit bestimmten Verträgen verbunden sind.") + binary_project = fields.Many2one('dss.projects', string="Projekt", help = "Das Projekt, zu dem diese Datei gehört. Dies kann verwendet werden, um Dateien zu organisieren und zu verwalten, die mit bestimmten Projekten verbunden sind.") @@ -122,64 +123,66 @@ class dssbinaries(models.Model): @api.onchange('binary_binary') def _onchange_binary_binary(self): - """Update binary size and type when binary content is changed.""" - _logger.info("New Binary B_"+str(self.id)) - existing_binary = False - if not self._origin.binary_binary: + if self.binary_contract and 1 == 2: + """Update binary size and type when binary content is changed.""" + _logger.info("New Binary B_"+str(self.id)) existing_binary = False - else: - existing_binary = True + if not self._origin.binary_binary: + existing_binary = False + else: + existing_binary = True - if not self.binary_contract.cloudlink: - raise ValidationError(_("Der Vertrag hat keinen Cloudlink. Bitte überprüfen Sie den Vertrag.")) - cloudpath = str(self.binary_contract.cloudlink) - _logger.info("New Binary checking Cloudlink B_"+str(self.id)+" - "+str(cloudpath)) - cloudpath = cloudpath + '/' + str(self.binary_mediatype.cloudlink) - client = Client("https://cloud.logumedia.de/remote.php/dav/files/OdooDav/", auth=("odooClient@logumedia.de", "lm2020#OdooDav")) - _logger.info("New Binary checking Cloudlink for cont : "+str(cloudpath)) - cloudexists = False - if client.exists(cloudpath): - # Convert self.binary_binary to bytes-like object - if isinstance(self.binary_binary, str): - filedata = base64.b64decode(self.binary_binary.split("base64,")[-1]) + if not self.binary_contract.cloudlink: + raise ValidationError(_("Der Vertrag hat keinen Cloudlink. Bitte überprüfen Sie den Vertrag.")) + cloudpath = str(self.binary_contract.cloudlink) + _logger.info("New Binary checking Cloudlink B_"+str(self.id)+" - "+str(cloudpath)) + cloudpath = cloudpath + '/' + str(self.binary_mediatype.cloudlink) + client = Client("https://cloud.logumedia.de/remote.php/dav/files/OdooDav/", auth=("odooClient@logumedia.de", "lm2020#OdooDav")) + _logger.info("New Binary checking Cloudlink for cont : "+str(cloudpath)) + cloudexists = False + if client.exists(cloudpath): + # Convert self.binary_binary to bytes-like object + if isinstance(self.binary_binary, str): + filedata = base64.b64decode(self.binary_binary.split("base64,")[-1]) + else: + filedata = base64.b64decode(self.binary_binary) + filedataStr = str(filedata) + _logger.info("New Binary Cloudlink exists - Saving File - B_"+str(self.id)+" - "+str(cloudpath)+" - " + str(filedata)+' - ' + filedataStr[0:8]) + try: + decoded_data = filedata + except base64.binascii.Error as e: + if 'Incorrect padding' in str(e): + filedataStr += b'=' * (4 - len(filedataStr) % 4) + decoded_data = base64.b64decode(filedataStr) + if filedataStr[0:10] == "b'\x89PNG": + extension = 'png' + else: + extension = 'jpg' + _logger.info("New Binary Cloudlink exists - Saving File - B_"+str(self.id)+" - "+str(cloudpath)+" - " + str(base64.b64encode(decoded_data))) + ##infile = open('/tmp/'+filename, "w+b") + #infile = tempfile.NamedTemporaryFile(delete=False) + ##infile.write(filedata) + ##client.upload_fileobj(infile, f"{cloudpath}/{filename}") + ##infile.close() + ##infile.delete() # Delete the temporary file after upload + cloudexists = True else: - filedata = base64.b64decode(self.binary_binary) - filedataStr = str(filedata) - _logger.info("New Binary Cloudlink exists - Saving File - B_"+str(self.id)+" - "+str(cloudpath)+" - " + str(filedata)+' - ' + filedataStr[0:8]) - try: - decoded_data = filedata - except base64.binascii.Error as e: - if 'Incorrect padding' in str(e): - filedataStr += b'=' * (4 - len(filedataStr) % 4) - decoded_data = base64.b64decode(filedataStr) - if filedataStr[0:10] == "b'\x89PNG": - extension = 'png' - else: - extension = 'jpg' - _logger.info("New Binary Cloudlink exists - Saving File - B_"+str(self.id)+" - "+str(cloudpath)+" - " + str(base64.b64encode(decoded_data))) - ##infile = open('/tmp/'+filename, "w+b") - #infile = tempfile.NamedTemporaryFile(delete=False) - ##infile.write(filedata) - ##client.upload_fileobj(infile, f"{cloudpath}/{filename}") - ##infile.close() - ##infile.delete() # Delete the temporary file after upload - cloudexists = True - else: - _logger.info("New Binary Cloudlink does not exists B_"+str(self.id)+" - "+str(cloudpath)) - raise ValidationError(_("Der Cloudlink im Vertrag ist nicht vorhanden. Bitte überprüfen Sie den Link ggf. anlegen.")) + _logger.info("New Binary Cloudlink does not exists B_"+str(self.id)+" - "+str(cloudpath)) + raise ValidationError(_("Der Cloudlink im Vertrag ist nicht vorhanden. Bitte überprüfen Sie den Link ggf. anlegen.")) - if cloudexists: - if self.binary_binary: - # Calculate the size of the binary content - self.binary_size = len(filedata) - # Determine the file type based on the binary content - self.binary_cloud_link = f"{cloudpath}/{self.binary_filename}" - self.binary_issaved = True - else: - self.binary_size = 0 - self.binary_type = '' - self.binary_cloud_link = '' - self.binary_issaved = False + if cloudexists: + if self.binary_binary: + # Calculate the size of the binary content + self.binary_size = len(filedata) + # Determine the file type based on the binary content + self.binary_cloud_link = f"{cloudpath}/{self.binary_filename}" + self.binary_issaved = True + else: + self.binary_size = 0 + self.binary_type = '' + self.binary_cloud_link = '' + self.binary_issaved = False + def dload(self): diff --git a/models/dss_company_type.py b/models/dss_company_type.py new file mode 100755 index 0000000..2ba596f --- /dev/null +++ b/models/dss_company_type.py @@ -0,0 +1,74 @@ +import ast +import datetime +import json +import re +import uuid +import logging +import base64 +import subprocess +import tempfile +import easywebdav +import os +import os.path +import requests +import hashlib +from PIL import Image,ImageDraw,ImageFont + +from odoo import api, fields, models, _ +from odoo import tools +from odoo.exceptions import ValidationError +from datetime import date +from datetime import datetime +from dateutil.relativedelta import relativedelta +from pyffmpeg import FFmpeg +from tuya_iot import TuyaOpenAPI, TUYA_LOGGER +from tuya_connector import TuyaOpenAPI, TUYA_LOGGER +from webdav4.client import Client +from webdav4.fsspec import WebdavFileSystem +import sys + +TUYA_LOGGER.setLevel(logging.DEBUG) +_logger = logging.getLogger(__name__) + + +class dsscompanytype(models.Model): + + @api.model + def create(self,vals): + result = super().create(vals) + return result + + _name = "dss.company.type" + _description = "DigitalSignage Firmentypen" +# _inherit = ['mail.thread','mail.activity.mixin'] + _rec_name = "Firmetyp_name" +# _inherit = ['mail.thread', 'mail.activity.mixin'] + + uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') + date_create = fields.Date('Erstellungsdatum',default=lambda self: self._default_create_date()) + date_lastedit = fields.Date('Änderungsdatum') + user_create = fields.Char('Erstellungsuser',default=lambda self: self._default_create_user()) + user_lastedit = fields.Char('Änderungsuser') + Firmetyp_name = fields.Char(string="Firmetyp Name", required=True, help = "Der Name des Firmetyps, die Sie hochladen möchten. Dieser Name wird in der Benutzeroberfläche angezeigt.") + firmentyp_needs_suffix = fields.Boolean(string="Benötigt Suffix", help="Gibt an, ob der Firmentyp ein Suffix benötigt") + firmentyp_suf = fields.Char(string="Firmetyp Suffix", help="Suffix für den Firmentyp im Namen") + firmentyp_turn_data = fields.Boolean(string="Turn Data", help="Gibt an, ob der Firmenname und Name getauscht werden müssen") + + @api.model + def _default_uuid(self): + return str(uuid.uuid4()) + + @api.model + def _default_create_date(self): + return datetime.now().strftime('%Y-%m-%d %H:%M:%S') + + @api.model + def _default_create_user(self): + return self.env.user.name if self.env.user else 'System' + + @api.model + def _default_binary_id(self): + # Generate a unique binary ID based on the current timestamp and a random UUID + return f"Datei_{str(uuid.uuid4())[:8]}" + + diff --git a/models/dss_contract.py b/models/dss_contract.py index 48ad32c..1db2dff 100755 --- a/models/dss_contract.py +++ b/models/dss_contract.py @@ -16,6 +16,7 @@ import tempfile import easywebdav import os import os.path +import kontocheck from PIL import Image,ImageDraw,ImageFont @@ -33,6 +34,7 @@ from tuya_iot import TuyaOpenAPI, TUYA_LOGGER from tuya_connector import TuyaOpenAPI, TUYA_LOGGER from webdav4.client import Client from webdav4.fsspec import WebdavFileSystem +#from dss_trigger import trigger import sys TUYA_LOGGER.setLevel(logging.DEBUG) @@ -85,7 +87,7 @@ class dsscontracts(models.Model): _rec_name = "contract_auto_name" _inherit = ['mail.thread','dss.activity.mixin','dss.triggermodel'] uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') - contract_creator = fields.Many2one('res.users', string='Vertrag erstellt von', default=lambda self: self.env.user, readonly=True) + contract_creator = fields.Many2one('res.users', string='Vertrag erstellt von', default=lambda self: self.env.user) contract_create_date = fields.Datetime('Vertrag erstellt am', default=lambda self: fields.Datetime.now(), readonly=True) cruuid = fields.Char(related='uuid') contract_id = fields.Char("Kundennummer",store=True,tracking=True) @@ -94,7 +96,8 @@ class dsscontracts(models.Model): contract_state_name = fields.Char(related='contract_state.statusname',string='Vertragsstatus - Text',store=True) contract_state_color = fields.Char(related='contract_state.color',string='Vertragsstatus - Farbe',store=True) contract_state_order = fields.Integer(related='contract_state.order',string='Vertragsstatus - Reihenfolge',store=True) - contract_state_minimal_kanban = fields.Boolean(related='contract_state.kanban_display_minimal',string='Kanban mininmal',store=True) + contract_state_minimal_kanban = fields.Boolean(related='contract_state.kanban_display_minimal',string='Kanban minimieren',store=True) + contract_state_kanban_collapsed = fields.Selection(related='contract_state.kanban_collapsed_choice', string='Kanban eingeklappt', store=True) contract_auto_id = fields.Char("Kundennummer",tracking=True,help="Wird berechnet aus Projektnummer + Kunden ID") contract_auto_name = fields.Char('Vertragskennug',tracking=True,help="Wird berechnet aus Kundennummer + Vertragskennung") @@ -109,6 +112,9 @@ class dsscontracts(models.Model): contract_receipt_done_date = fields.Date('Rechnungsdatum',tracking=True) contract_receipt_done_until_date = fields.Date('Zahlungsziel', tracking=True) + client_is_export_finance = fields.Boolean('An Buchhaltung exportiert ?', tracking=True) + client_is_export_finance_date = fields.Date('An Buchhaltung exportiert am', tracking=True) + client_is_inkaso = fields.Boolean('Ist Inkasso eröffnet ?', tracking=True) client_inkaso_datum = fields.Datetime('Inkasso eröffnet am ', tracking=True) client_inkaso_info = fields.Char('Inkasso Bemerkungen', tracking=True) @@ -144,7 +150,9 @@ class dsscontracts(models.Model): project_grundsystem_typ_cloud_contract_template = fields.Char(related='project.grundsystem_default_cloud_structure_contract', tracking=True) project_grafiker = fields.Many2one(related="project.project_grafiker",tracking=True) project_system_uuid = fields.Char(related='project.grundsystemnameuuid', tracking=True) - + project_techniker = fields.Many2one(related='project.project_techniker', string='Aufbau') + techniker_computed = fields.Many2one('res.partner', compute='_compute_techniker_computed', string='Techniker tatsächlich') + run_trigger = fields.Boolean(tracking=True) run_uni_trigger = fields.Boolean(tracking=True) run_uni_sub_trigger = fields.Boolean(tracking=True) @@ -168,10 +176,12 @@ class dsscontracts(models.Model): contact_name = fields.Char(related="client.name") contact_dsspartner_vorname = fields.Char(related="client.dsspartner_vorname") contact_dsspartner_name = fields.Char(related="client.dsspartner_name") + contact_company_type = fields.Many2one(related="client.dsspartner_Company_type") parent_id = fields.Many2one('dss.contracts', string='Parent Task', index=True,tracking=True) client_short_company = fields.Char('Firmenname Kunde',tracking=True) + client_short_company_type = fields.Many2one('dss.company.type',string='Firmentyp Kunde',tracking=True) client_short_vorname = fields.Char('Vorname Kunde',tracking=True) client_short_name = fields.Char('Name Kunde',tracking=True) client_short_strasse = fields.Char('Strasse Kunde',tracking=True) @@ -188,6 +198,9 @@ class dsscontracts(models.Model): client_short_leitwegid = fields.Char('Leitwegid Kunde',tracking=True) client_short_BIC = fields.Char('BIC Kunde',tracking=True) client_short_IBAN = fields.Char('IBAN Kunde',tracking=True) + client_short_BANK_computed = fields.Char(string='Bank Kunde',compute='_compute_cutshort_Bank') + client_short_KONTO_computed = fields.Char(string='Konto Kunde',compute='_compute_cutshort_Konto') + client_short_BLZ_computed = fields.Char(string='BLZ Kunde',compute='_compute_cutshort_BLZ') client_other_projects = fields.Many2many('dss.projects',string='Weitere Projekte',tracking=True) @@ -220,12 +233,17 @@ class dsscontracts(models.Model): contract_date = fields.Date('Vertragsdatum',tracking=True) start_date = fields.Date('Start/Auslief.datum',tracking=True,help="Datum des geplanten Startes der 1. Kampagne. Also die Uraustrahlung!") + calc_end_date = fields.Date('Enddatum berechnet',tracking=True,help="Berechnetes Enddatum der Kampagne basierend auf Startdatum und Laufzeit (Ändert sich bei Verlängerungen).") contract_cancel_mon = fields.Integer('Kündigungsfrist Monaten',tracking=True) contract_cancel_date = fields.Date('Kündigungsfrist Errechnet', tracking=True) contract_iscanceled = fields.Boolean('Vertrag gekündigt',tracking=True) contract_iscanceled_date = fields.Date('Vertrag gekündigt am',tracking=True) + contract_iscanceled_logumedia = fields.Boolean('Vertrag gekündigt durch Logumedia',tracking=True) + contract_iscanceled_logumedia_date = fields.Date('Vertrag von Logumedia gekündigt am ',tracking=True) + contract_iscanceled_logumedia_reason = fields.Char('Vertrag von Logumedia gekündigt Grund',tracking=True) contract_auto_extend = fields.Boolean('autom. V.Verlängerung',tracking=True) contract_auto_extend_time = fields.Char('Verl. Monate',tracking=True) + contract_auto_extend_count = fields.Integer('Anzahl Vertragsverlängerungen', tracking=True, default=0) scan_vertrag = fields.Binary('Datei') scan_vertrag_filename = fields.Char("Dateiname") # Hilft, den Dateinamen zu speichern @@ -279,6 +297,7 @@ class dsscontracts(models.Model): vnnox_zugang_username = fields.Char('Vnnox Username',tracking=True) vnnox_zugang_password = fields.Char('Vnnox Passwort',tracking=True) vnnox_zugang_gesendet = fields.Boolean('Vnnox Zugang gesendet?',tracking=True) + vnnox_playlist_checked = fields.Boolean('Vnnox Liste geprüft ?',tracking=True) vnnox_playlist_checked_empty = fields.Boolean('Vnnox Liste war leer ?',tracking=True) vnnox_playlist_checked_date = fields.Date('Vnnox Liste geprüft am ',tracking=True) @@ -291,6 +310,7 @@ class dsscontracts(models.Model): lmw_zugang_erstellt = fields.Boolean('LMW Zugang ?',tracking=True) lmw_zugang_username = fields.Char('LMW Username',tracking=True) lmw_zugang_password = fields.Char('LMW Passwort',tracking=True) + lmw_zugang_gesendet = fields.Boolean('LMW Zugang gesendet?',tracking=True) wflow_korrekturabzug = fields.Boolean('Korekturabzug gesendet ?',tracking=True) @@ -342,9 +362,9 @@ class dsscontracts(models.Model): cloudlink = fields.Char('Cloud Verzeichnis',help='Verzeichnis für den Kunde innerhalb des Projekt Ordners') web_contract = fields.Many2one('dss.web_contracts' , string='Web_Vertrag', store=True,tracking=True) web_contract_input_notfinished = fields.Boolean('Web Vertrag Eingabe nicht abgeschlossen',tracking=True) - web_contract_input_finished = fields.Boolean('Web Vertrag Eingabe abgeschlossen',tracking=True) + web_contract_input_finished = fields.Boolean('Web Vertrag Eingabe war abgeschlossen',tracking=True) web_contract_paysum_gfx = fields.Float('Web Vertrag Zahlungssumme Grafik',tracking=True) - web_contract_paysum_lz = fields.Float('Web Vertrag Zahlungssumme Laufzeit',tracking=True) + web_contract_paysum_lz = fields.Float('Web Vertrag Zahlungssumme Laufzeit',tracking=True) web_contract_paysum_all = fields.Float('Web Vertrag Zahlungssumme Gesamt',tracking=True) web_contract_sign_ort = fields.Char('Web Vertrag Ort',tracking=True) web_contract_sign_datum = fields.Char('Web Vertrag Datum',tracking=True) @@ -355,15 +375,115 @@ class dsscontracts(models.Model): web_contract_sonder_0 = fields.Char('Web Vertrag Sonderfeld 01',tracking=True) web_contract_sonder_1 = fields.Char('Web Vertrag Sonderfeld 02',tracking=True) web_contract_sonder_2 = fields.Char('Web Vertrag Sonderfeld 03',tracking=True) + web_contract_satzmail = fields.Boolean('Web Vertrag Satzmaterial als Mail',tracking=True) + web_contract_satzgiven = fields.Boolean('Web Vertrag Satzmaterial gegeben',tracking=True) + web_contract_rgmail = fields.Boolean('Web Vertrag Rechnung als Mail',tracking=True) + web_contract_kamail = fields.Boolean('Web Vertrag Korrekturabzug Zugang',tracking=True) + web_constract_zahlstonst = fields.Char('Web Vertrag Zahlungsweise',tracking=True) + web_contract_rejected = fields.Boolean('Eingabe - Web Vertrag abgelehnt',tracking=True) + web_contract_reject_reason = fields.Char('Eingabe - Web Vertrag Ablehnungsgrund',tracking=True) + web_bande_spieltage = fields.Char('Web Vertrag Bande - gebuchte Spieltage',tracking=True) + web_contract_start_planed = fields.Char("TV Kampagne Start",tracking=True) + web_contract_remove_planed = fields.Char("TV Kampagne Ende",tracking=True) + tv_reach_PLZ = fields.Char(string='Reichweite PLZ',tracking=True) ads_radius_PLZ = fields.Integer('Umkreis PLZ in Km',tracking=True) ads_count_perYear = fields.Selection([('30000','30.000'),('60000','60.000'),('120000','120.000'),('1000000','1.000.000')],'Einblendungen alt',tracking=True) ads_count_perYear2 = fields.Integer('Einblendungen',tracking=True) ads_topics = fields.Many2many('dss.contracts_ads_topics', string='Themenliste', tracking=True) ads_topics_text = fields.Char('Themenliste gesamt',compute='_compute_themenliste') - + userdef_vars = fields.Many2many('dss.contracts_uservars', string='Vertrags Uservariablen', tracking=True) + contract_finish_img_cloud = fields.Char('Überg. Bildlink',tracking=True) + + @api.depends('techniker','project_techniker') + @api.onchange('techniker') + @api.onchange('project_techniker') + def _compute_techniker_computed(self): + for record in self: + if record.techniker: + record.techniker_computed = record.techniker + elif record.project_techniker: + record.techniker_computed = record.project_techniker + else: + record.techniker_computed = False + + @api.depends('client_short_IBAN') + @api.onchange('client_short_IBAN') + @api.onchange('client_short_BIC') + def _compute_cutshort_Bank(self): + # BIC für Deutsche Bank + kontocheck.lut_load() + for record in self: + bankname ='' + if record.client_short_BIC: + try: + bankname = kontocheck.scl_get_bankname(record.client_short_BIC) + except ValueError: + bankname = '' + else : + if record.client_short_BLZ_computed: + try: + bankname = kontocheck.get_bankname(record.client_short_BLZ_computed) + except ValueError: + bankname = '' + + record.client_short_BANK_computed = bankname + + + def get_account_from_iban(iban): + # Entfernen von Leerzeichen und Großbuchstaben + clean_iban = "".join(iban.split()).upper() + + # Überprüfen, ob es eine deutsche IBAN ist + if len(clean_iban) == 22 and clean_iban.startswith("DE"): + # Die letzten 10 Stellen sind die Kontonummer + account_number = clean_iban[-10:] + return account_number + else: + return "Ungültige deutsche IBAN" + + def get_blz_from_iban(iban): + # Entfernen von Leerzeichen und Großbuchstaben + clean_iban = "".join(iban.split()).upper() + + # Überprüfen, ob es eine deutsche IBAN ist + if len(clean_iban) == 22 and clean_iban.startswith("DE"): + # Die letzten 10 Stellen sind die Kontonummer + blz_number = clean_iban[4:12] + return blz_number + else: + return "Ungültige deutsche IBAN" + + @api.depends('client_short_IBAN') + @api.onchange('client_short_IBAN') + def _compute_cutshort_Konto(self): + kontocheck.lut_load() + for record in self: + Kontonummer = '' + if record.client_short_IBAN: + try: + Kontonummer = dsscontracts.get_account_from_iban(record.client_short_IBAN) + except ValueError: + Kontonummer = '' + + record.client_short_KONTO_computed = Kontonummer + + @api.depends('client_short_IBAN') + @api.onchange('client_short_IBAN') + def _compute_cutshort_BLZ(self): + kontocheck.lut_load() + for record in self: + Bankleitzahl = '' + if record.client_short_IBAN: + try: + Bankleitzahl = dsscontracts.get_blz_from_iban(record.client_short_IBAN) + except ValueError: + Bankleitzahl = '' + record.client_short_BLZ_computed = Bankleitzahl + + @api.depends('work_marker_1') @api.onchange('work_marker_1') def _get_marker_1_color_false(self): @@ -706,7 +826,7 @@ class dsscontracts(models.Model): myplz=self.client_short_plz result = self.env['res.partner'].create({'name':fullname, 'company_name': self.client_short_company, - 'dsspartner_vorname':self.client_short_vorname, + 'dsspartner_vorname':self.client_short_vorname, 'dsspartner_name':self.client_short_name, 'dsspartner':True, 'dsspartner_werbung':True, @@ -719,6 +839,7 @@ class dsscontracts(models.Model): 'rgemail':self.client_short_rgemail, 'is_company':False}) result.country_id = self.client_short_land + result.dsspartner_Company_type = self.client_short_company_type.id _logger.info('Creating Contact ' + str(result) + ' ' + str(fullname)) self.client = result # action = self.env['ir.actions.act_window'].with_context({'default_contractid': self.id})._for_xml_id('DigitalSignage.act_dss_project_view_contract') @@ -914,6 +1035,9 @@ class dsscontracts(models.Model): defadstateid = defadstate.id kampagne = self.env['dss.ads'].create({'contract': self.id, 'project': self.project.id, 'adname': 'WK '+self.contract_auto_name,'adtype':'MAIN','ad_state':defadstateid}) self.ads_last_ad = kampagne.id + if self.web_contract_start_planed : + kampagne.date_start_planed = self.web_contract_start_planed + kampagne.date_remove_planed = self.web_contract_remove_planed _logger.info('Click auf Werbekampagne : C_'+str(self.id)+' Kampagne erstellt A_'+str(kampagne.id)) kampagne.parent_ad = kampagne.id mediaids = [] @@ -1018,6 +1142,7 @@ class dsscontracts(models.Model): else: _logger.info('Prüfe Medien : C_'+str(self.id)+'A_' +str(kamp.id)+' Keine Kampagne gefunden !') # _logger.info('Click auf Werbekampagne : '+str(self.id)+' 4 '+str(kampagne.id)) + return { 'type': 'ir.actions.act_window', 'view_type':'form', @@ -1054,6 +1179,91 @@ class dsscontracts(models.Model): if record.contract_auto_id == "": record.contract_auto_id = cidstr + def _compute_contract_end_for_calc_date(self): + self.ensure_one() + + start_date = self.start_date or self.contract_date + if not start_date: + return False + + if self.contract_iscanceled and self.ads_last_todo_state_until: + return self.ads_last_todo_state_until + + runtime_months = int(self.runtime_m or 0) + int(self.runtime_bonus_m or 0) + if self.contract_auto_extend: + try: + runtime_months += int((self.contract_auto_extend_time or '0').strip() or 0) + except Exception: + pass + + return start_date + relativedelta(months=runtime_months) + + def action_update_calc_contract_end_selected(self): + updated_count = 0 + for record in self: + new_end_date = record._compute_contract_end_for_calc_date() + if record.calc_end_date != new_end_date: + record.calc_end_date = new_end_date + updated_count += 1 + + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': _('Vertragsende aktualisiert'), + 'message': _('%s Vertrag(e) wurden aktualisiert.') % updated_count, + 'type': 'success', + 'sticky': False, + } + } + + def action_remove_selected_fields(self): + selected_fields = self.mapped('werbe_feld_selected') + contract_ids = self.ids + + self.write({'werbe_feld_selected': [(5, 0, 0)]}) + + for ad_field in selected_fields: + remove_cmds = [(3, contract_id) for contract_id in contract_ids if contract_id in ad_field.contract.ids] + if remove_cmds: + ad_field.write({'contract': remove_cmds}) + if ad_field.contract_save and ad_field.contract_save.id in contract_ids: + ad_field.contract_save = ad_field.contract[:1].id or False + + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': _('Felder entfernt'), + 'message': _('%s Vertrag(e) wurden von ihren Werbefeldern getrennt.') % len(self), + 'type': 'success', + 'sticky': False, + } + } + + def action_open_move_to_fallback_field_wizard(self): + if not self: + raise ValidationError(_("Bitte mindestens einen Vertrag auswaehlen.")) + + projects = self.mapped('project') + if len(projects) != 1: + raise ValidationError(_("Bitte nur Vertraege aus einem Projekt gleichzeitig auswaehlen.")) + + view = self.env.ref('DigitalSignage.dss_contracts_move_field_wizard_view_form') + return { + 'type': 'ir.actions.act_window', + 'name': _('Felder auf ausweichfeld umsetzen'), + 'res_model': 'dss.contracts.move.field.wizard', + 'view_mode': 'form', + 'view_id': view.id, + 'views': [(view.id, 'form')], + 'target': 'new', + 'context': { + 'active_ids': self.ids, + 'default_project_id': projects.id, + }, + } + # def setRealGrafiker(self): #for record in self: #if self.grafiker: @@ -1165,6 +1375,212 @@ class dsscontracts(models.Model): ) if action: return action + + def export_kd_csv_all_not_work(self): + _logger.info('Export Kunden CSV : C_'+str(self.id)) + action = (self.env["confirmation.wizard"].confirm_message(_("Soll der Kunde einzeln übertragen werden ?"),title="Bitte bestätigen",method="export_kd_csv",records=self,callback_params={"template":self.id})) + if action: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - einzeln bestätigt ') + csv = 'Kundenname;Firma;Strasse;Ort;PLZ;Telefon;Mobil;Email;RG-Email;Leitwegid;Company Type\n' + #csv += str(self.client_short_vorname) + ' ' + str(self.client_short_name) + ';' + str(self.client_short_company) + ';' + str(self.client_short_strasse) + ';' + str(self.client_short_ort) + ';' + str(self.client_short_plz) + ';' + str(self.client_short_telefon) + ';' + str(self.client_short_mobil) + ';' + str(self.client_short_email) + ';' + str(self.client_short_rgemail) + ';' + str(self.client_short_leitwegid) + ';' + str(self.client_short_company_type.name if self.client_short_company_type else '')+'\n' + else: + action = (self.env["confirmation.wizard"].confirm_message(_("Soll der Kunde zur Liste der Übertragungen hinzugefügt werden ?"),title="Bitte bestätigen",method="export_kd_csv",records=self,callback_params={"template":self.id})) + if action: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Hinzufügen bestätigt ') + action = (self.env["confirmation.wizard"].confirm_message(_("Liste jetzt als CSV erstellen ?"),title="Bitte bestätigen",method="export_kd_csv",records=self,callback_params={"template":self.id})) + if action: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - CSV bestätigt ') + + @staticmethod + def _split_text_for_csv(value, first_max=40, second_max=40): + text = str(value or '').strip() + if len(text) <= first_max: + return text, '' + + boundary_cut = -1 + remainder_start = first_max + for match in re.finditer(r'[\s\W_]+', text[:first_max + 1]): + if 0 < match.start() <= first_max: + boundary_cut = match.start() + remainder_start = match.end() + + # If no useful separator exists near the limit, fallback to strict split. + if boundary_cut < int(first_max * 0.6): + first_line = text[:first_max] + second_line = text[first_max:] + else: + first_line = text[:boundary_cut] + second_line = text[remainder_start:] + + return first_line, second_line.lstrip()[:second_max] + + @api.model + def checkattachents(self,project,contract): + _logger.info('Check Attachments : C_'+str(contract)+' - P_'+str(project)) + html = "" + if project.contract_finish_img_cloud: + _logger.info('Check Attachments : C_'+str(contract)+' - P_'+str(project)+' - Projekt hat Cloudbilder :'+str(project.contract_finish_img_cloud)) + return True + else: + if contract.contract_finish_img_cloud: + _logger.info('Check Attachments : C_'+str(contract)+' - P_'+str(project)+' - Vertrag hat Cloudbilder :'+str(contract.contract_finish_img_cloud)) + return True + else: + return False + + @staticmethod + def _encode_csv_attachment(csv_text): + # UTF-8 with BOM keeps umlauts/special chars readable in Excel and downstream tools. + normalized = str(csv_text or '').replace('\r\n', '\n').replace('\r', '\n') + return base64.b64encode(normalized.encode('utf-8-sig')) + + + def _export_kd_csv_single(self,record_id): + dataset=self.env['dss.contracts'].browse(record_id) + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Einzelner Export ') + company_name_line_1, company_name_line_2 = self._split_text_for_csv(dataset.client_short_company) + csv = '"DEBITORENKONTO";"Kunde_seit";"ZAHLUNGSART";"SKONTOTYP";"ANREDE";"akad.Grad";"TITEL1";"AP-VORNAME";"AP-NAME";"NAME";"Ergaenzung";"LAND";"STRASSE";"PLZ";"ORT";"TELEFON1";"FAX1";"Mobil1";"INTERNET";"EMAIL1";"TELEFON1_AP";"KUNDENNR";"BANKNAME_1";"BANKKONTO_1";"BLZ_1";"IBAN_1";"BIC_1";"FIBU-KONTENBEZEICHNUNG";"KREDITLIMIT";"HAUSBANK";"FAELLIG_TG"'+'\n' + csv += ('"'+str(dataset.contract_auto_id) + + '";"' + str(dataset.contract_date.strftime('%d.%m.%Y')) + + '";"' + ('L' if dataset.web_contract_is_lastschrift else '') + + '";"' + str("4") + + '";"' + str("") + + '";"' + str("") + + '";"' + str("") + + '";"' + str(dataset.client_short_vorname) + + '";"' + str(dataset.client_short_name) + + '";"' + str(company_name_line_1) + + '";"' + str(company_name_line_2) + + '";"' + str(dataset.client_short_land.name if dataset.client_short_land else 'DEUTSCHLAND') + + '";"' + str(dataset.client_short_strasse) + + '";"' + str(dataset.client_short_plz) + + '";"' + str(dataset.client_short_ort) + + '";"' + str(dataset.client_short_telefon) + + '";"' + str(dataset.runtime_m) + + '";"' + str(dataset.client_short_mobil) + + '";"' + str(dataset.cutshortwerbe_feld_selected) + + '";"' + str(dataset.client_short_email) + + '";"' + str("") + + '";"' + str(dataset.contract_auto_id) + + '";"' + str(dataset.client_short_BANK_computed) + + '";"' + str(dataset.client_short_KONTO_computed) + + '";"' + str(dataset.client_short_BLZ_computed) + + '";"' + str(dataset.client_short_IBAN).upper() + + '";"' + str(dataset.client_short_BIC).upper() + + '";"' + str(re.sub(r'[^a-zA-Z0-9]', '', str(dataset.client_short_company.upper().strip()))[:20]) + + '";"' + str(dataset.web_contract_paysum_all) + + '";"' + str('2' if dataset.web_contract_is_lastschrift else '1') + + '"8"'+ + '"\n') + _logger.info('Export Kunden CSV : C_'+str(dataset.id)+' - CSV Inhalt : \n'+str(csv)) + #csv = csv.replace('"False"', '""') + filename = 'KDEXPORT_' + str(dataset.contract_auto_id) + '_' + str(uuid.uuid4())[:8] + '.csv' + attachment_id = self.env['ir.attachment'].create({ 'name': filename, 'datas': self._encode_csv_attachment(csv),'res_model': 'dss.contracts', 'res_id': dataset.id}) + base_url = self.env['ir.config_parameter'].get_param('web.base.url') + download_url = '/web/content/' + str(attachment_id.id) + '?download=true' + self.client_is_export_finance_date = datetime.now() + self.client_is_export_finance = True + # + # this does the download + return { + "type": "ir.actions.act_url", + "url": str(base_url) + str(download_url), + "target": "new" + } + + def export_kd_csv_single(self,data_id=None): + if not self.client_is_export_finance or data_id: + self._export_kd_csv_single(self.id) + else: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Bereits exportiert am '+str(self.client_is_export_finance_date)) + action = (self.env["confirmation.wizard"].confirm_message(_("Der Kunde wurde bereits am "+str(self.client_is_export_finance_date)+" exportiert ! Soll der Export erneut durchgeführt werden ?"),title="Bitte bestätigen",method="export_kd_csv_single",records=self,callback_params={"data_id":self.id})) + if action: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Einzelner Export erneut bestätigt ') + self.client_is_export_finance = False + return self.export_kd_csv_single() + else: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Einzelner Export erneut abgelehnt ') + + def _export_kd_csv_add(self,record_ids): + dataset=self.env['dss.contracts'].browse(record_ids) + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Hinzufügen ') + existing_user_var = self.env['dss.contracts_uservars'].search([('contract', '=', self.id),('var_ID','=','BHEXMARK_1')], limit=1) + if not existing_user_var: + uvar = self.env['dss.contracts_uservars'].create({'contract': self.id, 'var_ID': 'BHEXMARK_1', 'var_name':'Buchhaltung Export vorgemerkt !', 'var_value': str(datetime.now())}) + self.userdef_vars = [(4, uvar.id)] + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Hinzufügen - Uservar erstellt ') + + def export_kd_csv_add(self,data_id=None): + if not self.client_is_export_finance or data_id: + self._export_kd_csv_add(self.id) + else: + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Bereits exportiert am '+str(self.client_is_export_finance_date)) + action = (self.env["confirmation.wizard"].confirm_no_action_message(_("Der Kunde wurde bereits am "+str(self.client_is_export_finance_date)+" exportiert ! "),title="Schon exportiert !")) + return action + + def export_kd_csv_send(self): + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Senden ') + existing_user_var = self.env['dss.contracts_uservars'].search([('var_ID','=','BHEXMARK_1')]) + Text = 'Export Kunden CSV es wurden folgende Kunden gefunden und übertragen : \n' + csv = '"DEBITORENKONTO";"Kunde_seit";"ZAHLUNGSART";"SKONTOTYP";"ANREDE";"akad.Grad";"TITEL1";"AP-VORNAME";"AP-NAME";"NAME";"Ergaenzung";"LAND";"STRASSE";"PLZ";"ORT";"TELEFON1";"FAX1";"Mobil1";"INTERNET";"EMAIL1";"TELEFON1_AP";"KUNDENNR";"BANKNAME_1";"BANKKONTO_1";"BLZ_1";"IBAN_1";"BIC_1";"FIBU-KONTENBEZEICHNUNG";"HAUSBANK";"FAELLIG_TG"'+'\n' + for contract_user_var in existing_user_var: + contract=contract_user_var.contract + if contract: + dataset=contract + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Einzelner Export ') + company_name_line_1, company_name_line_2 = self._split_text_for_csv(dataset.client_short_company) + csv += ('"'+str(dataset.contract_auto_id) + #DEBITORENKONTO + '";"' + str(dataset.contract_date.strftime('%d.%m.%Y')) + #Kunde_seit + '";"' + ('L' if dataset.web_contract_is_lastschrift else '') + #ZAHLUNGSART + '";"' + str("4") + #SKONTOTYP + '";"' + str("") + #ANREDE + '";"' + str("") + #akad.Grad + '";"' + str("") + #TITEL1 + '";"' + str(dataset.client_short_vorname) + #AP-VORNAME + '";"' + str(dataset.client_short_name) + #AP-NAME + '";"' + str(company_name_line_1) + #NAME + '";"' + str(company_name_line_2) + #Ergaenzung + '";"' + str(dataset.client_short_land.name if dataset.client_short_land else 'DEUTSCHLAND') + #LAND + '";"' + str(dataset.client_short_strasse) + #STRASSE + '";"' + str(dataset.client_short_plz) + #PLZ + '";"' + str(dataset.client_short_ort) + #ORT + '";"' + str(dataset.client_short_telefon) + #TELEFON1 + '";"' + str(dataset.runtime_m) + #FAX1 + '";"' + str(dataset.client_short_mobil) + #Mobil1 + '";"' + str(dataset.cutshortwerbe_feld_selected) + #INTERNET + '";"' + str(dataset.client_short_email) + #EMAIL1 + '";"' + str(dataset.client_short_telefon) + #TELEFON1_AP + '";"' + str(dataset.contract_auto_id) + #KUNDENNR + '";"' + str(dataset.client_short_BANK_computed) + #BANKNAME_1 + '";"' + str(dataset.client_short_KONTO_computed) + #BANKKONTO_1 + '";"' + str(dataset.client_short_BLZ_computed) + #BLZ_1 + '";"' + str(dataset.client_short_IBAN).upper() + #IBAN_1 + '";"' + str(dataset.client_short_BIC).upper() + #BIC_1 + '";"' + str((dataset.client_short_vorname)+' '+str(dataset.client_short_name)+' '+str(dataset.client_short_company))[:20] + #FIBU-KONTENBEZEICHNUNG + '";"' + str(dataset.web_contract_paysum_all).replace('.', ',') + #KREDITLIMIT + '";"' + str('2') + #HAUSBANK + '";"' + str('8') + #FAELLIG_TG + '"\n') + dataset.client_is_export_finance_date = datetime.now() + dataset.client_is_export_finance = True + Text += 'Kunde : '+str(dataset.contract_auto_name)+' - '+str(dataset.client_short_company)+'\n' + #contract.userdef_vars = [(5,0,0)] + _logger.info('Export Kunden CSV : C_'+str(self.id)+' - Senden - Uservar entfernt ') + contract_user_var.var_ID = 'BHEXMARK_1_SENT' + contract_user_var.var_value = str(datetime.now()) + filename = 'KDEXPORT_' + str(datetime.now().strftime("%Y%m%d%H%M%S")) + '_' + str(uuid.uuid4())[:8] + '.csv' + attachment_id = self.env['ir.attachment'].create({ 'name': filename, 'datas': self._encode_csv_attachment(csv)}) + attachment_id.allow_shared_download=True + attachment_id.folder_id=self.env['documents.folders'].search([('name','=','Kundenanlage')],limit=1).id + csvs = self.env['dss.csvs'].create({'csv_id': filename,'csv_name': filename, 'csv_filename': filename, 'csv_attachment_id': attachment_id.id, 'csv_mailtext': Text, 'csv_description': 'Export Kunden CSV am '+str(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))}) + #trigger.SendMail(self,MailEmpfaenger,MailEmpfaengerCC,MailEmpfaengerBCC,MailTemplate,MailSender,has_attachments=False,attachmentlist=[],with_confirm=False,Dataset=None): + base_url = self.env['ir.config_parameter'].get_param('web.base.url') + download_url = '/web/content/' + str(attachment_id.id) + '?download=true' + return { + "type": "ir.actions.act_url", + "url": str(base_url) + str(download_url), + "target": "new" + } def create_cloud_structure_client(self, newClient): _logger.info("Create Cloud Structure for Client "+str(newClient.id)+" - "+str(newClient.cloudlink)) @@ -1253,6 +1669,7 @@ class dsscontracts(models.Model): self.client.email = self.client_short_email self.client.rgemail = self.client_short_rgemail self.client.leitwegid = self.client_short_leitwegid + self.client.dsspartner_Company_type = self.client_short_company_type def pyaction_dss_contract_update_short_from_partner(self): self.client_short_company=self.client.company_name @@ -1266,8 +1683,9 @@ class dsscontracts(models.Model): self.client_short_email=self.client.email self.client_short_rgemail=self.client.rgemail self.client_short_leitwegid=self.client.leitwegid + self.client_short_company_type=self.client.dsspartner_Company_type - + @api.model def buildText(self): _logger.info('Build Text for Contract : C_'+str(self.id)) @@ -1410,7 +1828,11 @@ class dsscontracts(models.Model): #raise ValidationError((all_contract_text)) return contracts - + + + def lm_contract_tool_execute(self): + return self.buildText() + def pyopen_dss_contract_add_media_form_view(self): _logger.info('Open Add Media Form') diff --git a/models/dss_contract_uservar.py b/models/dss_contract_uservar.py old mode 100644 new mode 100755 index ca4b8df..70568da --- a/models/dss_contract_uservar.py +++ b/models/dss_contract_uservar.py @@ -53,6 +53,7 @@ class dsscontractuservars(models.Model): _inherit = ['mail.thread','dss.activity.mixin'] uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') var_name = fields.Char(string="Variable Name", tracking=True) + var_ID = fields.Char(string="Variable ID", tracking=True) var_value = fields.Char(string="Variable Wert", tracking=True) var_description = fields.Text(string="Variable Beschreibung",tracking=True) contract = fields.Many2one('dss.contracts', string="Vertrag",required=True, tracking=True) diff --git a/models/dss_contracts_move_field_wizard.py b/models/dss_contracts_move_field_wizard.py new file mode 100755 index 0000000..4334d88 --- /dev/null +++ b/models/dss_contracts_move_field_wizard.py @@ -0,0 +1,76 @@ +from odoo import api, fields, models, _ +from odoo.exceptions import ValidationError + + +class DssContractsMoveFieldWizard(models.TransientModel): + _name = "dss.contracts.move.field.wizard" + _description = "Vertragsfelder auf Ausweichfeld umsetzen" + + project_id = fields.Many2one( + 'dss.projects', + string='Projekt', + required=True, + readonly=True, + ) + target_field_id = fields.Many2one( + 'dss.advertisefields', + string='Ausweichfeld', + required=True, + domain="[('project','=',project_id), '|', ('contract','=',False), ('isblocked','=',False)]", + ) + + @api.model + def default_get(self, fields_list): + values = super().default_get(fields_list) + active_ids = self.env.context.get('active_ids') or [] + contracts = self.env['dss.contracts'].browse(active_ids).exists() + if contracts: + projects = contracts.mapped('project') + if len(projects) == 1: + values.setdefault('project_id', projects.id) + return values + + def action_move_contracts_to_field(self): + self.ensure_one() + active_ids = self.env.context.get('active_ids') or [] + contracts = self.env['dss.contracts'].browse(active_ids).exists() + if not contracts: + raise ValidationError(_("Bitte mindestens einen Vertrag auswaehlen.")) + + projects = contracts.mapped('project') + if len(projects) != 1: + raise ValidationError(_("Bitte nur Vertraege aus einem Projekt gleichzeitig auswaehlen.")) + if projects.id != self.project_id.id: + raise ValidationError(_("Das gewaehlte Ausweichfeld passt nicht zum Projekt der Vertraege.")) + if self.target_field_id.project.id != self.project_id.id: + raise ValidationError(_("Das Ausweichfeld muss zum gleichen Projekt gehoeren.")) + + contract_ids = contracts.ids + old_fields = contracts.mapped('werbe_feld_selected') + + # Remove selected contracts from all old fields first, so they become available again. + for ad_field in old_fields: + remove_cmds = [(3, contract_id) for contract_id in contract_ids if contract_id in ad_field.contract.ids] + if remove_cmds: + ad_field.write({'contract': remove_cmds}) + if ad_field.contract_save and ad_field.contract_save.id in contract_ids: + ad_field.contract_save = ad_field.contract[:1].id or False + + add_cmds = [(4, contract_id) for contract_id in contract_ids if contract_id not in self.target_field_id.contract.ids] + if add_cmds: + self.target_field_id.write({'contract': add_cmds}) + if not self.target_field_id.contract_save and contract_ids: + self.target_field_id.contract_save = contract_ids[0] + + contracts.write({'werbe_feld_selected': [(6, 0, [self.target_field_id.id])]}) + + return { + 'type': 'ir.actions.client', + 'tag': 'display_notification', + 'params': { + 'title': _('Ausweichfeld gesetzt'), + 'message': _('%s Vertrag(e) wurden auf das Feld %s umgesetzt.') % (len(contracts), self.target_field_id.feldname), + 'type': 'success', + 'sticky': False, + } + } diff --git a/models/dss_crm_extended.py b/models/dss_crm_extended.py old mode 100644 new mode 100755 diff --git a/models/dss_csvs.py b/models/dss_csvs.py new file mode 100755 index 0000000..2bb8e43 --- /dev/null +++ b/models/dss_csvs.py @@ -0,0 +1,326 @@ +import ast +import datetime +import json +import re +import uuid +import logging +import base64 +import subprocess +import tempfile +import easywebdav +import os +import os.path +import requests +import hashlib +from PIL import Image,ImageDraw,ImageFont + +from odoo import api, fields, models, _ +from odoo import tools +from odoo.exceptions import ValidationError +from datetime import date +from datetime import datetime +from dateutil.relativedelta import relativedelta +from pyffmpeg import FFmpeg +from tuya_iot import TuyaOpenAPI, TUYA_LOGGER +from tuya_connector import TuyaOpenAPI, TUYA_LOGGER +from webdav4.client import Client +from webdav4.fsspec import WebdavFileSystem +import sys + +TUYA_LOGGER.setLevel(logging.DEBUG) +_logger = logging.getLogger(__name__) + + +class dsscsvs(models.Model): + + @api.model + def create(self,vals): + result = super().create(vals) + return result + + _name = "dss.csvs" + _description = "DigitalSignage CSV Dateien" +# _inherit = ['mail.thread','mail.activity.mixin'] + _rec_name = "csv_id" +# _inherit = ['mail.thread', 'mail.activity.mixin'] + + uuid = fields.Char(default=lambda self: self._default_uuid(), required=True, readonly=True, copy=False, string='UUID') + date_create = fields.Date('Erstellungsdatum',default=lambda self: self._default_create_date()) + date_lastedit = fields.Date('Änderungsdatum') + user_create = fields.Char('Erstellungsuser',default=lambda self: self._default_create_user()) + user_lastedit = fields.Char('Änderungsuser') + csv_id = fields.Char(string="CSV ID", required=True, help = "Das ist eine eindeutige ID für diese Dateityp. Sie wird automatisch generiert und sollte nicht manuell geändert werden.", default=lambda self: self._default_csv_id()) + csv_name = fields.Char(string="CSV Name", required=True, help = "Der Name des Dateityp, die Sie hochladen möchten. Dieser Name wird in der Benutzeroberfläche angezeigt.") + csv_binary = fields.Binary(string="CSV Datei", help = "Die eigentliche Datei, die Sie hochladen möchten. Diese Datei wird in der Datenbank und Cloud gespeichert") + csv_filename = fields.Char(string="CSV Dateiname", help = "Der Name der hochgeladenen Datei. Dies wird automatisch aus dem Dateinamen der hochgeladenen Datei abgerufen.",compute="_compute_csv_filename", store=True) + csv_cloud_link = fields.Char(string="Cloud Link", help = "Der Link zur Datei in der Cloud, wenn die Datei in der Cloud gespeichert ist.") + csv_description = fields.Text(string="CSV Beschreibung", help = "Eine Beschreibung der hochgeladenen Datei. Dies kann Informationen über den Inhalt der Datei, den Verwendungszweck oder andere relevante Details enthalten.") + csv_attachment_id = fields.Many2one('ir.attachment', string="CSV Anhang", help = "Der Anhang, der mit dieser CSV-Datei verbunden ist. Dieser Anhang enthält die tatsächliche Datei, die in der Datenbank gespeichert ist.") + csv_mailtext = fields.Text(string="CSV Mailtext", help = "Der Text, der in der E-Mail verwendet wird, wenn diese CSV-Datei per E-Mail versendet wird.") + + + + @api.depends('binary_binary') + @api.onchange('binary_binary') + def _compute_binary_filename(self): + """Compute the binary filename based on the uploaded file.""" + _logger.info("Binary getting Filename - B_"+str(self.id)) + if len(self)>0: + for record in self: + if record.binary_binary: + # Extract the filename from the binary content + extension = 'jpg' # Default extension + if isinstance(self.binary_binary, str): + filedata = base64.b64decode(self.binary_binary.split("base64,")[-1]) + else: + filedata = base64.b64decode(self.binary_binary) + filedataStr = str(filedata) + _logger.info("Binary getting Filename - B_"+str(self.id)+" - ["+str(filedataStr[0:23])+"]") + if filedataStr[0:12] == "b'\\x89PNG\\": + extension = 'png' + elif filedataStr[0:17] == "b'\\xff\\xd8\\xff": + extension = 'jpg' + elif filedataStr[0:8] == "b'GIF89a": + extension = 'gif' + elif filedataStr[0:22] == "b'\\x49\\x49\\x2a\\x00": + extension = 'tif' + elif filedataStr[0:27] == "b'\\x25\\x50\\x44\\x46\\x2d": + extension = 'pdf' + elif filedataStr[0:23] == "b'\\x00\\x00\\x00 ftypisom": + extension = 'mp4' + elif filedataStr[0:22] == "b'\\x00\\x00\\x00\\x18ftyp": + extension = 'mp4' + elif filedataStr[0:12] == "b'\\x42\\x4d": + extension = 'bmp' + record.binary_filename = f"{record.binary_mediatype.filepartname}{record.binary_contract.contract_auto_id}.{extension}" + + @api.model + def _default_uuid(self): + return str(uuid.uuid4()) + + @api.model + def _default_create_date(self): + return datetime.now().strftime('%Y-%m-%d %H:%M:%S') + + @api.model + def _default_create_user(self): + return self.env.user.name if self.env.user else 'System' + + @api.model + def _default_binary_id(self): + # Generate a unique binary ID based on the current timestamp and a random UUID + return f"Datei_{str(uuid.uuid4())[:8]}" + + @api.onchange('binary_binary') + def _onchange_binary_binary(self): + """Update binary size and type when binary content is changed.""" + _logger.info("New Binary B_"+str(self.id)) + existing_binary = False + if not self._origin.binary_binary: + existing_binary = False + else: + existing_binary = True + + if not self.binary_contract.cloudlink: + raise ValidationError(_("Der Vertrag hat keinen Cloudlink. Bitte überprüfen Sie den Vertrag.")) + cloudpath = str(self.binary_contract.cloudlink) + _logger.info("New Binary checking Cloudlink B_"+str(self.id)+" - "+str(cloudpath)) + cloudpath = cloudpath + '/' + str(self.binary_mediatype.cloudlink) + client = Client("https://cloud.logumedia.de/remote.php/dav/files/OdooDav/", auth=("odooClient@logumedia.de", "lm2020#OdooDav")) + _logger.info("New Binary checking Cloudlink for cont : "+str(cloudpath)) + cloudexists = False + if client.exists(cloudpath): + # Convert self.binary_binary to bytes-like object + if isinstance(self.binary_binary, str): + filedata = base64.b64decode(self.binary_binary.split("base64,")[-1]) + else: + filedata = base64.b64decode(self.binary_binary) + filedataStr = str(filedata) + _logger.info("New Binary Cloudlink exists - Saving File - B_"+str(self.id)+" - "+str(cloudpath)+" - " + str(filedata)+' - ' + filedataStr[0:8]) + try: + decoded_data = filedata + except base64.binascii.Error as e: + if 'Incorrect padding' in str(e): + filedataStr += b'=' * (4 - len(filedataStr) % 4) + decoded_data = base64.b64decode(filedataStr) + if filedataStr[0:10] == "b'\x89PNG": + extension = 'png' + else: + extension = 'jpg' + _logger.info("New Binary Cloudlink exists - Saving File - B_"+str(self.id)+" - "+str(cloudpath)+" - " + str(base64.b64encode(decoded_data))) + ##infile = open('/tmp/'+filename, "w+b") + #infile = tempfile.NamedTemporaryFile(delete=False) + ##infile.write(filedata) + ##client.upload_fileobj(infile, f"{cloudpath}/{filename}") + ##infile.close() + ##infile.delete() # Delete the temporary file after upload + cloudexists = True + else: + _logger.info("New Binary Cloudlink does not exists B_"+str(self.id)+" - "+str(cloudpath)) + raise ValidationError(_("Der Cloudlink im Vertrag ist nicht vorhanden. Bitte überprüfen Sie den Link ggf. anlegen.")) + + if cloudexists: + if self.binary_binary: + # Calculate the size of the binary content + self.binary_size = len(filedata) + # Determine the file type based on the binary content + self.binary_cloud_link = f"{cloudpath}/{self.binary_filename}" + self.binary_issaved = True + else: + self.binary_size = 0 + self.binary_type = '' + self.binary_cloud_link = '' + self.binary_issaved = False + + + def dload(self): + """Download the binary file.""" + if not self.binary_binary: + raise ValidationError(_("No binary file to download.")) + + # Create a temporary file to store the downloaded content + temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=self.binary_filename) + temp_file.write(base64.b64decode(self.binary_binary)) + temp_file.close() + + # Return the file for download + return { + 'type': 'ir.actions.act_url', + 'url': f'/web/content/{self.id}/{self.binary_filename}?download=true&filename={self.binary_filename}', + 'target': 'self', + } + + def dedit(self): + """Edit the binary file.""" + return { + 'type': 'ir.actions.act_window', + 'res_model': 'dss.binaries', + 'view_mode': 'form', + 'res_id': self.id, + 'target': 'new', + } + + def resend(self): + """Resend the binary file to the contract's partner email.""" + if not self.binary_contract: + raise ValidationError(_("No contract associated with this binary file.")) + if not self.binary_contract.project.standortpartner: + raise ValidationError(_("No partner associated with the contract.")) + if not self.binary_contract.project.standortpartner.email: + raise ValidationError(_("The partner does not have an email address.")) + # Send email with the binary file as attachment + + def genstamp(self): + _logger.info('Create Stamps for Binary: B_'+str(self.id)+' '+str(id)) + # Bildparameter definieren + Medium = self.binary_mediatype + if Medium and Medium.can_gen_stamp and self.binary_contract: + _logger.info('Create Stamps for Contract : B_'+str(self.id)+' - Contract: C_'+str(self.binary_contract.id)+'- Medium : M_'+str(Medium.id)+' - '+str(Medium.medianame)) + # Bildgröße und Hintergrundfarbe festlegen + background_color = (255, 255, 255) # Weißer Hintergrund (RGB) + # Neues Bild erstellen + maxh = Medium.maxsize_h + maxw = Medium.maxsize_w + image = Image.new("RGB", (maxw, maxh), background_color) + d = ImageDraw.Draw(image) + Zeilen = Medium.maxsize_h // 6 + zposy = 2 + if self.binary_contract.client: + text = self.binary_contract.contact_company_name + _logger.info('Create Stamps for Contract : B_'+str(self.id)+' - Contract: C_'+str(self.binary_contract.id)+'- Medium : M_'+str(Medium.id)+' - Text1: '+str(text)) + if len(text) > 35: + # Trenne den Text an einem Leerzeichen nahe bei Position 40 + idx = text.rfind(' ', 0, 35) + if idx == -1: + idx = 35 + text2 = text[:idx] + bcount = len(text2) if text2 else 1 + fonts = maxw // (bcount ) *1.8 + if fonts > maxh: + fonts = maxh - 10 + if fonts <=0 : + fonts = 10 + # font = ImageFont.truetype("addons/web/static/fonts/sign/Zeyada-Regular.ttf", fonts) + font = ImageFont.truetype("addons/web/static/fonts/google/Open_Sans/Open_Sans-SemiBold.ttf", fonts) + d.text((maxw // 2, 1*Zeilen), text2, fill="black",align="center", anchor="ms", font=font) # Beispiel: Ein Rechteck + text = text[idx:] + zposy = 2 + if len(text) > 35: + # Trenne den Text an einem Leerzeichen nahe bei Position 40 + idx = text.rfind(' ', 0, 35) + if idx == -1: + idx = 35 + text2 = text[:idx] + # font = ImageFont.truetype("addons/web/static/fonts/sign/Zeyada-Regular.ttf", fonts) + font = ImageFont.truetype("addons/web/static/fonts/google/Open_Sans/Open_Sans-SemiBold.ttf", fonts) + d.text((maxw // 2, zposy*Zeilen), text2, fill="black",align="center", anchor="ms", font=font) # Beispiel: Ein Rechteck + text = text[idx:] + zposy = 3 + else: + bcount = len(text) if text else 1 + fonts = maxw // (bcount ) *1.8 + if fonts > maxh: + fonts = maxh - 10 + if fonts <=0 : + fonts = 10 + # font = ImageFont.truetype("addons/web/static/fonts/sign/Zeyada-Regular.ttf", fonts) + font = ImageFont.truetype("addons/web/static/fonts/google/Open_Sans/Open_Sans-SemiBold.ttf", fonts) + d.text((maxw // 2, zposy*Zeilen), text, fill="black",align="center", anchor="ms", font=font) # Beispiel: Ein Rechteck + text = self.binary_contract.contact_street + bcount = len(text) if text else 1 + Zeilen = maxh // 6 + fonts = maxw // (bcount ) *1.2 + if fonts > maxh: + fonts = maxh - 10 + if fonts <=0 : + fonts = 10 + # font = ImageFont.truetype("addons/web/static/fonts/sign/Zeyada-Regular.ttf", fonts) + font = ImageFont.truetype("addons/web/static/fonts/google/Open_Sans/Open_Sans-Regular.ttf", fonts) + d.text((maxw // 2, 4*Zeilen), text, fill="black",align="center", anchor="ms", font=font) # Beispiel: Ein Rechteck + text = self.binary_contract.contact_zip+' '+self.binary_contract.contact_city + bcount = len(text) if text else 1 + Zeilen = maxh // 6 + fonts = maxw // (bcount ) *1.2 + if fonts > maxh: + fonts = maxh - 10 + if fonts <=0 : + fonts = 10 + # font = ImageFont.truetype("addons/web/static/fonts/sign/Zeyada-Regular.ttf", fonts) + font = ImageFont.truetype("addons/web/static/fonts/google/Open_Sans/Open_Sans-Regular.ttf", fonts) + d.text((maxw // 2, 5*Zeilen), text, fill="black",align="center", anchor="ms", font=font) # Beispiel: Ein Rechteck + # Bild speichern + filename = Medium.filepartname+self.binary_contract.contract_auto_id+".png" + _logger.info('Create Stamps for Contract : B_'+str(self.id)+' - Contract: C_'+str(self.binary_contract.id)+'- Feld : F_'+str(Medium.id)+' - Filename: '+str(filename)) + image.save(filename) + _logger.info("Stamp file created "+str(filename)) + _logger.info("Copy file to Binaries B_"+str(self)) + try: + self.binary_binary = base64.b64encode(open(filename, "rb").read()) + self.binary_filename = filename + self.binary_type = 'image/png' + self.binary_size = os.path.getsize(filename) + self.binary_issaved = False + self.binary_secured_ro = False + self.binary_used_ro = False + finally: + _logger.info("Binary inserted "+str(self)) + cloudpath = self.binary_contract.cloudlink + if not cloudpath: + raise ValidationError(_("Der Vertrag hat keinen Cloudlink. Bitte überprüfen Sie den Vertrag.")) + if not Medium.cloudlink: + raise ValidationError(_("Der Mediatyp hat keinen Cloudlink. Bitte überprüfen Sie den Mediatyp.")) + cloudpath = cloudpath + '/' + str(Medium.cloudlink) + _logger.info("Copy file to Cloud Path : "+str(cloudpath)) + try: + client = Client("https://cloud.logumedia.de/remote.php/dav/files/OdooDav/", auth=("odooClient@logumedia.de", "lm2020#OdooDav")) + try: + #client.mkdir(new_folder) + #_logger.info("Make Cloud Path : "+str(new_folder)) + client.upload_file(filename, f"{cloudpath}/{filename}") + except Exception as e: + _logger.info("Make Cloud Path error : "+str(e)) + finally: + self.binary_issaved = True + _logger.info("File copied to Cloud Path : "+str(cloudpath)) + return True + diff --git a/models/dss_display_templates.py b/models/dss_display_templates.py index 9616d50..b03bd71 100755 --- a/models/dss_display_templates.py +++ b/models/dss_display_templates.py @@ -50,6 +50,7 @@ class dssadvertisefields(models.Model): feldtemplates = fields.Many2many('dss.advertisefields.templates' , string='Vertrag', store=True,tracking=True) fullsize_w = fields.Integer("Auflösung Breite",tracking=True) fullsize_h = fields.Integer("Auflösung Höhe",tracking=True) + adportal_visible = fields.Boolean('Ad Portal sichtbar', default=False, tracking=True) def _default_create_date(self): return str(date.today()) diff --git a/models/dss_kileads.py b/models/dss_kileads.py old mode 100644 new mode 100755 diff --git a/models/dss_kileads_requests.py b/models/dss_kileads_requests.py old mode 100644 new mode 100755 diff --git a/models/dss_maintains.py b/models/dss_maintains.py index 47577be..f1b62e3 100755 --- a/models/dss_maintains.py +++ b/models/dss_maintains.py @@ -54,22 +54,26 @@ class dssmaintaintasks(models.Model): maintain_travel_end = fields.Datetime('Ankunftszeit', tracking=True) maintain_travel_distance = fields.Float('Anreise Entfernung', tracking=True) maintain_travel_duration = fields.Float('Anreise Dauer', tracking=True, compute='_compute_travel_total_time', store=True) + maintain_travel_duration_man = fields.Float('Anreise Dauer', tracking=True, store=True) maintain_travel_duration_text = fields.Char('Anreise Dauer', tracking=True, compute='_compute_travel_total_time_text', store=True) maintain_work_start = fields.Datetime('Arbeitsbeginn', tracking=True) maintain_work_end = fields.Datetime('Arbeitsende', tracking=True) maintain_work_duration = fields.Float('Arbeits Dauer', tracking=True,compute='_compute_work_total_time', store=True) + maintain_work_duration_man = fields.Float('Arbeits Dauer', tracking=True, store=True) maintain_work_duration_text = fields.Char('Arbeits Dauer', tracking=True, compute='_compute_work_total_time_text', store=True) maintain_return_start = fields.Datetime('Rückreisebeginn', tracking=True) maintain_return_end = fields.Datetime('Rückreiseende', tracking=True) maintain_return_duration = fields.Float('Rückreise Dauer', tracking=True,compute='_compute_return_total_time', store=True) + maintain_return_duration_man = fields.Float('Rückreise Dauer', tracking=True, store=True) maintain_return_distance = fields.Float('Rückreise Entfernung', tracking=True) maintain_return_duration_text = fields.Char('Rückreise Dauer', tracking=True, compute='_compute_return_total_time_text', store=True) maintain_total_start = fields.Datetime('Einsatzbeginn', tracking=True,compute='_compute_maintain_total_start', store=True) maintain_total_end = fields.Datetime('Einsatzende', tracking=True, compute='_compute_maintain_total_end', store=True) maintain_total_duration = fields.Float('Einsatz Dauer', tracking=True,compute='_compute_maintain_total_time', store=True) + maintain_total_duration_man = fields.Float('Einsatz Dauer', tracking=True, store=True) maintain_total_duration_text = fields.Char('Einsatz Dauer', tracking=True, compute='_compute_maintain_total_time_text', store=True) maintain_total_duration_money = fields.Float('Einsatz Kosten', tracking=True, compute='_compute_maintain_total_cost', store=True) @@ -94,33 +98,43 @@ class dssmaintaintasks(models.Model): def _compute_travel_total_time_text(self): for record in self: if record.maintain_travel_duration: - hours = int(record.maintain_travel_duration) - minutes = int((record.maintain_travel_duration - hours) * 60) - record.maintain_travel_duration_text = f"{hours} Stunden {minutes} Minuten" + if record.maintain_travel_duration: + hours = int(record.maintain_travel_duration) + minutes = int((record.maintain_travel_duration - hours) * 60) + record.maintain_travel_duration_text = f"{hours} Stunden {minutes} Minuten" + else: + record.maintain_travel_duration_text = "0 Stunden 0 Minuten" else: - record.maintain_travel_duration_text = "0 Stunden 0 Minuten" + record.maintain_travel_duration_text = "" @api.depends('maintain_work_duration') @api.onchange('maintain_work_duration') def _compute_work_total_time_text(self): for record in self: - if record.maintain_work_duration: - hours = int(record.maintain_work_duration) - minutes = int((record.maintain_work_duration - hours) * 60) - record.maintain_work_duration_text = f"{hours} Stunden {minutes} Minuten" + if not record.maintain_work_duration_man: + if record.maintain_work_duration: + hours = int(record.maintain_work_duration) + minutes = int((record.maintain_work_duration - hours) * 60) + record.maintain_work_duration_text = f"{hours} Stunden {minutes} Minuten" + else: + record.maintain_work_duration_text = "0 Stunden 0 Minuten" else: - record.maintain_work_duration_text = "0 Stunden 0 Minuten" + record.maintain_work_duration_text = "" + @api.depends('maintain_return_duration') @api.onchange('maintain_return_duration') def _compute_return_total_time_text(self): for record in self: - if record.maintain_return_duration: - hours = int(record.maintain_return_duration) - minutes = int((record.maintain_return_duration - hours) * 60) - record.maintain_return_duration_text = f"{hours} Stunden {minutes} Minuten" + if not record.maintain_return_duration_man: + if record.maintain_return_duration: + hours = int(record.maintain_return_duration) + minutes = int((record.maintain_return_duration - hours) * 60) + record.maintain_return_duration_text = f"{hours} Stunden {minutes} Minuten" + else: + record.maintain_return_duration_text = "0 Stunden 0 Minuten" else: - record.maintain_return_duration_text = "0 Stunden 0 Minuten" + record.maintain_return_duration_text = "" @api.depends('maintain_total_duration') @api.onchange('maintain_total_duration') @@ -183,15 +197,21 @@ class dssmaintaintasks(models.Model): record.maintain_total_end = False @api.depends('maintain_travel_duration', 'maintain_work_duration', 'maintain_return_duration') - @api.onchange('maintain_travel_duration', 'maintain_work_duration', 'maintain_return_duration') + @api.onchange('maintain_travel_duration', 'maintain_work_duration', 'maintain_return_duration','maintain_travel_duration_man', 'maintain_work_duration_man', 'maintain_return_duration_man') def _compute_maintain_total_time(self): for record in self: total_duration = 0.0 - if record.maintain_travel_duration: + if record.maintain_travel_duration_man: + total_duration += record.maintain_travel_duration_man + elif record.maintain_travel_duration: total_duration += record.maintain_travel_duration - if record.maintain_work_duration: + if record.maintain_work_duration_man: + total_duration += record.maintain_work_duration_man + elif record.maintain_work_duration: total_duration += record.maintain_work_duration - if record.maintain_return_duration: + if record.maintain_return_duration_man: + total_duration += record.maintain_return_duration_man + elif record.maintain_return_duration: total_duration += record.maintain_return_duration record.maintain_total_duration = total_duration diff --git a/models/dss_phonecenter_query.py b/models/dss_phonecenter_query.py new file mode 100755 index 0000000..ac886df --- /dev/null +++ b/models/dss_phonecenter_query.py @@ -0,0 +1,472 @@ +# -*- coding: utf-8 -*- + +from datetime import timedelta + +from odoo import api, fields, models + + +class DssPhonecenterQuery(models.Model): + _name = "dss.phonecenter.query" + _description = "Telefoniecenter Suchanfrage" + _order = "id desc" + + name = fields.Char("Anfrage", required=True) + project_id = fields.Many2one("dss.projects", string="Projekt", required=True, index=True) + user_id = fields.Many2one("res.users", string="Benutzer", required=True, default=lambda self: self.env.user) + location_query = fields.Char("Ort", required=True) + radius_km = fields.Integer("Umkreis (km)", default=20) + industry_query = fields.Char("Branche", required=True) + state = fields.Selection([ + ("draft", "Neu"), + ("active", "Aktiv"), + ("done", "Abgeschlossen"), + ], default="draft", string="Status") + search_count = fields.Integer("Suchen", default=0) + line_ids = fields.One2many("dss.phonecenter.query.line", "query_id", string="Ergebnisse") + open_line_count = fields.Integer("Offene Eintraege", compute="_compute_line_counts") + done_line_count = fields.Integer("Abarbeitet", compute="_compute_line_counts") + + @api.depends("line_ids.processed", "line_ids.rejected", "line_ids.reschedule_at") + def _compute_line_counts(self): + now = fields.Datetime.now() + for rec in self: + total = len(rec.line_ids) + done = len(rec.line_ids.filtered( + lambda line: line.processed or line.rejected or ( + line.reschedule_at and line.reschedule_at > now and not line.rejected and not line.processed + ) + )) + rec.done_line_count = done + rec.open_line_count = max(0, total - done) + + @api.model + def get_project_queries(self, project_id): + project_id = int(project_id or 0) + if not project_id: + return [] + + records = self.search([ + ("project_id", "=", project_id), + ("user_id", "=", self.env.user.id), + ], order="id desc", limit=100) + + payload = [] + for rec in records: + payload.append({ + "id": rec.id, + "name": rec.name, + "location_query": rec.location_query or "", + "radius_km": rec.radius_km or 20, + "industry_query": rec.industry_query or "", + "state": rec.state, + "search_count": rec.search_count, + "open_line_count": rec.open_line_count, + "done_line_count": rec.done_line_count, + "can_repeat": (rec.open_line_count == 0), + }) + + now = fields.Datetime.now() + reschedule_lines = self.env["dss.phonecenter.query.line"].search([ + ("query_id.project_id", "=", project_id), + ("query_id.user_id", "=", self.env.user.id), + ("reschedule_at", "!=", False), + ("rejected", "=", False), + ("processed", "=", False), + ]) + if reschedule_lines: + due_count = len(reschedule_lines.filtered(lambda l: l.reschedule_at and l.reschedule_at <= now)) + total_count = len(reschedule_lines) + payload.append({ + "id": "reschedule:%s" % project_id, + "name": "Wiedervorlagen", + "location_query": "", + "radius_km": 0, + "industry_query": "", + "state": "active", + "search_count": 0, + "open_line_count": due_count, + "done_line_count": max(0, total_count - due_count), + "can_repeat": True, + "is_reschedule_bucket": True, + }) + return payload + + @api.model + def get_reschedule_details(self, project_id): + project_id = int(project_id or 0) + if not project_id: + return {"ok": False, "message": "Projekt fehlt."} + + now = fields.Datetime.now() + lines = self.env["dss.phonecenter.query.line"].search([ + ("query_id.project_id", "=", project_id), + ("query_id.user_id", "=", self.env.user.id), + ("reschedule_at", "!=", False), + ("rejected", "=", False), + ("processed", "=", False), + ], order="reschedule_at asc, id desc") + + due_lines = lines.filtered(lambda l: l.reschedule_at and l.reschedule_at <= now) + companies = [] + for line in due_lines: + companies.append({ + "id": str(line.external_id or line.id), + "line_id": line.id, + "name": line.name, + "address": line.address or "", + "city": line.city or "", + "website": line.website or "", + "phone": line.phone or "", + "email": line.email or "", + "rating": line.rating or 0, + "source": line.source or "", + "verified": bool(line.verified), + "verified_at": line.verified_at or "", + "place_id": line.place_id or "", + "google_maps_url": line.google_maps_url or "", + "lat": line.lat, + "lng": line.lng, + "types": line.types_json or [], + "processed": bool(line.processed), + "rejected": bool(line.rejected), + "reschedule_at": fields.Datetime.to_string(line.reschedule_at) if line.reschedule_at else "", + "reschedule_note": line.reschedule_note or "", + }) + + return { + "ok": True, + "query": { + "id": "reschedule:%s" % project_id, + "name": "Wiedervorlagen", + "location_query": "", + "radius_km": 0, + "industry_query": "", + "state": "active", + "search_count": 0, + "open_line_count": len(companies), + "done_line_count": max(0, len(lines) - len(companies)), + "can_repeat": True, + "is_reschedule_bucket": True, + }, + "companies": companies, + } + + @api.model + def create_query(self, payload): + payload = payload or {} + project_id = int(payload.get("project_id") or 0) + if not project_id: + return {"ok": False, "message": "Projekt fehlt."} + + location_query = (payload.get("location_query") or "").strip() + industry_query = (payload.get("industry_query") or "").strip() + radius_km = int(payload.get("radius_km") or 20) + + if not location_query or not industry_query: + return {"ok": False, "message": "Ort und Branche sind erforderlich."} + + record = self.create({ + "project_id": project_id, + "user_id": self.env.user.id, + "location_query": location_query, + "industry_query": industry_query, + "radius_km": radius_km, + "name": "%s | %s | %s km" % (industry_query, location_query, radius_km), + "state": "active", + }) + return { + "ok": True, + "query": { + "id": record.id, + "name": record.name, + "location_query": record.location_query, + "radius_km": record.radius_km, + "industry_query": record.industry_query, + "state": record.state, + "search_count": record.search_count, + "open_line_count": record.open_line_count, + "done_line_count": record.done_line_count, + "can_repeat": (record.open_line_count == 0), + }, + } + + @api.model + def get_query_details(self, query_id): + query_id = int(query_id or 0) + record = self.browse(query_id) + if not record.exists() or record.user_id.id != self.env.user.id: + return {"ok": False, "message": "Anfrage nicht gefunden."} + + now = fields.Datetime.now() + companies = [] + visible_lines = record.line_ids.filtered( + lambda l: not l.rejected and not ( + l.reschedule_at and l.reschedule_at > now and not l.processed + ) + ) + for line in visible_lines.sorted(key=lambda l: (l.processed, -l.id)): + companies.append({ + "id": str(line.external_id or line.id), + "line_id": line.id, + "name": line.name, + "address": line.address or "", + "city": line.city or "", + "website": line.website or "", + "phone": line.phone or "", + "email": line.email or "", + "rating": line.rating or 0, + "source": line.source or "", + "verified": bool(line.verified), + "verified_at": line.verified_at or "", + "place_id": line.place_id or "", + "google_maps_url": line.google_maps_url or "", + "lat": line.lat, + "lng": line.lng, + "types": line.types_json or [], + "processed": bool(line.processed), + "rejected": bool(line.rejected), + "reschedule_at": fields.Datetime.to_string(line.reschedule_at) if line.reschedule_at else "", + "reschedule_note": line.reschedule_note or "", + }) + + return { + "ok": True, + "query": { + "id": record.id, + "name": record.name, + "location_query": record.location_query or "", + "radius_km": record.radius_km or 20, + "industry_query": record.industry_query or "", + "state": record.state, + "search_count": record.search_count, + "open_line_count": record.open_line_count, + "done_line_count": record.done_line_count, + "can_repeat": (record.open_line_count == 0), + }, + "companies": companies, + } + + @api.model + def can_repeat_query(self, query_id): + query_id = int(query_id or 0) + record = self.browse(query_id) + if not record.exists() or record.user_id.id != self.env.user.id: + return {"ok": False, "can_repeat": False} + return { + "ok": True, + "can_repeat": bool(record.open_line_count == 0), + "open_line_count": record.open_line_count, + } + + @api.model + def save_query_results(self, query_id, companies): + query_id = int(query_id or 0) + record = self.browse(query_id) + if not record.exists() or record.user_id.id != self.env.user.id: + return {"ok": False, "message": "Anfrage nicht gefunden."} + + if not isinstance(companies, list): + companies = [] + + line_model = self.env["dss.phonecenter.query.line"] + added = 0 + for company in companies: + if not isinstance(company, dict): + continue + name = (company.get("name") or "").strip() + if not name: + continue + + external_id = str(company.get("id") or company.get("place_id") or name) + existing = line_model.search([ + ("query_id", "=", record.id), + ("external_id", "=", external_id), + ], limit=1) + + vals = { + "query_id": record.id, + "external_id": external_id, + "place_id": (company.get("place_id") or "").strip(), + "name": name, + "address": (company.get("address") or "").strip(), + "city": (company.get("city") or "").strip(), + "website": (company.get("website") or "").strip(), + "phone": (company.get("phone") or "").strip(), + "email": (company.get("email") or "").strip(), + "rating": company.get("rating") or 0, + "source": (company.get("source") or "").strip(), + "verified": bool(company.get("verified", False)), + "verified_at": (company.get("verified_at") or "").strip(), + "google_maps_url": (company.get("google_maps_url") or "").strip(), + "lat": company.get("lat"), + "lng": company.get("lng"), + "types_json": company.get("types") if isinstance(company.get("types"), list) else [], + "processed": bool(existing.processed) if existing else False, + "rejected": bool(existing.rejected) if existing else False, + "reject_reason": existing.reject_reason if existing else "", + "decision_summary": existing.decision_summary if existing else "", + "reschedule_at": existing.reschedule_at if existing else False, + "reschedule_note": existing.reschedule_note if existing else "", + } + + if existing: + existing.write(vals) + else: + line_model.create(vals) + added += 1 + + record.search_count = (record.search_count or 0) + 1 + record.state = "active" + + details = self.get_query_details(record.id) + details.update({"ok": True, "added": added}) + return details + + @api.model + def mark_result_processed(self, line_id, processed=True): + line_id = int(line_id or 0) + line = self.env["dss.phonecenter.query.line"].browse(line_id) + if not line.exists() or line.query_id.user_id.id != self.env.user.id: + return {"ok": False, "message": "Eintrag nicht gefunden."} + + line.processed = bool(processed) + if processed: + line.rejected = False + line.reschedule_at = False + line.reschedule_note = "" + if line.query_id.open_line_count == 0: + line.query_id.state = "done" + else: + line.query_id.state = "active" + + return { + "ok": True, + "query_id": line.query_id.id, + "open_line_count": line.query_id.open_line_count, + "can_repeat": (line.query_id.open_line_count == 0), + } + + @api.model + def set_reschedule(self, line_id, reschedule_at=False, days=0, note=""): + line_id = int(line_id or 0) + line = self.env["dss.phonecenter.query.line"].browse(line_id) + if not line.exists() or line.query_id.user_id.id != self.env.user.id: + return {"ok": False, "message": "Eintrag nicht gefunden."} + + target_dt = False + if reschedule_at: + target_dt = fields.Datetime.to_datetime(reschedule_at) + if not target_dt: + day_count = int(days or 0) + if day_count > 0: + target_dt = fields.Datetime.now() + timedelta(days=day_count) + + if not target_dt: + return {"ok": False, "message": "Bitte Wiedervorlagezeit angeben."} + + line.write({ + "last_decision": "reschedule", + "processed": False, + "rejected": False, + "reschedule_at": target_dt, + "reschedule_note": (note or "").strip(), + }) + + if line.query_id.open_line_count == 0: + line.query_id.state = "done" + else: + line.query_id.state = "active" + + return { + "ok": True, + "line_id": line.id, + "query_id": line.query_id.id, + "reschedule_at": fields.Datetime.to_string(line.reschedule_at) if line.reschedule_at else "", + "open_line_count": line.query_id.open_line_count, + } + + @api.model + def apply_contact_decision(self, line_id, decision, reason="", summary=""): + line_id = int(line_id or 0) + line = self.env["dss.phonecenter.query.line"].browse(line_id) + if not line.exists() or line.query_id.user_id.id != self.env.user.id: + return {"ok": False, "message": "Eintrag nicht gefunden."} + + decision_value = (decision or "").strip() + # Backward-compatible alias: treat no_interest as a rejection/discard decision. + if decision_value == "no_interest": + decision_value = "discard" + vals = { + "last_decision": decision_value, + "reject_reason": (reason or "").strip(), + "decision_summary": (summary or "").strip(), + } + if decision_value == "discard": + vals.update({ + "rejected": True, + "processed": True, + "reschedule_at": False, + "reschedule_note": "", + }) + elif decision_value in ("research", "reschedule", "keep"): + vals.update({ + "rejected": False, + "processed": False, + }) + if decision_value in ("research", "keep"): + vals.update({ + "reschedule_at": False, + "reschedule_note": "", + }) + + line.write(vals) + if line.query_id.open_line_count == 0: + line.query_id.state = "done" + else: + line.query_id.state = "active" + + return { + "ok": True, + "line_id": line.id, + "query_id": line.query_id.id, + "decision": decision_value, + "rejected": bool(line.rejected), + "open_line_count": line.query_id.open_line_count, + } + + +class DssPhonecenterQueryLine(models.Model): + _name = "dss.phonecenter.query.line" + _description = "Telefoniecenter Suchergebnis" + _order = "id desc" + + query_id = fields.Many2one("dss.phonecenter.query", string="Anfrage", required=True, ondelete="cascade", index=True) + external_id = fields.Char("Externe ID", index=True) + place_id = fields.Char("Place ID") + name = fields.Char("Unternehmen", required=True) + address = fields.Char("Adresse") + city = fields.Char("Ort") + website = fields.Char("Webseite") + phone = fields.Char("Telefon") + email = fields.Char("Email") + rating = fields.Float("Rating") + source = fields.Char("Quelle") + verified = fields.Boolean("Verifiziert") + verified_at = fields.Char("Verifiziert am") + google_maps_url = fields.Char("Google Maps URL") + lat = fields.Float("Breitengrad") + lng = fields.Float("Laengengrad") + types_json = fields.Json("Typen") + processed = fields.Boolean("Abarbeitet", default=False) + rejected = fields.Boolean("Abgelehnt", default=False) + reject_reason = fields.Text("Ablehnungsgrund") + decision_summary = fields.Text("Entscheidungszusammenfassung") + last_decision = fields.Selection([ + ("reschedule", "Wiedervorlage"), + ("discard", "Komplett verwerfen"), + ("no_interest", "Kein Interesse"), + ("research", "Weitere Recherchen"), + ("keep", "Zunaechst behalten"), + ], string="Letzte Entscheidung") + reschedule_at = fields.Datetime("Wiedervorlage am") + reschedule_note = fields.Text("Wiedervorlage Notiz") diff --git a/models/dss_portal_user_profile.py b/models/dss_portal_user_profile.py new file mode 100755 index 0000000..b771946 --- /dev/null +++ b/models/dss_portal_user_profile.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class DssPortalUserProfile(models.Model): + _name = 'dss.portal.user.profile' + _description = 'AD Portal User Profile' + + user_id = fields.Many2one('res.users', required=True, ondelete='cascade', index=True) + + ranking_enabled = fields.Boolean('Im Ranking', default=False) + ranking_position = fields.Integer('Ranking Position', default=0) + ranking_sum = fields.Float('Ranking Summe', default=0.0) + + right_contract_overview = fields.Boolean('Portal Recht: Vertragsanzeige', default=True) + right_contract_detail = fields.Boolean('Portal Recht: Vertragsdetails', default=True) + right_media_view = fields.Boolean('Portal Recht: Medienanzeige', default=True) + right_ranking_view = fields.Boolean('Portal Recht: Rankinganzeige', default=True) + right_graphic_examples = fields.Boolean('Portal Recht: Grafikbeispiele anzeigen/erstellen', default=False) + + _sql_constraints = [ + ('dss_portal_user_profile_user_unique', 'unique(user_id)', 'Fuer jeden Benutzer ist nur ein Portal-Profil erlaubt.'), + ] diff --git a/models/dss_projects.py b/models/dss_projects.py index 9ca68e1..62167fb 100755 --- a/models/dss_projects.py +++ b/models/dss_projects.py @@ -78,6 +78,7 @@ class dssprojects(models.Model): grundsystemicon_different = fields.Boolean('Grundsystem Icon anders',default=False,tracking=True) grundsystemicon_different_image = fields.Binary('Anderes Icon',tracking=True) grundsystem_webinput_template = fields.Char(related='grundsystemname.web_input_template',tracking=True) + grundsystem_webinput_showimage_url = fields.Char(related='grundsystemname.web_input_showimage_url',tracking=True) btntemplate = fields.Many2one('dss.display.templates',string='Buttonsvorlage',tracking=True) @@ -168,9 +169,45 @@ class dssprojects(models.Model): lastkdnr = fields.Integer('Letzte Temp. KdNr', tracking=True) lastrealkdnr = fields.Integer('Letzte Real. KdNr', tracking=True) reservedkdnr = fields.Char('Reservierte KdNr', tracking=True) + lostkdnr = fields.Char('Verlorene KdNr "," Seperated', tracking=True) web_input_template = fields.Char('Web-Eingabe Template', tracking=True) + project_binaries = fields.Many2many('dss.binaries', string='Projektdateien', tracking=True) + contract_finish_img_cloud = fields.Char('Überg. Bildlink',tracking=True) + + def pyopen_dss_project_add_binary_form_view(self): + _logger.info('Open Add Binary Form') + view = self.env.ref("DigitalSignage.dss_project_binaries_view_form_wizard") + _logger.info('Open Wizzard Binary Form '+str(view)) + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form' , + 'view_type': 'form' , + 'view_id': view.id, + 'res_model': 'dss.binaries.wizard.new' , + 'target': 'new' , + 'views':[(view.id,'form')], + 'context': {'default_binary_project':self.id}, + } + + def pyopen_dss_project_add_binary_form_view_from_wizzard(self,media): + _logger.info('Open Add Binary Form') + view = self.env.ref("DigitalSignage.dss_binaries_view_form") + binary = self.env['dss.binaries'].create({'binary_project':self.id,'binary_name':self.projektname,'binary_mediatype':media.id,'binary_id':str(media.filepartname+'_'+str(self.projectid)),'binary_binary':media.standard_image}) + self.project_binaries = [(4, binary.id)] + _logger.info('Open Add Binary Form '+str(view)+' B_'+str(binary)) + return { + 'type': 'ir.actions.act_window', + 'view_mode': 'form' , + 'view_type': 'form' , + 'view_id': view.id, + 'res_model': 'dss.binaries' , + 'target': 'new' , + 'views':[(view.id,'form')], + 'res_id':binary.id, + } + @api.model def _read_group_system_ids(self, stages, domain, order): project_system_ids = self.env['dss.systemtypen'].search([('open_close_standard_state','=',False)], order='order') diff --git a/models/dss_res_users.py b/models/dss_res_users.py index d61ceb0..6ad1dc9 100755 --- a/models/dss_res_users.py +++ b/models/dss_res_users.py @@ -1,11 +1,6 @@ # -*- coding: utf-8 -*- -import uuid -import logging - -from odoo import api,fields, models - -_logger = logging.getLogger(__name__) +from odoo import api, fields, models class Resusers(models.Model): @@ -14,5 +9,111 @@ class Resusers(models.Model): # company_type = fields.Selection(selection_add=[('dss_client','Werbekunde'),('dss_partner','Partnerunternehmen')]) dss_projects = fields.Many2many('dss.projects',string='DigitalSignage Projekte') + phonecenter_view_mode = fields.Selection([ + ('callcenter', 'Callcenter'), + ('projectmanagement', 'Projektmanagement'), + ('aussendienst', 'Aussendienst'), + ('administrator', 'Administrator'), + ], string='Ansichtsmodus', default='callcenter') + portal_ranking_enabled = fields.Boolean('Im Ranking', compute='_compute_portal_profile_flags', inverse='_inverse_portal_ranking_enabled') + portal_ranking_position = fields.Integer('Ranking Position', compute='_compute_portal_profile_flags', inverse='_inverse_portal_ranking_position') + portal_ranking_sum = fields.Float('Ranking Summe', compute='_compute_portal_profile_flags', inverse='_inverse_portal_ranking_sum') + + portal_right_contract_overview = fields.Boolean('Portal Recht: Vertragsanzeige', compute='_compute_portal_profile_flags', inverse='_inverse_portal_right_contract_overview') + portal_right_contract_detail = fields.Boolean('Portal Recht: Vertragsdetails', compute='_compute_portal_profile_flags', inverse='_inverse_portal_right_contract_detail') + portal_right_media_view = fields.Boolean('Portal Recht: Medienanzeige', compute='_compute_portal_profile_flags', inverse='_inverse_portal_right_media_view') + portal_right_ranking_view = fields.Boolean('Portal Recht: Rankinganzeige', compute='_compute_portal_profile_flags', inverse='_inverse_portal_right_ranking_view') + portal_right_graphic_examples = fields.Boolean('Portal Recht: Grafikbeispiele anzeigen/erstellen', compute='_compute_portal_profile_flags', inverse='_inverse_portal_right_graphic_examples') + show_graphic_examples = fields.Boolean('Grafikbeispiele anzeigen/erstellen', compute='_compute_portal_profile_flags', inverse='_inverse_show_graphic_examples') + + def _get_or_create_portal_profile(self): + self.ensure_one() + profile_model = self.env['dss.portal.user.profile'].sudo() + profile = profile_model.search([('user_id', '=', self.id)], limit=1) + if profile: + return profile + return profile_model.create({ + 'user_id': self.id, + 'ranking_enabled': False, + 'ranking_position': 0, + 'ranking_sum': 0.0, + 'right_contract_overview': True, + 'right_contract_detail': True, + 'right_media_view': True, + 'right_ranking_view': True, + 'right_graphic_examples': False, + }) + + def _set_portal_profile_value(self, field_name, value): + for user in self: + profile = user._get_or_create_portal_profile() + profile.write({field_name: value}) + + def _compute_portal_profile_flags(self): + profile_model = self.env['dss.portal.user.profile'].sudo() + profiles = profile_model.search([('user_id', 'in', self.ids)]) + profile_by_user = {profile.user_id.id: profile for profile in profiles} + + for user in self: + profile = profile_by_user.get(user.id) + user.portal_ranking_enabled = bool(profile.ranking_enabled) if profile else False + user.portal_ranking_position = int(profile.ranking_position or 0) if profile else 0 + user.portal_ranking_sum = float(profile.ranking_sum or 0.0) if profile else 0.0 + + user.portal_right_contract_overview = bool(profile.right_contract_overview) if profile else True + user.portal_right_contract_detail = bool(profile.right_contract_detail) if profile else True + user.portal_right_media_view = bool(profile.right_media_view) if profile else True + user.portal_right_ranking_view = bool(profile.right_ranking_view) if profile else True + user.portal_right_graphic_examples = bool(profile.right_graphic_examples) if profile else False + user.show_graphic_examples = bool(profile.right_graphic_examples) if profile else False + + def _inverse_portal_ranking_enabled(self): + for user in self: + user._set_portal_profile_value('ranking_enabled', bool(user.portal_ranking_enabled)) + + def _inverse_portal_ranking_position(self): + for user in self: + user._set_portal_profile_value('ranking_position', int(user.portal_ranking_position or 0)) + + def _inverse_portal_ranking_sum(self): + for user in self: + user._set_portal_profile_value('ranking_sum', float(user.portal_ranking_sum or 0.0)) + + def _inverse_portal_right_contract_overview(self): + for user in self: + user._set_portal_profile_value('right_contract_overview', bool(user.portal_right_contract_overview)) + + def _inverse_portal_right_contract_detail(self): + for user in self: + user._set_portal_profile_value('right_contract_detail', bool(user.portal_right_contract_detail)) + + def _inverse_portal_right_media_view(self): + for user in self: + user._set_portal_profile_value('right_media_view', bool(user.portal_right_media_view)) + + def _inverse_portal_right_ranking_view(self): + for user in self: + user._set_portal_profile_value('right_ranking_view', bool(user.portal_right_ranking_view)) + + def _inverse_portal_right_graphic_examples(self): + for user in self: + user._set_portal_profile_value('right_graphic_examples', bool(user.portal_right_graphic_examples)) + + def _inverse_show_graphic_examples(self): + for user in self: + user._set_portal_profile_value('right_graphic_examples', bool(user.show_graphic_examples)) + + @api.model + def get_phone_center_profile(self): + user = self.env.user + mode = user.phonecenter_view_mode or 'callcenter' + can_see_all_projects = mode in ('projectmanagement', 'administrator') + return { + 'user_id': user.id, + 'view_mode': mode, + 'can_see_all_projects': can_see_all_projects, + 'assigned_project_ids': user.dss_projects.ids, + } + # dss_uuid = fields.Char('uuid') diff --git a/models/dss_settings.py b/models/dss_settings.py index 0746f67..14197f4 100755 --- a/models/dss_settings.py +++ b/models/dss_settings.py @@ -10,6 +10,7 @@ import tempfile import easywebdav import os import os.path +import requests from odoo import api, fields, models, _ @@ -74,6 +75,26 @@ class dssSettings(models.Model): show_expand_contract_group_ad_state = fields.Boolean('Jeden Kampagnen-Status anzeigen ?',help='im Groupierungsmodus der Verträge nach Kampagnenstatus alle (auch unbenutzte) Statusspalten anzeigen ?',tracking=True) show_expand_contract_group_ad_work_state = fields.Boolean('Jeden Kampagnen-Arbeitsstatus anzeigen ?',help='im Groupierungsmodus der Verträge nach Kampagnen-Arbeitsstatus alle (auch unbenutzte) Statusspalten anzeigen ?',tracking=True) show_expand_contract_group_ad_todo_state = fields.Boolean('Jeden Kampagnen-Aufgabenschritt anzeigen ?',help='im Groupierungsmodus der Verträge nach Kampagnen-Aufgabenschritt alle (auch unbenutzte) Aufgabenspalten anzeigen ?',tracking=True) + adportal_ranking_show_foreign_names = fields.Boolean('Ranking Fremdnamen anzeigen', default=True, help='Wenn deaktiviert, werden im AD Portal Ranking fremde Namen als ***** angezeigt. Der eigene Name bleibt sichtbar.', tracking=True) + adportal_graphics_base_prompt = fields.Text('AD Portal Grafik Prompt', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_graphics_use_chatgpt = fields.Boolean('AD Portal: Benutze ChatGPT', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_graphics_chatgpt_model = fields.Selection( + [ + ('gpt-image-1', 'gpt-image-1'), + ('dall-e-3', 'dall-e-3'), + ('dall-e-2', 'dall-e-2'), + ], + string='AD Portal ChatGPT Modell', + compute='_compute_adportal_graphics_config', + inverse='_inverse_adportal_graphics_config', + tracking=True, + ) + adportal_graphics_api_url = fields.Char('AD Portal Grafik API URL', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_graphics_api_key = fields.Char('AD Portal Grafik API Key', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_graphics_api_timeout = fields.Integer('AD Portal Grafik API Timeout (Sekunden)', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_google_company_check = fields.Boolean('AD Portal Firmenpruefung via Google', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_google_api_key = fields.Char('AD Portal Google API Key', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) + adportal_google_cse_id = fields.Char('AD Portal Google CSE ID', compute='_compute_adportal_graphics_config', inverse='_inverse_adportal_graphics_config', tracking=True) freigabe_auto_time = fields.Integer('Auto Freigabetage',help='Automatische Freigabe nach x Tagen',tracking=True) tv_vertragsankuendigung_actionID = fields.Integer('TV Vertragsankündigung ActionID',help="Aktion die ausgeführt wird, wenn im Web-Vertragseingang der Button Vertragsankündigung geklickt wird.",tracking=True) systemonline_color = fields.Char('Farbe Online',tracking=True) @@ -84,11 +105,126 @@ class dssSettings(models.Model): rporturl = fields.Char('RPort URL',tracking=True) rportusername = fields.Char('RPort Username',tracking=True) rporttoken = fields.Char('RPort API Token',tracking=True) + ai_agent_enabled = fields.Boolean('AI Agent aktiv', default=True, tracking=True) + ai_agent_base_url = fields.Char('AI Base URL', default='https://api.openai.com/v1', tracking=True) + ai_agent_model = fields.Char('AI Modell', default='gpt-4o-mini', tracking=True) + ai_agent_api_key = fields.Char('AI API Key', tracking=True) + ai_agent_system_prompt = fields.Text( + 'AI System Prompt', + default='Du bist ein hilfreicher virtueller Mitarbeiter im Odoo Backend.', + tracking=True, + ) + ai_agent_callback_prompt = fields.Text( + 'AI Callback Prompt', + default=( + 'Verwende Callback-Funktionen fuer Datenzugriffe. ' + 'Nutze get_model_records fuer gezielte Modell/Feld-Abfragen, ' + 'get_all_contracts fuer Vertragslisten, get_contract_by_number fuer Vertragsdetails ' + 'und get_projects fuer Projektlisten. Nutze create_model_record nur fuer explizite ' + 'Anlagevorgaenge und nur mit freigegebenen Schreibfeldern. Formuliere Antworten kompakt ' + 'und nachvollziehbar.' + ), + tracking=True, + ) + ai_agent_callback_models = fields.Char( + 'AI Callback Modelle', + default='dss.contracts,dss.projects', + help='Kommagetrennte Modellnamen, die per get_model_records abgefragt werden duerfen.', + tracking=True, + ) + ai_agent_callback_fields_json = fields.Text( + 'AI Callback Felder (JSON)', + default='{"dss.contracts": ["contract_auto_id", "contract_name", "client_short_company", "contract_state", "project", "vertragssumme"], "dss.projects": ["projectid", "projektname", "name", "standort_strasse", "standort_plz", "standort_ort", "maps_visitors", "aktstatus"]}', + help='JSON-Objekt mit erlaubten Feldern pro Modell fuer get_model_records.', + tracking=True, + ) + ai_agent_callback_aliases_json = fields.Text( + 'AI Callback Feld-Aliase (JSON)', + default='{"dss.contracts": {"kundennummer": "contract_auto_id", "vertragsnummer": "contract_auto_id", "vertragsname": "contract_name", "vertragskennung": "contract_auto_name", "kunde": "client_short_company", "firma": "client_short_company", "vorname": "client_short_vorname", "nachname": "client_short_name", "autoverlaengerung": "contract_auto_extend", "auto_verlaengerung": "contract_auto_extend", "verlaengerung_auto": "contract_auto_extend"}}', + help='JSON-Objekt mit Aliasen pro Modell, z.B. {"dss.contracts": {"kundennummer": "contract_auto_id"}}.', + tracking=True, + ) + ai_agent_callback_write_fields = fields.Text( + 'AI Callback Schreibfelder', + default='', + help='Exakte Erlaubnisliste fuer Schreibzugriffe im Muster model.field, z.B. dss.projects.name oder dss.contracts.remark. Mehrere Eintraege per Komma oder Zeilenumbruch trennen.', + tracking=True, + ) + ai_agent_timeout_seconds = fields.Integer('AI Timeout (Sekunden)', default=60, tracking=True) + ai_agent_temperature = fields.Float('AI Temperatur', default=0.3, tracking=True) + ai_agent_max_context_messages = fields.Integer('AI Kontext Nachrichten', default=20, tracking=True) + ai_agent_rag_enabled = fields.Boolean('AI RAG aktiv (LangChain)', default=True, tracking=True) + ai_agent_rag_top_k = fields.Integer('AI RAG Treffer (Top-K)', default=8, tracking=True) + ai_agent_contracts_access = fields.Boolean('AI Zugriff auf Vertraege', default=True, tracking=True) + ai_agent_contracts_limit = fields.Integer('AI Vertragskontext Anzahl (0 = alle)', default=0, tracking=True) + ai_agent_projects_access = fields.Boolean('AI Zugriff auf Projekte', default=True, tracking=True) + ai_agent_projects_limit = fields.Integer('AI Projektkontext Anzahl (0 = alle)', default=0, tracking=True) + phonecenter_company_provider = fields.Selection([ + ('google_places', 'Google Places'), + ('custom_api', 'Custom Firmen-API'), + ('mock', 'Mock/Fallback'), + ], string='Telefoniecenter Firmenprovider', default='google_places', tracking=True) + phonecenter_company_api_url = fields.Char('Telefoniecenter Firmen-API URL', tracking=True) + phonecenter_company_api_key = fields.Char('Telefoniecenter Firmen-API Key', tracking=True) + phonecenter_company_timeout = fields.Integer('Telefoniecenter Firmen-Timeout (Sekunden)', default=20, tracking=True) + phonecenter_ai_provider = fields.Selection([ + ('none', 'Keine KI'), + ('openai', 'OpenAI kompatibel'), + ('custom_api', 'Custom KI-API'), + ], string='Telefoniecenter KI-Provider', default='openai', tracking=True) + phonecenter_ai_api_url = fields.Char('Telefoniecenter KI-API URL', tracking=True) + phonecenter_ai_api_key = fields.Char('Telefoniecenter KI-API Key', tracking=True) + phonecenter_ai_model = fields.Char('Telefoniecenter KI Modell', default='gpt-4o-mini', tracking=True) + phonecenter_search_min_entries = fields.Integer('Telefoniecenter Min. Suchergebnisse', default=8, tracking=True) + phonecenter_search_max_results = fields.Integer('Telefoniecenter Max. Ergebnisse', default=30, tracking=True) + phonecenter_search_cache_minutes = fields.Integer('Telefoniecenter Cache (Minuten)', default=30, tracking=True) showdebug = fields.Boolean('Debug',help='Debug Informationen aktivieren ',tracking=True) - m2mcron = fields.Many2one('ir.cron',string='M2M Cron',tracking=True) + m2mcron = fields.Many2one('ir.cron',string='M2M Cron',tracking=True) variables = fields.Many2many('dss.settings.vars',string='Einstellungs Variablen',tracking=True) + def _as_bool(self, value): + return str(value or '').strip().lower() in ('1', 'true', 'yes', 'y', 'on') + + def _normalize_adportal_graphics_chatgpt_model(self, value): + allowed_models = {'gpt-image-1', 'dall-e-3', 'dall-e-2'} + normalized_value = (value or '').strip() + return normalized_value if normalized_value in allowed_models else 'gpt-image-1' + + def _compute_adportal_graphics_config(self): + config = self.env['ir.config_parameter'].sudo() + for record in self: + record.adportal_graphics_base_prompt = config.get_param( + 'digitalsignage.adportal_graphics_base_prompt', + default='Erstelle eine hochwertige Werbegrafik im Corporate-Stil fuer die Firma.', + ) + record.adportal_graphics_use_chatgpt = self._as_bool(config.get_param('digitalsignage.adportal_graphics_use_chatgpt', default='False')) + record.adportal_graphics_chatgpt_model = self._normalize_adportal_graphics_chatgpt_model( + config.get_param('digitalsignage.adportal_graphics_chatgpt_model', default='gpt-image-1') + ) + record.adportal_graphics_api_url = config.get_param('digitalsignage.adportal_graphics_api_url', default='') + record.adportal_graphics_api_key = config.get_param('digitalsignage.adportal_graphics_api_key', default='') + record.adportal_graphics_api_timeout = int(config.get_param('digitalsignage.adportal_graphics_api_timeout', default='90') or 90) + record.adportal_google_company_check = self._as_bool(config.get_param('digitalsignage.adportal_google_company_check', default='False')) + record.adportal_google_api_key = config.get_param('digitalsignage.adportal_google_api_key', default='') + record.adportal_google_cse_id = config.get_param('digitalsignage.adportal_google_cse_id', default='') + + def _inverse_adportal_graphics_config(self): + config = self.env['ir.config_parameter'].sudo() + for record in self: + config.set_param('digitalsignage.adportal_graphics_base_prompt', record.adportal_graphics_base_prompt or '') + config.set_param('digitalsignage.adportal_graphics_use_chatgpt', 'True' if record.adportal_graphics_use_chatgpt else 'False') + config.set_param( + 'digitalsignage.adportal_graphics_chatgpt_model', + self._normalize_adportal_graphics_chatgpt_model(record.adportal_graphics_chatgpt_model), + ) + config.set_param('digitalsignage.adportal_graphics_api_url', record.adportal_graphics_api_url or '') + config.set_param('digitalsignage.adportal_graphics_api_key', record.adportal_graphics_api_key or '') + config.set_param('digitalsignage.adportal_graphics_api_timeout', int(record.adportal_graphics_api_timeout or 90)) + config.set_param('digitalsignage.adportal_google_company_check', 'True' if record.adportal_google_company_check else 'False') + config.set_param('digitalsignage.adportal_google_api_key', record.adportal_google_api_key or '') + config.set_param('digitalsignage.adportal_google_cse_id', record.adportal_google_cse_id or '') + def _get_settingvalue(self,valuename): settings = (self.env['dss.settings'].search([],limit=1)) wert = settings._origin.read([valuename])[0][valuename] @@ -230,6 +366,652 @@ class dssSettings(models.Model): records.append(fieldrecord) return records + @api.model + def _phonecenter_get_settings(self): + settings = self.search([], limit=1) + if not settings: + return {} + + ai_api_url = settings.phonecenter_ai_api_url or settings.ai_agent_base_url or 'https://api.openai.com/v1' + ai_api_key = settings.phonecenter_ai_api_key or settings.ai_agent_api_key or '' + ai_model = settings.phonecenter_ai_model or settings.ai_agent_model or 'gpt-4o-mini' + + return { + 'google_maps_key': settings.google_maps_key or '', + 'company_provider': settings.phonecenter_company_provider or 'google_places', + 'company_api_url': settings.phonecenter_company_api_url or '', + 'company_api_key': settings.phonecenter_company_api_key or '', + 'company_timeout': max(5, int(settings.phonecenter_company_timeout or 20)), + 'ai_provider': settings.phonecenter_ai_provider or 'openai', + 'ai_api_url': ai_api_url, + 'ai_api_key': ai_api_key, + 'ai_model': ai_model, + 'min_entries': max(1, int(settings.phonecenter_search_min_entries or 8)), + 'max_results': max(5, int(settings.phonecenter_search_max_results or 30)), + } + + @api.model + def phonecenter_get_search_config(self): + cfg = self._phonecenter_get_settings() + return { + 'company_provider': cfg.get('company_provider', 'google_places'), + 'ai_provider': cfg.get('ai_provider', 'openai'), + 'min_entries': cfg.get('min_entries', 8), + 'max_results': cfg.get('max_results', 30), + 'radius_max': 2000, + } + + @api.model + def phonecenter_check_location(self, query): + query = (query or '').strip() + if not query: + return {'found': False, 'message': 'Kein Ort angegeben.'} + + cfg = self._phonecenter_get_settings() + google_key = cfg.get('google_maps_key') + + if google_key: + try: + response = requests.get( + 'https://maps.googleapis.com/maps/api/geocode/json', + params={ + 'address': query, + 'key': google_key, + 'language': 'de', + }, + timeout=cfg.get('company_timeout', 20), + ) + payload = response.json() + if payload.get('status') == 'OK' and payload.get('results'): + first = payload['results'][0] + location = first.get('geometry', {}).get('location', {}) + return { + 'found': True, + 'provider': 'google_geocode', + 'query': query, + 'lat': location.get('lat'), + 'lng': location.get('lng'), + 'address': first.get('formatted_address') or query, + } + except Exception as ex: + _logger.warning('Phonecenter location check via Google failed: %s', ex) + + try: + response = requests.get( + 'https://nominatim.openstreetmap.org/search', + params={ + 'q': query, + 'format': 'json', + 'limit': 1, + 'addressdetails': 1, + }, + headers={ + 'User-Agent': 'DigitalSignagePhoneCenter/1.0', + }, + timeout=cfg.get('company_timeout', 20), + ) + payload = response.json() + if isinstance(payload, list) and payload: + first = payload[0] + return { + 'found': True, + 'provider': 'nominatim', + 'query': query, + 'lat': float(first.get('lat') or 0.0), + 'lng': float(first.get('lon') or 0.0), + 'address': first.get('display_name') or query, + } + except Exception as ex: + _logger.warning('Phonecenter location check via Nominatim failed: %s', ex) + + return {'found': False, 'query': query, 'message': 'Ort nicht gefunden.'} + + @api.model + def _phonecenter_normalize_company_item(self, item): + if not isinstance(item, dict): + return None + name = (item.get('name') or '').strip() + if not name: + return None + return { + 'id': str(item.get('id') or item.get('place_id') or item.get('external_id') or name), + 'place_id': (item.get('place_id') or '').strip(), + 'name': name, + 'address': (item.get('address') or item.get('formatted_address') or '').strip(), + 'city': (item.get('city') or '').strip(), + 'website': (item.get('website') or '').strip(), + 'phone': (item.get('phone') or '').strip(), + 'email': (item.get('email') or '').strip(), + 'rating': item.get('rating') or 0, + 'source': (item.get('source') or '').strip(), + 'google_maps_url': (item.get('google_maps_url') or '').strip(), + 'types': item.get('types') or [], + 'lat': item.get('lat'), + 'lng': item.get('lng'), + 'verified': bool(item.get('verified', False)), + 'verified_at': item.get('verified_at') or '', + } + + @api.model + def _phonecenter_analyze_company(self, company, cfg): + company = company or {} + name = company.get('name') or '' + website = company.get('website') or '' + address = company.get('address') or '' + phone = company.get('phone') or '' + rating = company.get('rating') or '' + + fallback = 'Firma: %s | Telefon: %s | Webseite: %s | Adresse: %s | Rating: %s' % ( + name or '-', + phone or '-', + website or '-', + address or '-', + rating or '-', + ) + + ai_provider = (cfg.get('ai_provider') or 'openai').strip() + if ai_provider not in ('openai', 'custom_api'): + return fallback + + api_key = cfg.get('ai_api_key') or '' + api_url = (cfg.get('ai_api_url') or '').strip() + if not api_url: + if ai_provider == 'openai': + api_url = 'https://api.openai.com/v1' + else: + return fallback + if not api_key: + return fallback + + try: + if ai_provider == 'openai': + response = requests.post( + '%s/chat/completions' % api_url.rstrip('/'), + headers={ + 'Authorization': 'Bearer %s' % api_key, + 'Content-Type': 'application/json', + }, + json={ + 'model': cfg.get('ai_model') or 'gpt-4o-mini', + 'temperature': 0.2, + 'messages': [ + {'role': 'system', 'content': 'Du analysierst Firmenkontakte fuer ein deutsches Callcenter. Antworte kurz in maximal 4 Saetzen.'}, + {'role': 'user', 'content': json.dumps({ + 'task': 'Analysiere den Firmenkontakt fuer Erstansprache, nenne Nutzenargument, Risiko und naechsten Schritt.', + 'company': company, + }, ensure_ascii=False)}, + ], + }, + timeout=cfg.get('company_timeout', 20), + ) + payload = response.json() if response else {} + content = (((payload.get('choices') or [{}])[0].get('message') or {}).get('content') or '').strip() + return content or fallback + + response = requests.post( + api_url, + headers={ + 'Authorization': 'Bearer %s' % api_key, + 'Content-Type': 'application/json', + }, + json={ + 'task': 'company_analysis', + 'company': company, + }, + timeout=cfg.get('company_timeout', 20), + ) + payload = response.json() if response else {} + if isinstance(payload, dict): + return (payload.get('analysis') or payload.get('summary') or '').strip() or fallback + return fallback + except Exception as ex: + _logger.warning('Phonecenter company analysis failed: %s', ex) + return fallback + + @api.model + def phonecenter_review_bad_contact(self, payload): + payload = payload or {} + cfg = self._phonecenter_get_settings() + + reason = (payload.get('reason') or '').strip() + contact = payload.get('contact') or {} + note = (payload.get('note') or '').strip() + if not isinstance(contact, dict): + contact = {} + + if not reason: + return { + 'ok': False, + 'message': 'Bitte Grund fuer die Einschaetzung angeben.', + } + + fallback_summary = ( + 'Einschaetzung: %s. Kontakt: %s (%s). Telefon: %s. Nächster Schritt: Wiedervorlage oder weitere Recherche pruefen.' + % ( + reason, + contact.get('company') or '-', + contact.get('city') or '-', + contact.get('phone') or '-', + ) + ) + fallback_actions = ['reschedule', 'research', 'keep', 'discard'] + + ai_provider = (cfg.get('ai_provider') or 'openai').strip() + api_key = cfg.get('ai_api_key') or '' + api_url = (cfg.get('ai_api_url') or '').strip() + model = cfg.get('ai_model') or 'gpt-4o-mini' + + if ai_provider == 'none' or not api_key: + return { + 'ok': True, + 'summary': fallback_summary, + 'actions': fallback_actions, + 'source': 'fallback', + } + + if not api_url and ai_provider == 'openai': + api_url = 'https://api.openai.com/v1' + + try: + if ai_provider == 'openai': + response = requests.post( + '%s/chat/completions' % api_url.rstrip('/'), + headers={ + 'Authorization': 'Bearer %s' % api_key, + 'Content-Type': 'application/json', + }, + json={ + 'model': model, + 'temperature': 0.2, + 'messages': [ + { + 'role': 'system', + 'content': ( + 'Du analysierst schlechte Callcenter-Kontakte. ' + 'Antworte nur als JSON mit keys "summary" und "actions". ' + 'actions muss eine Teilmenge aus ["reschedule", "discard", "research", "keep"] sein.' + ), + }, + { + 'role': 'user', + 'content': json.dumps({ + 'reason': reason, + 'contact': contact, + 'classification_note': note, + 'task': 'Erzeuge eine kurze Zusammenfassung und passende naechste Schritte.', + }, ensure_ascii=False), + }, + ], + 'response_format': {'type': 'json_object'}, + }, + timeout=cfg.get('company_timeout', 20), + ) + data = response.json() if response else {} + content = (((data.get('choices') or [{}])[0].get('message') or {}).get('content') or '').strip() + parsed = json.loads(content) if content else {} + actions = parsed.get('actions') if isinstance(parsed, dict) else [] + if not isinstance(actions, list): + actions = [] + cleaned = [a for a in actions if a in fallback_actions] + return { + 'ok': True, + 'summary': (parsed.get('summary') if isinstance(parsed, dict) else '') or fallback_summary, + 'actions': cleaned or fallback_actions, + 'source': 'llm', + } + + if ai_provider == 'custom_api' and api_url: + response = requests.post( + api_url, + headers={ + 'Authorization': 'Bearer %s' % api_key, + 'Content-Type': 'application/json', + }, + json={ + 'task': 'bad_contact_review', + 'reason': reason, + 'contact': contact, + 'classification_note': note, + }, + timeout=cfg.get('company_timeout', 20), + ) + data = response.json() if response else {} + actions = data.get('actions', []) if isinstance(data, dict) else [] + if not isinstance(actions, list): + actions = [] + cleaned = [a for a in actions if a in fallback_actions] + return { + 'ok': True, + 'summary': (data.get('summary') if isinstance(data, dict) else '') or fallback_summary, + 'actions': cleaned or fallback_actions, + 'source': 'custom_api', + } + except Exception as ex: + _logger.warning('Phonecenter bad contact review failed: %s', ex) + + return { + 'ok': True, + 'summary': fallback_summary, + 'actions': fallback_actions, + 'source': 'fallback', + } + + @api.model + def _phonecenter_dedupe_companies(self, items): + deduped = [] + seen = set() + for raw in items or []: + item = self._phonecenter_normalize_company_item(raw) + if not item: + continue + key = (item.get('name', '').lower().strip(), item.get('address', '').lower().strip()) + if key in seen: + continue + seen.add(key) + deduped.append(item) + return deduped + + @api.model + def _phonecenter_search_google_places(self, industry, lat, lng, radius_km, cfg): + key = cfg.get('company_api_key') or cfg.get('google_maps_key') + if not key: + return [] + + query = (industry or '').strip() or 'unternehmen' + radius_m = max(1000, int((radius_km or 10) * 1000)) + params = { + 'query': query, + 'location': f'{lat},{lng}', + 'radius': radius_m, + 'key': key, + 'language': 'de', + } + items = [] + + try: + response = requests.get( + 'https://maps.googleapis.com/maps/api/place/textsearch/json', + params=params, + timeout=cfg.get('company_timeout', 20), + ) + payload = response.json() + for row in payload.get('results', [])[:cfg.get('max_results', 30)]: + location = row.get('geometry', {}).get('location', {}) + items.append({ + 'id': row.get('place_id'), + 'place_id': row.get('place_id'), + 'name': row.get('name'), + 'address': row.get('formatted_address') or row.get('vicinity') or '', + 'rating': row.get('rating') or 0, + 'city': '', + 'source': 'google_places', + 'lat': location.get('lat'), + 'lng': location.get('lng'), + }) + except Exception as ex: + _logger.warning('Phonecenter Google Places search failed: %s', ex) + + return items + + @api.model + def _phonecenter_search_custom_company_api(self, industry, lat, lng, radius_km, cfg): + api_url = (cfg.get('company_api_url') or '').strip() + if not api_url: + return [] + + headers = {'Content-Type': 'application/json'} + if cfg.get('company_api_key'): + headers['Authorization'] = 'Bearer %s' % cfg.get('company_api_key') + + body = { + 'industry': industry, + 'lat': lat, + 'lng': lng, + 'radius_km': radius_km, + 'limit': cfg.get('max_results', 30), + } + + try: + response = requests.post(api_url, headers=headers, json=body, timeout=cfg.get('company_timeout', 20)) + payload = response.json() + if isinstance(payload, dict): + return payload.get('companies', []) or [] + except Exception as ex: + _logger.warning('Phonecenter custom company API search failed: %s', ex) + return [] + + @api.model + def _phonecenter_enrich_companies_openai(self, companies, industry, location_query, cfg): + api_url = (cfg.get('ai_api_url') or '').rstrip('/') + api_key = cfg.get('ai_api_key') or '' + model = cfg.get('ai_model') or 'gpt-4o-mini' + if not api_url or not api_key: + return companies + + prompt = { + 'industry': industry, + 'location': location_query, + 'companies': companies, + 'task': 'Normalisiere, entferne Dubletten und bewerte Relevanz fuer Branchen- und Ortsbezug. Antworte als JSON-Objekt mit key "companies".', + } + + try: + response = requests.post( + '%s/chat/completions' % api_url, + headers={ + 'Authorization': 'Bearer %s' % api_key, + 'Content-Type': 'application/json', + }, + json={ + 'model': model, + 'temperature': 0.1, + 'messages': [ + {'role': 'system', 'content': 'Du bist ein Daten-Normalisierer fuer Firmenlisten. Gib nur gueltiges JSON zurueck.'}, + {'role': 'user', 'content': json.dumps(prompt, ensure_ascii=False)}, + ], + 'response_format': {'type': 'json_object'}, + }, + timeout=cfg.get('company_timeout', 20), + ) + data = response.json() + content = (((data.get('choices') or [{}])[0].get('message') or {}).get('content') or '').strip() + parsed = json.loads(content) if content else {} + enriched = parsed.get('companies', []) if isinstance(parsed, dict) else [] + return self._phonecenter_dedupe_companies(enriched) or companies + except Exception as ex: + _logger.warning('Phonecenter OpenAI enrichment failed: %s', ex) + return companies + + @api.model + def _phonecenter_enrich_companies_custom(self, companies, industry, location_query, cfg): + api_url = (cfg.get('ai_api_url') or '').strip() + if not api_url: + return companies + + headers = {'Content-Type': 'application/json'} + if cfg.get('ai_api_key'): + headers['Authorization'] = 'Bearer %s' % cfg.get('ai_api_key') + + body = { + 'industry': industry, + 'location': location_query, + 'companies': companies, + } + + try: + response = requests.post(api_url, headers=headers, json=body, timeout=cfg.get('company_timeout', 20)) + payload = response.json() + if isinstance(payload, dict): + enriched = payload.get('companies', []) or [] + normalized = self._phonecenter_dedupe_companies(enriched) + return normalized or companies + except Exception as ex: + _logger.warning('Phonecenter custom AI enrichment failed: %s', ex) + return companies + + @api.model + def _phonecenter_get_google_place_details(self, place_id, cfg): + key = cfg.get('company_api_key') or cfg.get('google_maps_key') + if not key or not place_id: + return {} + + detail_fields = ','.join([ + 'name', + 'formatted_address', + 'formatted_phone_number', + 'international_phone_number', + 'website', + 'rating', + 'user_ratings_total', + 'business_status', + 'types', + 'url', + 'geometry', + ]) + try: + response = requests.get( + 'https://maps.googleapis.com/maps/api/place/details/json', + params={ + 'place_id': place_id, + 'fields': detail_fields, + 'key': key, + 'language': 'de', + }, + timeout=cfg.get('company_timeout', 20), + ) + payload = response.json() + if payload.get('status') != 'OK': + return {} + details = payload.get('result') or {} + return { + 'id': place_id, + 'place_id': place_id, + 'name': details.get('name') or '', + 'address': details.get('formatted_address') or '', + 'phone': details.get('formatted_phone_number') or details.get('international_phone_number') or '', + 'website': details.get('website') or '', + 'email': '', + 'rating': details.get('rating') or 0, + 'source': 'google_places', + 'google_maps_url': details.get('url') or '', + 'types': details.get('types') or [], + 'verified': True, + 'verified_at': fields.Datetime.now().strftime('%Y-%m-%d %H:%M:%S'), + 'business_status': details.get('business_status') or '', + 'lat': (details.get('geometry') or {}).get('location', {}).get('lat'), + 'lng': (details.get('geometry') or {}).get('location', {}).get('lng'), + } + except Exception as ex: + _logger.warning('Phonecenter Google Place details failed: %s', ex) + return {} + + @api.model + def phonecenter_get_company_details(self, payload): + payload = payload or {} + cfg = self._phonecenter_get_settings() + company = payload.get('company') or {} + if not isinstance(company, dict): + company = {} + + provider = (company.get('source') or cfg.get('company_provider') or 'google_places').strip() + place_id = (company.get('place_id') or company.get('id') or '').strip() + + details = {} + if provider == 'google_places' and place_id: + details = self._phonecenter_get_google_place_details(place_id, cfg) + + if not details: + details = self._phonecenter_normalize_company_item(company) or {} + if details: + details['verified'] = bool(details.get('verified', False)) + details['verified_at'] = details.get('verified_at') or '' + + if not details: + return { + 'ok': False, + 'message': 'Keine Unternehmensdetails gefunden.', + } + + details.setdefault('source', provider) + details['analysis'] = self._phonecenter_analyze_company(details, cfg) + return { + 'ok': True, + 'company': details, + } + + @api.model + def phonecenter_search_companies(self, payload): + payload = payload or {} + cfg = self._phonecenter_get_settings() + + current_options = payload.get('current_options') or [] + current_list = self._phonecenter_dedupe_companies(current_options) + + min_entries = cfg.get('min_entries', 8) + if current_list and len(current_list) < min_entries: + return { + 'companies': current_list, + 'added_count': 0, + 'search_blocked': True, + 'min_entries': min_entries, + 'message': 'Naechste Suche erst ab Mindestanzahl moeglich.', + } + + industry = (payload.get('industry') or '').strip() + location_query = (payload.get('location_query') or '').strip() + radius_km = int(payload.get('radius_km') or 20) + + lat = payload.get('lat') + lng = payload.get('lng') + if (lat is None or lng is None) and location_query: + location_info = self.phonecenter_check_location(location_query) + lat = location_info.get('lat') + lng = location_info.get('lng') + + if lat is None or lng is None: + return { + 'companies': current_list, + 'added_count': 0, + 'search_blocked': bool(current_list and len(current_list) < min_entries), + 'min_entries': min_entries, + 'message': 'Kein gueltiger Ort fuer die Suche vorhanden.', + } + + provider = cfg.get('company_provider', 'google_places') + found = [] + if provider == 'google_places': + found = self._phonecenter_search_google_places(industry, lat, lng, radius_km, cfg) + elif provider == 'custom_api': + found = self._phonecenter_search_custom_company_api(industry, lat, lng, radius_km, cfg) + + if not found: + found = [{ + 'id': 'fallback-%s-1' % (industry or 'unternehmen'), + 'name': '%s %s 1' % (industry or 'Unternehmen', location_query or ''), + 'city': location_query, + 'source': 'mock', + }] + + normalized_new = self._phonecenter_dedupe_companies(found) + ai_provider = cfg.get('ai_provider', 'openai') + if ai_provider == 'openai': + normalized_new = self._phonecenter_enrich_companies_openai(normalized_new, industry, location_query, cfg) + elif ai_provider == 'custom_api': + normalized_new = self._phonecenter_enrich_companies_custom(normalized_new, industry, location_query, cfg) + + combined = self._phonecenter_dedupe_companies(current_list + normalized_new) + combined = combined[:cfg.get('max_results', 30)] + + return { + 'companies': combined, + 'added_count': max(0, len(combined) - len(current_list)), + 'search_blocked': bool(combined and len(combined) < min_entries), + 'min_entries': min_entries, + 'radius_km': radius_km, + 'provider': provider, + 'ai_provider': ai_provider, + } + class dssSettingsSave(models.Model): diff --git a/models/dss_systemtypen.py b/models/dss_systemtypen.py index ec4f5f8..f1c188b 100755 --- a/models/dss_systemtypen.py +++ b/models/dss_systemtypen.py @@ -55,6 +55,7 @@ class dsssystemtypen(models.Model): showonlinestate_type = fields.Selection([('RPORT','RPort Status'),('VNNOX','Vnnox System')]) inputform_type = fields.Char('Eingabeformular Typ', tracking=True) web_input_template = fields.Char('Web-Eingabe Template', tracking=True) + web_input_showimage_url = fields.Char('Web-Eingabe Bild URL', tracking=True) diff --git a/models/dss_trigger.py b/models/dss_trigger.py index 4d10f81..3bffb28 100755 --- a/models/dss_trigger.py +++ b/models/dss_trigger.py @@ -20,7 +20,7 @@ TUYA_LOGGER.setLevel(logging.ERROR) logging.setLoggerClass(OdooCustomLogger) _logger = logging.getLogger(__name__) -#_logger.setloging(False) +_logger.setloging(False) ##_logger = logging.getLogger(__name__) @@ -291,7 +291,7 @@ class trigger(models.Model): if mailcc: _logger.info('Trigger Aktion TRA_' + str(self)+' Sending Email - vor CC Add deep') VsPartner = self.env['res.partner'].search([('id','=',Dataset.contract_writer.id)]) - ccmailto = ccmailto+';'+VsPartner.email + ccmailto = ccmailto+', '+VsPartner.email _logger.info('Trigger Aktion TRA_' + str(self)+' Sending Email CC Writer - FIX Empfänger : '+str(VsPartner)+' -> '+str(ccmailto)+' + '+str(VsPartner.email)) _logger.info('Trigger Aktion TRA_' + str(self)+' Sending Email - Template : '+str(email_template)+" Empfänger :"+str(mailto)+'/'+str(ccmailto)+' -> '+str(Dataset)) email_template.email_to = mailto @@ -327,7 +327,7 @@ class trigger(models.Model): return True - + class dsstriggerconditions(models.Model): _name = "dss.triggerconditions" _description = "DigitalSignage Trigger Bedingungen" @@ -752,6 +752,7 @@ class dsstriggertypes(models.Model): trigger_block_config = fields.Char('Blockly Design',tracking=True) trigger_block_raw_config = fields.Char('Blockly command Design',tracking=True) trigger_block_command_uptodate = fields.Boolean('Blockly command aktuell',tracking=True) + trigger_auto_code_create = fields.Boolean('Autom. Cod erstellen',tracking=True, default=False) trigger_block_command = fields.Char('Blockly command',tracking=True) @api.model @@ -860,11 +861,11 @@ class dsstriggertypes(models.Model): @api.model def NewBlockTrigger(self,triggername,triggeraktiv): _logger.info("Trigger New Block Trigger !"+str(triggername)) - newtrigger = self.env['dss.triggertypes'].create({'triggername':triggername,'trigger_is_block_config':True,'trigger_active':triggeraktiv}) + newtrigger = self.env['dss.triggertypes'].create({'triggername':triggername,'trigger_is_block_config':True,'trigger_active':triggeraktiv,'trigger_auto_code_create':False}) return newtrigger @api.model - def UpdateBlockTrigger(self,triggername,blockcode,blockcommand,blockcommand_uptodate,triggertable,triggeraktiv ): + def UpdateBlockTrigger(self,triggername,blockcode,blockcommand,blockcommand_uptodate,triggertable,triggeraktiv,triggerautocode=False): _logger.info("Trigger Update Block Trigger !"+str(triggername)) foundtrigger = self.env['dss.triggertypes'].search([('triggername','=',triggername)]) if foundtrigger: @@ -875,6 +876,7 @@ class dsstriggertypes(models.Model): foundtrigger.trigger_block_command_uptodate=blockcommand_uptodate foundtrigger.trigger_block_command=blockcommand foundtrigger.trigger_table = triggertable_ + foundtrigger.trigger_auto_code_create = bool(triggerautocode) return foundtrigger @api.model @@ -939,7 +941,10 @@ class dsstriggeractions(models.Model): email_has_attachments = fields.Boolean('Email mit Anhang',tracking=True,help='Soll die Email mit Anhang versendet werden ?') email_contract_attachment_types = fields.Many2many('dss.mediatypes',tracking=True,help='Welche Dateitypen aus dem Vertrag sollen als Anhang versendet werden ?') + + activity_user_fix = fields.Boolean('Empfänger der Aufgabe ist fix',tracking=True) activity_user = fields.Many2one('res.users','Empfänger der Aufgabe',tracking=True) + activity_user_field = fields.Many2one('ir.model.fields', string='Empfänger der Aufgabe',tracking=True) activity_type = fields.Many2one('mail.activity.type','Art der Aufgabe',tracking=True) activity_date_type = fields.Selection([('TOPLU','Von heute in x Tagen'),('TOFIX','An einem festen Datum'),('TOFIXDB','An einem festen Datum der Datenbank'),('TOPLUDB','An einem festen Datum der Datenbank + x Tage')],tracking=True) activity_date_type_add_days = fields.Integer('x Tage Aufschlag',tracking=True) @@ -1010,7 +1015,7 @@ class dsstriggeractions(models.Model): if self.email_getfrom == "FIX": mailto = "" for partner in self.email_fix_email: - mailto = mailto+';'+partner.email + mailto = mailto+','+partner.email _logger.info('Trigger Aktion TRA_' + str(self)+' Sending Email - FIX Empfänger : '+str(self.email_getfrom)+' -> '+str(mailto)) elif self.email_getfrom == "DATA": mailto = str(Dataset[self.email_data_field.name]) @@ -1090,8 +1095,11 @@ class dsstriggeractions(models.Model): elif self.activity_date_type == 'TOFIXDB': deadline = Dataset[self.action_field.name] elif self.activity_date_type == 'TOPLUDB': - deadline = Dataset[self.action_field.name] - deadline = deadline + relativedelta(days=self.activity_date_type_add_days) + base_deadline = Dataset[self.action_field.name] + if not base_deadline: + # Fallback avoids bool + relativedelta crash when source field is empty. + base_deadline = datetime.now() + deadline = base_deadline + relativedelta(days=self.activity_date_type_add_days) if not Dataset: _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task - No Dataset - use Test '+str(self.trigger_table)+' '+str(self.action_test_id)) @@ -1102,11 +1110,26 @@ class dsstriggeractions(models.Model): _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task - No Model '+str(ds)+' '+str(self.trigger_table)) else: _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task '+str(self.Info_Subject)+' ('+str(self.activity_user)+') - Model : '+str(self.trigger_table.id)+'/'+str(ds.id)+' '+str(deadline)) + if self.activity_user_fix: + _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task '+str(self.Info_Subject)+' - User FIX ('+str(self.activity_user)+')') + userid = self.activity_user.id + else: + _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task '+str(self.Info_Subject)+' - User current ('+str(self.env.user.name)+') from field '+str(self.activity_user_field.name)+' -> '+str(Dataset[self.activity_user_field.name])) + partner = self.env['res.partner'].search([('id','=',Dataset[self.activity_user_field.name].id)],limit=1) + _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task '+str(self.Info_Subject)+' - User current ('+str(self.env.user.name)+') from field '+str(self.activity_user_field.name)+' -> '+str(Dataset[self.activity_user_field.name])+' -> Partner : '+str(partner)) + if partner.user_ids: + if len(partner.user_ids) > 1: + userid = partner.user_ids[0].id + else: + userid = partner.user_ids.id + else: + userid = self.env.user.id + _logger.info('Trigger Aktion TRA_' + str(self)+' Create Task '+str(self.Info_Subject)+' - User current ('+str(self.env.user.name)+') from field '+str(self.activity_user_field.name)+' -> '+str(Dataset[self.activity_user_field.name])+' -> Partner : '+str(partner)+' -> User : '+str(userid)) self.env['mail.activity'].create({ 'display_name': self.Info_Subject, 'summary': self.activity_text, 'date_deadline': deadline, - 'user_id': self.activity_user.id, + 'user_id': userid, 'res_id': ds.id, 'res_model_id': self.trigger_table.id, 'activity_type_id': self.activity_type.id @@ -1167,11 +1190,11 @@ class dsstriggermodel(models.Model): return obj @api.model - def trigger_track_template(self, changes, Dataset): + def trigger_track_template(self, changes, Dataset): _logger.info("Trigger in track_template - "+str(Dataset)+" - Changes : "+str(changes)) hook = self.env['dss.settings.vars'].search([('varname','=','N8NWebhook-OnChange')]) - if hook: - if hook.varvalue: + if (hook): + if not (hook.varvalue == "FALSE"): _logger.info("Trigger in track_template - N8NWebhook-OnChange - "+str(Dataset.triggergroup)+" - Changes : "+str(changes)) # Call N8N Webhook try: diff --git a/models/utils.py b/models/utils.py old mode 100644 new mode 100755 diff --git a/security/groups.xml b/security/groups.xml index 54cfb2f..8b35fd7 100755 --- a/security/groups.xml +++ b/security/groups.xml @@ -4,6 +4,11 @@ 15 + + Telefoniecenter + 16 + + Standarduser @@ -35,4 +40,34 @@ + + Grundrecht Telefoniecenter + + + + + + Ansichtsmodus: Callcenter + + + + + + Ansichtsmodus: Projektmanagement + + + + + + Ansichtsmodus: Aussendienst + + + + + + Ansichtsmodus: Administrator + + + + \ No newline at end of file diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 14f4902..1c69917 100755 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -33,6 +33,7 @@ digitalsignage_dss_triggergroups_group_user,access.dss.triggergroups,model_dss_t digitalsignage_dss_maintaintask_group_user,access.dss.maintaintask,model_dss_maintaintask,base.group_user,1,1,1,1 digitalsignage_dss_provision_group_user,access.dss.provision,model_dss_provision,base.group_user,1,1,1,1 digitalsignage_dss_provisionstypen_group_user,access.dss.provisionstypen,model_dss_provisionstypen,DigitalSignage.group_prov_user,1,1,1,1 +digitalsignage_dss_company_type_group_user,access.dss.company.type,model_dss_company_type,base.group_user,1,1,1,1 digitalsignage_dss_payintervals_group_user,access.dss.payintervals,model_dss_payintervals,base.group_user,1,1,1,1 digitalsignage_dss_importinvoicelist_group_user,access.dss.importinvoicelist,model_dss_importinvoicelist,base.group_user,1,1,1,1 digitalsignage_dss_web_contracts_group_user,access.dss_web_contracts,model_dss_web_contracts,base.group_user,1,1,1,1 @@ -53,8 +54,17 @@ digitalsignage_dss_triggeractions_groups_group_user,access.dss.triggeractions.gr digitalsignage_dss_screendesign_group_user,access.dss.screendesign,model_dss_screendesign,base.group_user,1,1,1,1 digitalsignage_dss_binaries_group_user,access.dss.binaries,model_dss_binaries,base.group_user,1,1,1,1 digitalsignage_dss_binaries_wizard_new_group_user,access.dss.binaries.wizard.new,model_dss_binaries_wizard_new,base.group_user,1,1,1,1 +digitalsignage_dss_advertisefields_create_from_template_wizard_group_user,access.dss.advertisefields.create.from.template.wizard,model_dss_advertisefields_create_from_template_wizard,base.group_user,1,1,1,1 +digitalsignage_dss_advertisefields_create_from_project_wizard_group_user,access.dss.advertisefields.create.from.project.wizard,model_dss_advertisefields_create_from_project_wizard,base.group_user,1,1,1,1 +digitalsignage_dss_advertisefields_save_as_template_wizard_group_user,access.dss.advertisefields.save.as.template.wizard,model_dss_advertisefields_save_as_template_wizard,base.group_user,1,1,1,1 digitalsignage_dss_linkmail_group_user,access.dss.linkmail,model_dss_linkmail,base.group_user,1,1,1,1 digitalsignage_dss_kileads_requests,access.dss.kileads.requests,model_dss_kileads_requests,base.group_user,1,1,1,1 digitalsignage_dss_kileads,access.dss.kileads,model_dss_kileads,base.group_user,1,1,1,1 digitalsignage_dss_contracts_uservars_group_user,access.dss.contracts_uservars,model_dss_contracts_uservars,base.group_user,1,1,1,1 -digitalsignage_dss_settings_vars_group_user,access.dss.settings.vars,model_dss_settings_vars,base.group_user,1,1,1,1 \ No newline at end of file +digitalsignage_dss_settings_vars_group_user,access.dss.settings.vars,model_dss_settings_vars,base.group_user,1,1,1,1 +digitalsignage_dss_csvs_group_user,access.dss.csvs,model_dss_csvs,base.group_user,1,1,1,1 +digitalsignage_dss_ai_chat_history_group_user,access.dss.ai.chat.history,model_dss_ai_chat_history,base.group_user,1,1,1,1 +digitalsignage_dss_portal_user_profile_group_system,access.dss.portal.user.profile,model_dss_portal_user_profile,base.group_system,1,1,1,1 +digitalsignage_dss_phonecenter_query_group_user,access.dss.phonecenter.query,model_dss_phonecenter_query,base.group_user,1,1,1,1 +digitalsignage_dss_phonecenter_query_line_group_user,access.dss.phonecenter.query.line,model_dss_phonecenter_query_line,base.group_user,1,1,1,1 +digitalsignage_dss_contracts_move_field_wizard_group_user,access.dss.contracts.move.field.wizard,model_dss_contracts_move_field_wizard,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/static/src/helpers/helper.html b/static/src/helpers/helper.html new file mode 100755 index 0000000..65011d8 --- /dev/null +++ b/static/src/helpers/helper.html @@ -0,0 +1,52 @@ + +

+ \ No newline at end of file diff --git a/static/src/img/amazon.png b/static/src/img/amazon.png old mode 100644 new mode 100755 diff --git a/static/src/img/img_105_b.jpg b/static/src/img/img_105_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_105_b_2.jpg b/static/src/img/img_105_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_105_b_3.jpg b/static/src/img/img_105_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_113_b.jpg b/static/src/img/img_113_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_113_b_2.jpg b/static/src/img/img_113_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_113_b_3.jpg b/static/src/img/img_113_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_115_b.jpg b/static/src/img/img_115_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_117_b.jpg b/static/src/img/img_117_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_119_b.jpg b/static/src/img/img_119_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_119_b_2.jpg b/static/src/img/img_119_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_119_b_3.jpg b/static/src/img/img_119_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_121_b.jpg b/static/src/img/img_121_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_134_b.jpg b/static/src/img/img_134_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_134_b_2.jpg b/static/src/img/img_134_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_134_b_3.jpg b/static/src/img/img_134_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_135_b.jpg b/static/src/img/img_135_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_137_b.jpg b/static/src/img/img_137_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_137_b_2.jpg b/static/src/img/img_137_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_137_b_3.jpg b/static/src/img/img_137_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_138_b.jpg b/static/src/img/img_138_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_138_b_2.jpg b/static/src/img/img_138_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_138_b_3.jpg b/static/src/img/img_138_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_142_b.jpg b/static/src/img/img_142_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_142_b_2.jpg b/static/src/img/img_142_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_142_b_3.jpg b/static/src/img/img_142_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_145_b.jpg b/static/src/img/img_145_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_145_b_2.jpg b/static/src/img/img_145_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_145_b_3.jpg b/static/src/img/img_145_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_146_b.jpg b/static/src/img/img_146_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_146_b_2.jpg b/static/src/img/img_146_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_146_b_3.jpg b/static/src/img/img_146_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_148_b.jpg b/static/src/img/img_148_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_148_b_2.jpg b/static/src/img/img_148_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_14_b.jpg b/static/src/img/img_14_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_14_b_2.jpg b/static/src/img/img_14_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_14_b_3.jpg b/static/src/img/img_14_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_150_b.jpg b/static/src/img/img_150_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_150_b_2.jpg b/static/src/img/img_150_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_150_b_3.jpg b/static/src/img/img_150_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_151_b.jpg b/static/src/img/img_151_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_151_b_2.jpg b/static/src/img/img_151_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_151_b_3.jpg b/static/src/img/img_151_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_17_b.jpg b/static/src/img/img_17_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_18_b.jpg b/static/src/img/img_18_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_21_b.jpg b/static/src/img/img_21_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_21_b_2.jpg b/static/src/img/img_21_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_21_b_3.jpg b/static/src/img/img_21_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_225_b.jpg b/static/src/img/img_225_b.jpg new file mode 100755 index 0000000000000000000000000000000000000000..161ada6a8c35df5669cf617b25c658a713c72aaa GIT binary patch literal 344962 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 z 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Ð~n~AZf{R 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͓hfm5wZwsP0J&TqA5kU`#1&N46sDGF<#S&F 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 F|Jj;Ik+A>( literal 0 HcmV?d00001 diff --git a/static/src/img/img_225_b_2.jpg b/static/src/img/img_225_b_2.jpg new file mode 100755 index 0000000000000000000000000000000000000000..96cee2699a43e5051071a5a68def135ffd038826 GIT binary patch literal 186621 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ž*7hM_02_#Q_z?D=Kr1h z@tYt^)9m)eql%7@Vc7pZm3DK-Y8wrCE8D(9q3Ka9ZuI8SY4cUqP?LUh;QZ~ji+$?r z1Qq#@5{0u1wc@J8*zUn8jdY=bh{-wqVh8yfV#oNN=>pWg-ZENwT$C*;@=V-8gcn^!n3yFC7yVynxviBX3wJ~(9 zOeLc>)FO=Zfxp4A*gWmPG)ean1G9*1#ol&^gXmLCfRIgpb%chyRH^3atJHr8OnJYY zUvsf0cf+JRBeAqY7i8%p(iW$3ZMD+_q8pe4ieIw*GfLsRCm*_?5j&}E!@1CG-?!n3 z(efFYO65uVW|qp+dD6~q$%hkSXfHRfA0L1$frd#9VG~&^v>fzTii%XK^!)o`pS!Sd zT9Z#oNN(xh7;6D8>P&9v>j!2*-x<5AumXg5Fw6V9idT+hW3sU~%F@v1#B)hmL?>0z z{zKpqVDLHqyu%n@3@dt$6PuzEBl~!nn70g!+^Cg0W9V4@w5=yMo;dtorm?dGUV)fo zL(l8$AQ*V#u% z+$STUx~9_|5@z|=##djwEv``>=elnK8w~KLGe6RXK}cEbC#5&ioZVFU!_)Me`yK>v zjX@0`AC+D2d4`npw9OPT5(5;3F9elt9L!zD@1?!%<2TcB=%?}ymv;^pIasRYhSpNY zWxNEPeojWJy>4gIqmm28(Gi5r4db-tNuF+fc`Z7O`?zg!E{jslg)nEo$V1Y{@n6nQ~+QE9mEsuqrqqA;5&NqSN+ZI~_+y2H$Q!m3;zuW64z z=P^sZCno(8^S;=>$*8(~0lxNiLQCLoj=`545^p z{4#mj3cviyjwCkV{AZ{uVoOYx;(cvZt(=rgYyE&r9#xN@z3bv>n)w{=NWtvu!XuBG ze@!xPbM-fWx2>lIhP}pHbCJry#CvA0;@dsBvPrOFXqx8Xu*!zieB#OY_uW0Jjx?7* z%FsolCz`g4fJ50`JxVdUD1Pa(>LRdx{GodM;Z4D#sNjQCQ~>0t?`E6PNEopFDvVhh zUOG|JW_sYJFlCm5zLW&h{r7iemj*ljkL84me>GgC8QHmpNmwue#Y1~Z+JNdu>P2F| zdw~_Xil&AIR>d5^aSf6m|c=FEo`Xz5U*y!hQJKisel_sWi5@6otTTseeMO*QF8$Qa^?Fj~os3-@aZ@7k%ISQx zY^AelOr^$26(Qem`_%^?571Iq58N*K+I1HgW^uJnqLl%cr}{rl?;6Lz%}$Yx!NN)r zvwT7uq54f>Tk`ZM*TvtBA{!YuK6CT!vJR^BvG#ZI2l^yzbDh)A?Qpv~6`g9kVB_a- zxElS8>S~l;flu=F@JVUS(elnW?Alj=%Z-RK_Bo5IXD89NkM^*C$>>kHLG$?7x|2YW zE7xL+a$ig<;bQ^xKu=W1QY>ukkvQ%DU93+Xi!LO!$w;4D)SSC3x;Lz7Ys*^tx$Y#p z3yJk;*bOXk7LN1pIi2QOkdZa53o=viMJkHa$e#6L!9N%X);QlhOg-$n)QPPpU&swwQmsd^U*LMi{y8wtq0RwxkkucifBk|V#l9{x z!#Jlmm2h4BGxDm*OxxFTv2Ys_7*^v(Qbd0sx0^(;m&hd+SJ+W$+}&R~kz~xG`oJJI ztYI`dGDR%}ukR9`H%>2XpK_O%n@EEg(@h&jI5*_=yr91hU(AH3KCrR3w7t6mck-t5 z((E3+Z}r|eeoli}8j+ETz3^C&MlasBr=};Db*htn5 z0&H(L>Ndy)L1G{ic7hpz!|N@Otmvw8T8I>Ap9178xI4KrB=`j1DXz=bBmY=d)n1y5xIqk`N7Itrh3`QhIb~hKrU7%!^BYIJQdXQTV*W zLzJQ+j`mTU_e9jS2jAe{L}B@!n9!T zfoCr9;e)FWy?};Hkv!`**gdl@15)Xt%L~}yYuD9p7qoJHu%IjXpeaZZb}a#WvN9iw zWK~A>^>%E)R0)alg5$5%mZfN}oq`_zcJZZU^iLv_)>qK6sVkPHbCfBlR$arrtnPNs z;A>B*S-6=<%zRQKW51OMYVHA*t2Wj(q>3#zVZFL9V%YnE-g#m~N@V26z>7|Cyt^a5 zCK9j1b>VM^GjWXa{)Aja;!_=Gw!*7%tlZv)g2Wz;bBZ}SA~_sPi^Wk_;VeGjys;k> zH>h7(cl}T*xYfh6dI&vvKt8udM$A)YIhT{EOlA-@dG;- znM+>P2n`>)897v!0ac?EwSA-5YjTX6v9xE&tat4{Kr<9PTrnPZ?>1y`{h@z5*saPP zWdvZjo49Odb-m*Z9_=)=G*|?l&r*br+GqFmQqsrTvd>KNE_WaPWEw{<)Q;Q5GZvEf zRo>?!TH){XYgA>95lD+wgz-ZM^E@=FMU>O*bT^>4aeJyGsskg*UY2vT;?;rEmTA}K zat^N8`g03MtiLWmHfX*-QQ}T)B?sVrLrMFkG0q1j=_|Y#dHEGwslb$j^h8l5?3mm` zd{qV4<=t$3*83HN%*nbsag`vHdX*8>cMi^~XJrk#JHu9MRzA~Gl}EVC0w8`gxd`JN zKb(HMsPV9!;m`l%>_h}R?ibHD+o9v27Bj*s)^(OI*D}YkY%AsbQ1W(?$X4-e=7Ypx zTJHfMqYuO0+^R{Vmx8&RU)K%N$`?6MsX+taUtOnr)SoDfzVv-1Hk_M3{#cQHo$ z&tbM{XcXA6B?Tm@_Sm3C<+B9=KnkZ$0(FrafmdZ&tO+tX3Vj%QgiUd)7n*{o(pJd~ zM`cpzLe`JWvoiuj*`poDfcxKa`*}%~rhb*$_Bt+w#cy7%R4gMLHs^HX_GEMfFWGTS zvXy&oHN#f_;Fl6`xAPT7kh@mb{TTc#u?AS9M(8&T8ffs18p)7<;zOCEP0iMu%frpZ zDC$?pcf|-fE)(Bv$hl4Gqtep;=>tU|G5`gl|6K2-Sr7=Mi}8vHuBJ?pIP0V5B&I?o zxW<8%P-a&JqOc!f7q9=+(pbzHJWB-+C4S^J<)vl7x~sG zj_j{~Uyb3T}w3pmAN4=lzwk|Q4-x(%xhLp zK>(4wcJJVY2KqwqI|l;|W(*F-Dr+c0PG+zCLb*}I_I5y_(-?*_={loT)<3Zr6Tsd+ z)HE3?j5XCW!J^v434BSVgmvdjSoIhu=JTh-;PrI8zIU5w!JX30`igAYfMW~GVDPur z%7d>xzH-TZQ10T3%p2#C{#c{B!60p`NNw0UB7D*0?NDZ4%PZvML^R-`M&!K-|1Y)c?67?U`Pku#GS*AyCCBetCobMU15eQM^? zm3BC7hwlJ3k)E1s5gK1iD_ipYO&lpM+PD}h>57qml>e)cIZ#??ZMV2M6ilr08EJ44 zTj8g$BKn0<)jFoEfg+{5u6?G>2|D)T>^9loM5t>f6X3nQ&{zL?>+oTC6@}hY!&EzC zH7wN)ZO$?#8E>g7<$ihBn+vvLp_sxn=>wTyM_~@*kpyodO-61)kFFsJuhG&1k$O@| z`OHyMRCdZ&g*DAH7dAxn4u3-9#GGLJ{$0?3GbaY;A@+)}1>qoB_AOu~c|gL%2uyxA zJLb0?ZddV5+3NKxrPB9DS-Cc^(G8`4Vw(#UTTzR-oq*T zKsRFgeP+er5oF4EyD7C$gm}D1=R*M4x?YMv`egTg_4~Z0uag40cFNlPwTjVKm`3rK zY~arcS|5SPp|QlizaAu~nBnRKvbDaV8}}4z$L6px)&Ac2(<2osVz9OM1hC3hl}HnV zWmdPKvW;r~VuR+?LaLaPikaOC)6DOTBwZi|j3Cz=v#yGSOHkgv>$sELadVP^2JFpA zr55#mCO_{QhAA$EL6F<$A(Jd1t4BRKvUvsG!8Hdd^n*8m_{ZFB#=QcCb?6Y|^X|94 z7%0h-Kk{*doJfRwZ&Cum5nhI!-cn{@%k@F+` zU`t_DiC*f~8SgWJZ_t7kG+Y2%Y)RcjSYC=bm)iU{V-2!MIHgJ$p(Be|@;#(O**v;7 zSI)z?+=T{k(Cb*KqqC5-6}xCDmFciU(uYn*C-H4QMwD?objY50&(vdwis3G3i3^NI zLO;h(2;6Z8{2N{NL3^YgMl7PO?5_Bc8DkX~bCJITb25y7PL;tsz_@olHF}b9UXfPl zYox?5sgzY_b|&^p#XJx+A#ysfO5D>}AadYjjPMBczQY~nAsP(E{&uwH$eOoLZ(!DJ z#vnG@IP}i2iXe)M(^|l3ZOv|h^H*x>9U0rV!LK?P)e1jJ#0DN0Ybg%=A)m5zJu&mm}BQ%%@=MZPpa^(p2MXJQw|90V) z!(;qD0NfB!pv`!fOCY%w)y>Bjq(Uthx4_xF%h|9Et%NvZ3NgsJ>0!hmg5_^rkgIn* z$nYcGnWg@m$ZF6|f;3Ld(5Mqz={XxvPAXkGBK`Ku=I;SBoCv5o?eIcty))>*xE*Sc z-cRD5CM)uZ^-jcF?LjAtBW8{eJpevJnRK%QLu4)nxv6Lzw*5e_Cmr&4Y5^kx$;0#_ z-0_-IA6?P-qQ8nF7*?p0%jIV`1gf#qqk0cRXmqqBg2%}U68&}AGI9l;Ec>zyA^#yL zmxOco#X8aeHhlYGzz5o>hG2Z1Bw%VXuL{0;R0HE{eKAILuAUBWYnmn zNXd|BRRB#~>Q>sr>s&GA0bo>(3Q(#Ts7a&xLUY{mZw4J^ftK%WQ8MVAfN<%KK{-Q3mdg4P&t(xt z8cj}@H;(=G3#)7%s=T97mB@gzT{*oF&0R;F;~K-*;v_afwVi$+3a6BrAOb-RDLC^m z8+p{K5>eXaQsVYIzK#iO$8l25P>EYTsTrYYy*`}cioOq7kQs=t?*?;)Cv5n zR>(T6ALhB1i8#UKydc4goB{OTvkb#lQtGi0?$-`21~-L%4~?2{1S5^9s(K*t_zj&y z`C0eNQQX*K!!|}L2zo&0{OW*H&_}d6Ey|9j3#Kzr66~P0#r*Wfp83m)`~;JX$9sK6EEmdUjv2$4Ywm`>7b|XQg%X1PIwtKMI`K}*OXg*! zgLf1_-Sot}G}j7Aidj2+Rry7@qV{rbKiY~ZzIRN+T60Xuq7CVA?cmIrLN=XY#Ezt` z9CQu2{$O_bN{lI8wuHvCrr>T!e4S}o!}vc5omNiC=e>%^=VY$0&AXBUO+kvKbq)S% zOOhJ|=TVL_7&V)~gxqs1BdCFL>fxn{l;hP`?n6&LL9rTZr=Ld%I)%6fe{QM1jPf9O zy|tdEKWOBum#Pd~2G_9Fn0fR0F1+gf?^Mr98I7%q3$kYI*C*@q0fo^^C$xDAG9yRF z(Z8ps2w35+?8_t@%_?J0|z1vkDeR)X;QLyD;{Qy(t_KeR4y*vi<8 zgbNI;k>CHIYdI8?KEMzi1V0K_dD7;5BrmWv3TA%pZs;u46``2+EzM z@6Fmw%x306N;VaSdboLnl3nLM;F5ognqng+D1U^eQu)=JUbMi&@rgE{hGhgpE%!sa z9F;#TT8SY!tJ2Yri8Hs?XONIz1OCW=aU5ah;(hJgHQTYUEzfK)-_zinhPPd-KMeVt z$>PUHE7oJ}oib1I3x_Z1=YiDux94j*3H^U`&?)(TdCtS&fm8>8~eXbF!wKBdsEVFr`5|I@uNc29t^u-HjSA4nk6DuYt62L)*xxRbmRQ;UHkXD=%mhO+&$;P)nQit&$|A;A?q zz3>Q5u+tT$yywzx@HMd5^O-R84cM*k4)r@Z$BC)|(rxk|0K-xxBcZNIZ|Eb$(4C*y zeq}s35pL5c+meVUVI!R}(mgVz-)cF?+V55ntp=Azc(?gBmwI?vo10e;->Z6Ae=9y- z5J9K+WDs61RsXg=edeX7G3nMCRD(H_(pXk}$9wLqJDOSXTA^TiRm+Y*Olw0Vu&&3c zoWdPdqzmL=EDrc4pw(9uLZE$4-K;T08PgPMG!f;*{=txZc3h>_tp>Pl<&hJp7&#{~ z2T^fX?^U9>OZ>$4J|oc|82W$|e28P;lF8K55m=n;o%#k7LNly=(X75~;Ke%V-wB2z z2=-b)=zNCih#u9dB#tE&xNmPi?=*!6l&H5{W?Ag4J-*o>?>d3sOn`veC+}VQrg3bG zsRA}r{fWu}%UN28;m1`W)fK{mH^|!9ywheJX(Co7UD5`tokOQg%jp(UVjATbrQCv= zZRFiXLd+ut5wC4NS}e^LjHLH&{9;iu`V#}+FC2lbdida4X&7&=S66X#D%eao_n|4Cf5d-HJNS)d6t}H7h&dotsZm z3O8+Id1g)<4#0*M-r4=zYsyJ2ZA0IwI^B&pLWGpf*UWE1%67E{E&K#7>;)0_upuV| z<^1aqB@DOky7%Y!HW)i}t$Zp2=1WEJrPT03yAhl$j{N!5;NUZ!%YykYn?yr2jd}Pi z<@{=zpiD2an?$HU9gM|G?Uupze7hcjQeLQWVwwn%AEuW3D5~X}r>-#TI679u^e$j0 zJV;N4U=Tkhk2NE!3Q_y#tGSe3udL8+wBCmYkOcWSaWd!Mv}B7O{v$d$#45#uIm2Wn zPuw5Aiq-7v?8p{cOseeUABKY0Uh;SBRWED(Ae2q&BUxkVMfl{38RbJv?*v5NnZxMm z$zL4gHGC=FI!snf61|}+H!?)Xb_y?XPnU&_Hqq;<=S=BxO60HS5Hr+JrYVvu#qAyC zcscj`@}r*#-sQ+YkDQ?Fmt6WBOZH;(|MF~89Lig7Jg3a4kE*(W#Q1fwRSFmF^FYqS z)@@Z|tlFZ1Q#e7g&SiY-It4d=V`d&79~&v!>#-3mh$_3(ZRCP%;wAEeK>BIu zMb`W=t@Ka78lA`$R`k)D*6)C=!@k^O<;fotO!*05b$=A(O$*!|qiJ0lJh%#f8gV^h>H-uh@diT>VGADd4Fl5%5M(aPJ zcPFsM{I=3v2{HqwSRTcS^O2&p$NgaXDE~CzgS}(ETUMLLmrsl|ww5O3hl@TlUv3cQ z%%6)$QQ~$+KCm$&Qc1PIWs(&&Mlk}{pn2%Lkk5hZ;qT}_JWO4DlvSZ#g)z%mikLY; z-pu_TaPD3om3?mo@o3?3Gdr)$NMg;OR*VAps?){46;?ZF-%*1ym)h;16^llJv`yCI z^@UwPxG8@Vhp4!0M+155nAzs*xLT6)YMAWHM1L5q5+i*2KZCTk=cyf^IS&PFpA|+O zhMhCcX#%YHq5~Cg<01WnQE+sE)_sa5A?zltaWoiEW2df8`*d>{Yn8BKJbE6d1-y&d zu@h+SIc*ewL&dV|dbYpA_#K$~QOjKUq#*XEmal}6Dhw(7&F#wag35R7HuUMt!!xR< zm}kZR5Z>W3&#!*Jz%1^1mgtpf(Op*c^iYdZ;)i@+b}&j^XhCJ-<#p6P&8Z7J{%K9@ z>FUr!bIc^Tt;b{{QA=oN_WX4Ho$35hl%&|TG035j#`!XQ?|@I76%DPjHR+r(zFWwRtWRN`FI&j zvw?SU{kEz~hR_IoRhZH?poy^XzB~q|JJlf^o7k#!Tqhl=4sEi`0BphIG$quTGi#&a z51nvfoe0iw3ovKKiF!Zpwzr#{+BV3+#ZAPO4j5=kFUh}&3w_HsDS#-{atJW+b&=%fekhGOKkM82D;8iYML1$raR4FR zHbNTPDKi?8_pcMq&1rL_o1~1zAELxVv3E^fY<6!rS*w?EKg(K>hh+L~lcn@@E}*Ba z^{*fuk@S^I!||flv+ucz~CL!o`|sP1k#6cc`0+zF0`E%G_H zxaa7JU+T-*CcMg~JLObOAwQAQ#6#bXSIrV`2dane_o+&W&JtBmLRoXNmPi%&Z# z6p8>DViML5YI^xiD42(yX=9S5ihdrpvfL7ylU?1y2UYTD(c4^SlCX?a(qVv)psoY1 z5AX6Ao-BJM%Jt!2B%zu1;ghFf3hIL+{!g-Qjeo-%z5>-0x&E%0%Pwyz|!LIjugQc@{9GCp%m~>a2Uoe*0GIT*uW%5eX zIqf3az10qbe0U+M3S*+=36;6c?UPM)7;=q}xShu8zRJo4dIO2kwsZ@NnVC%Wrby*+ z?&;uG>#n@HYU6y4H@YE@o3mWFr9D-TGQR~u8~@;<_ioF5o}HdRz}41YwLBY~oa((Z zynNvZVOL`-krtU&Y3|B`^jas-g!U-&wt)5ngar1L$)Z@_P3!&l?&*_!3|mN}TEzYv zV8(dm#6yX!83J7y9y4zw)Wm$|{{tyO*1lVZSyu7bhg`y4EN@_i_s(AHXw`A2Sww8K zoxu@cE;DmY)0W$^G8xd%*+&9WH1bD>Yvb$<!R6IKgq=aUP+_P6qV^5ORn zpJ@)*oId{0+?bXQIWswp-lr?h+T|OUo=#|*&NASrGGrCTwXt@Rn-&<&IE|LW?$5pkSe`Y4c{j)@!XAPdcg0lG0XLU7nYtFL{RN9!jn^HV+w;BIND926!Ebw8x_3{_3!0Hpz!x0(ew@4dTHpiy}&<0V01I5cZ2O?W2RIr4rol-72=cDr9! zMK>7$y2i|3Xg&$UeUV7lbxL2E0NK+CBH=d~Yf>0AO2UJ#&g)ZHbeWjosGz6sBj}7ToZ`*TxS(fvs)`A697Y$64$w;1m?-EEyT+Y1WQ3R)U;*Ab+L4t zt00|;=!7hH0*?;Lmgcz^vY=Gux3Fh=)56#HEq^N;lFsS-TNAq9zFYgP`}U0P+6LPX zvkaF8f=M_9IL7GMF;axtZ&Qfi0+a@RXDiW-^N|yXwn1EDXK?CJ#J1MRk3Q(96d}c# z2A7cnvKOohJKP-UnMt^n6|KZ*%*{aS9eBusWS_>!PZ(%9Hj}KlDK*Tzc2xj0iV{=^ zFGzE>G-A3#i$hF=q_fP_HVTFtzAIXY4i~5W_*)>LMvQ$MFG%mR8!j@Ae~?h06w32! z;Ip53zYYyoTSg5-1zMubt(~W8t|`yKvZ@YTta&>ZF4q-~TXEol3#=D)uuiKrmy8#%UD_&B zdch-6D`C$yp7U<|yC$UE0Rmepq!$&rG|oh1-DZe2-lb@7%Rb(j5?Cw{;b6OxTA6FO zT6l$lD?qIsTULniP^a*WpZ&kRvA-@``1XzN+6mfv*sHDlf?pe;bHZ^9B!}E_L zYm)@z&@oq@@EYt5m)w0+8UFx&C^!u1>Y{6^(EFf`l?Er2`UWi$yAAHAMP92})EjyF!B?;|*@WET6od=vUhq6m{1 ziT%`9Iv1sTwT)X-9SqEU_1GKHx~7e8dVBgrUa`*IDFj$fWI{Yq1ptDWSSen*b`^}~ zov|E;?r&`?aR|t*>srCcOBpQ{E0bE5KSiXpip0$_W_a4`e=@+8pjM8pt3-IHebJNu z0JrzHH|6rncN5wU?nAhv?75*#nUz^JtI;-pF~NFQ7jD$4**Exu$lDM+OkGgAw>tt& z;2br6>Lgi_4(XFMY$>5dE*fk;XwlRvD0ZoM$vs6o0P_k%2Q-7?uw5elmFItd?pcp* z`OTtug(nFW9m7zU)kA3aKo&-i@kya#Kw3^se41d23%af9t0ktN90NG8{ zp5)es892(5gUWV(6N)@VJXfS z%o|OCMeXXn)vC=OrbOfxrKA>`^@~icB8A*!ZFQ~Uh1&+&tbVE=bY#D}-@UQB{{Z-m zk$B2$);Gmf;}W#ipV4W37AL`L@LuZfrfwV)PV`~K*kS!vePw|u{FFfPI$1n+*%|EVoZnI>USbbbf(Yjb$(k1ZZ0yZZJYf&Ral$az2@}Y=e z%37$pIL3`Tcc3>}MO4x86hTuQLSf_PnsQGoN-FX#-bwBBR*J!3u(TU7SgckhYqDeE zwbqU^v~I9U6$K`=8njrjV)uLzcH2ybHByksW?Op3Pz_qu0%;Q`TCI}{en{@4?5^$L ze-huyP&+HJI0?^r)PjV6)YbJ(nayew(!MFJsze#5z=u+FiiBJ5HfRmfMXfoo^GDrG z=E4}2auY*Zn$x2>qATKqOxEjM*I?==31Fs8u>)kF!HG=U&!U1_+ve}Se!(%6V?zYP z1hovAYGoGdJFg*L8*P<zf!?Mt)PiJZV#}Zf zFeY$NL!L~{>78R&-83}G&v(+!qC2GDb>C%n1H+=bTTY4%*5f20!xC$3n6kM6MsLh= z1VeYLZgEka7NWge&b^=B#n)f;dcVFYq(hU8ITJjN3VTp0N;`kl`vm5?+Tc-52poW& z&)J*UKZU1_o3dK`WK^3ET+G+2Z`EiwuolUHxXV(Tp*#(xxhJY&e6f<8SY@Je$!i8K zGDN=SGNY$EByqLe0zS(A-=Y5i6ZW$6uveX;{Us5=`?O7mqVOffKjI*Op_op5D3^6> z;-LB>?84}c7>db5jSPa*DyT5_HusK1A+X-?$i0G@ra)0aHN1mKkk(ad(}6*wS(1(n zH%caB4$c1n-o?~1XWl>G_lj_cx=Hkpl~0Q?o^g63}2 zqw*-^x1ZS!Za4*8ZJO)j>k|$3X7&*+=WBY%u|xHM)mV}F1bUm-HD0j)0GMP#`Qp-~ zAx56rulabNsXE}3XF+3I6Qf^v#LW;oB&qQ!{{WI_>P5_L)}MDOa4%onuDnGfg7r`E zUa9^HTGjV3hR#z?FazbT>XVre%C%ml$!qbxzmAvc1y;u7;HcRD0H`lS($?%IYF$&W z%Ny7rE|=~LH=)GgJ1X1zlNr<-!x23s%g}nio_a~#ypi@-_WcLH`zdR6uB@p|_68sQ zOWq^;DYt@d+9)q@Ig_r%8QWe?M03OLp`G&n{+R~YLuAc{9plx@4oKE*Ih^tPCX`{i zMa|xUZ1Lnc%?`1$g(7NZpB=GCY)y>S#Z|N95xUadRc+g7pB1f>$dQ$%bqe!yq4_AE z-n0q@YCwFW?xv=2MaOCk6d1Vd2r;5e8j+u~4i=o3+AR}>(vJg0njSmGX~E4T@mIQo zt3Lk#*-7wAowoFpnFO`lZ_da*fK-a!#Y6NBhdp1V;^Va0MJKt$Z(fn_VV}b=y=+1^F=jgO-X&{{;@{OuCf+Xt%62bZ%yk8jWi%zn#&$!OVMq5aSv^tPZTnlCbLIk$xCBduwnGysntTC4q5bZDH({m>&uxEf?SLTdDKYwiUmv@~qC{{Tn8 z;?LO@JP>vp0^}9YoQH}R{bTBEn~ipRH!DvZmvOXNRNqC?Tsz3L!iv}Y#W~$ukIglE zsd)LzlTZ0ruP5FPSNf+zhlNm3{{Z33X8!<-9m*e|>c2GRgyM8OHHxPCZj3vEO1&Zv zilkUg&ej*NhRksjO;?rIBFAb|VUn1MCk@Ne zbxZv4{R-o{Yh2BjP`MO8fJMLN!5{izs5ypC8rQ8W)|6b+B31e4Z9}Ye=_mU$yZ->U zZ_tMo6TGEh16>n_!iO|3YEF`ZA(?eR-habCx?@HP^L_T-D(vJ1NmFAPIqH=V5|O+~ zMp)!KiM9^P%@~n+H8Ib`vVT&9X3j;jmC$B^Fs?*>PSN0|)-s!vZnfkBKrFlUL^L>` zh?=TcS_FkK$aN;CaK0(`eiTf@cm>t;w%qyc^o(n`h3Z-0y-QTu!qd6MV-v+z`5aXs zx1D{Y+IZxiHj8NrKZ+*gS@)5fAI5Y*^-%?7c$y{=(c{nJX`x0?BZ4)!(F@fIAEA4B z;+g~(LgMMo0$I@=s+B9$K>aFrTHVb;ur=wddN}XmnuU)yXvBpc+!2N62LH%pi!To8u@ZCR!$hgFWWvDu+w)XkNOLDsV!0a|N(Z(3- zssJ)0DTB)Y0GEV3RKLqX`l$#o+r6q?Qw}vD5!FL=B{CB@+SmLgLTp>tg9Pq`$3cDU z;lv^)4)J8!;bv?G#phJt_$Y20oWJDR`nRdX=nV}T?kJ27!(g0my(HL({F>7*vRWK+82PM(7fpj`Jg*Rd|LV$Y4o})C8t*bSW zox&MZ=-nj#RZfWE-grVJcul)ODbH#Wg!vtIU=$0CXuj*Tq_S!OUX9e)a9R1Mf44f* z$0wbJ(V87iYVcuWn^0#poM)=Z6-T=76AQWA0oa)ttH14L>mZsk~-3)=Nk@I4O({UTKo3n%V4nMQJQnrJ@#x)o2x>}I6*xQ&G5=8`xjUL@3FkFz(4M>LwrX2S!CUa_NtRboV!g3mrBPL-s#E=TRy zLH-}^qH^+1bVkjM`jwc_-U#Xg5}w|U$?SPSy(%_lp{#^MG*?%m!Lc}VP2!&a0Ext> zFukpF-*%|FGp1V=tuobPT5vVw75Gk-aFT1fSuq^Z{m>x|j6GbyEt={gG)c5;^@Y`R zu8zRrvXkIc;6n{NaYA-o+7m|MoKWoe_hYp)NltS&+X`QV+T}1$nWa4|!)6KZse-M<*)5cZ#bX zJ-N0UK%zP_wciN9+d6`@oV4771!g9+Rx(a=X5uwTHP@vvIY|dzpDS1-DpO(>vi9kr zK~p7y!3s`m3uX+8(;f=(bn7KTu?tD6RNp1;a!WT zO#0Z_pTE&IBWfHI9^*kn&2?ncYAuIH9f*)$H1@?kY&PMvE7yd+WHW#c+k!4&^g@B( z5l+0|(nS%QuQ*g0uT?R*Tyq-Zvk(xYFvd#r-Sk&j@Aj*u*}`)PzqR4wDGn2 zzFn4!dfC;MldvX(jzlgfD1GZ^u+J%iVspU@PaKi#u=)9-!bIBRtySR}R(R&(gqYwC z<$tPwRXI*{RA^DlfYtZx2k_Jzx>v4vpd3S3(IC3GS*+K+Vd9#)H}|%~W#NVjBp>>c zzQoPWUn?_0g$?FWUpL7$mrJitf-R*^0)Si6yM(6(5JI^Tw}8%(O#!mIMmBR-;yu@s zLrw}rJiFm1HB91%1t*Dxnk1a>g1eln3;u+?H&o{p?SL>g88E6Lpbz&PPGasLXnI{yHB?8Gf0g3<`*3>J`DN+2#XbhRdi&W3ARz^_*INDe=lf6ITr`YJ#lsd}dP zuU5~h(1-O{FmhBQ!5JKDg3|gaUZT<~NUTq`H;zDaXhLh9i4!)u*KxJkPd2dXOcJ|H zG9e(YfFwm`gDxI3MLyAMIAk1=k%(GBX$7PfkXk`$1ws#H4}yxu$Vu+!kM6JacOp+2 zsB;du8(o}JhcyryIf!h*1~-6Mj|E7d?F&zK0afQ2shE%PSwHGRY_R> zEZmlNMW)l*LZbNxjsIHXnr$ma`-V&ish17-uqZ8SV+TZYM98M~)-ns>!!9ii zGgo3Y&33{iV;d5T#nRXmW&lWr=@ZR$Y=+|LUY6x{93o?N#2QpkD5211Z?s(-vF;Y=q3zdyqxo?B=)KOn~O+zec#O zx$Kj5)}dd9(RTqeE8G*hrs$a&>P-2*gNPQv@Gr_pfE{E1cdxhwZ+fjmo z8xiqb+0E|~Q@-xE;k!>2(j68jR@;|vN^+m}S5A00n-Uy12Vpvd=rPNf$dF;S`1eiF zoea3%9VOEvSpY7Z{8&@tBQ?{@ad%0&?iEGRT>k+1Ce6bY(HqgsL)5Y*UN;reqLZ9t z&l5kgh1I$#i!m@jlK%i1k(O{D?qA^i{{WePiC!em87IYbF1gX#SqZLf$w_~S#D_4~ z#BZ5j;r{^po_~Sh5RmL!*c%{slxhC}>KR)8xsGf8VU?N*BT!8{tgNN=<(CKHCcT@o z#zbK(Tu~*V)6|*_FzIV0Of)xevpJJIP>_;~z;-<c>nO=xprnx{+QFb2uuXO9wq#Rk>hEUC?di zdRE;ju;W077&Ailr5+vDffc~hRFoJuX$o>XXZR58#z3@N3w2aZ`LVoL#^Wjxj z1?w5&szTFmip_956YrPYan8D#ErC4z*-zj+-PlLvLl0B1Sm!DeL}fY7 zN=C_=sJ&ZE-%0FRC&5*PPdaPfRGP)hYIsh~1e&OQ(3nNmgIS$u!Fd708C6}r4rz7= z`_!}ALe60p9s|tw5&2scu7`RN1m5^u0_z<2wXojuEAEL?h6)>>6oBB+Koh?*eu<@$ zyn2?@Pfcx(Vg^EWp%3ROpQAi{h*&Mq!&!*gantEsrw^yRGWR{C}cjVu!St>|q#Cu8-9^ zAY+{7IGw_CT^zuB#3$aoUx>SjK*EaVz%a}2JXA{+4bYxn4kK>@M68A13#Y?~#(Ei+ zI5tFQNim&l9r&VdmP>&34$kuu-M#gG`oqajAFzscy3_YeXQiWhhlhSGrTfbHk3K1AcN(Y z+LD;*U=+otx-5-+8_rjC*%jgP3|kFHA7?A<8uqHl8q7Vq)F?-WfJDd+_)~B0u5-o z8fXqHq!z?urrJv#FY0_0oY7WYsn@keWao9)XXDs(jy9Hu5YvdBC^@mB0tL~XsT;8k zaZZtK{Lm)dLTRiQMcGzWrVBa@E0QAM5*1gX!7dMZE^`coIt2=+MB+4E4um)sO}DNP~2)h1E5aFj`zl zsT&iZG)az#Fy5oS8y@j{-4l@1x_4U-J&gB-Lg?}0KoKHMzzs)==+R*^<0Cd@yBGOm z1@10%uU^rbjS23QC{r$W;G;XDHX|PkI!-gZ)dQsTh>mD8yapz^lof1IzdBfsD;F4~xN@5)O1z2DFYt{b%@vnEm zd%viuHgnr}uUh{A6ek(}D9pH?E8qP?_EKb6qx7G$_0IhPdhh-*`>ikbe^sac)$Y6K zsSoO}5hK{=&h zNzq*^t{04Pt7?LJR42YH8Z?7KHBEHL{UPs$9$TKwL7Iirp+-F+h4)=}R|NOK=>^l! zhjR`qqTDmP1T^j|rgVll7P1+0TsF#Ibb6?cWbwLJ_=BQ4^Nc)7=$-ek@ZRs;f9|*J zzrMa z0rX7Ac}(s&{Y8yT;cmSo0~|xo(Lz4^suM%C%%<^9;-_)G39e%qesxnfd{mo)7el;O zxvI|zp(J?QMO>NPyxB=P*MJcQj?kLvYep;++FhMwgg9+CGwW&tf)U78YVwD-d}vb!dH7i`8!hq_r(e1%klYk6`weG9)+R*CsGAu;Dibw%D+M z^^%$4klDEA;anG3UQA4HF1GpWCp*Z)i1BpeOjI}qR~ShOA4ecuVVFIU?2WW5HfNHM ztWV`roX)jeskZ{0q!rd-w{4BIzZvZs=s9xHy2}qr&=QqV>*Mjv= z@LB{mdlqBc%&7y0wCQ{)ycI~Rj=K$IBqXJ~B+aM6F}E*7mx8)Mx@XAE7e4jS=@z#V zn;_~e*GS!*%6C_O?a`!&j3y;S*_Wc(4Efs-Sm8JAlA!=F+K&@e7R+7}U zEEWY|eU$b_+z*NjfCzJiTu^&SG2g6=6#B~ZT1@d&Ej-qVS|w|;g*cf8?UK6OHSe?= zU6ATo^J`NX4&!8oD(iGd)i}g-r@2Y7E8QzM;wQ?}#IB|A@0sTkFh)?B`ed%WG&)<> zZOQR>?xfC(3H&-jZQhRdf9_2Kc0VVN*?JQgccg^k#|}EA72db1hU$ee9R8F{IKyy4 zWEmRC>(bv1pS>`q3@;T(Z9IWeEN6gIXGaca%Om8C-iZ?Qz7n1yGV8@8btt6ls`NBw z?Q7BtwRD}fs^HPui6DY@u4r(`nv^Xj<22V?x;3k?s{K?%J-OS~dz*ObQ+zm=P7)MO z>oZzDD+J1L4$i%X@4|3c1%_4&N9eFx)+K3u79na_eO8HB9>n%W-4Wu1KYB^9NvJYa ziS$*7s}t(IYNU7gBQBEQ0GSqBCP?pPNoN zT4q*|ShvM{zo;Su+S9Ulpj;d`l`!U?%!t>J?lxW4amyt{dq)&WZR7B#JV0}1&?O{2 zAJJz+XmZd%bt$3Y%x=^n^mjVu*CsWm4U|p)0Em6iH6acUNQp8vq5l9E56wg!A}b3U z?!yX@;odF+twGRlHQO5R-AIwfjr)y;lffD_&GNnM(l#ZJHjutc0^V{W)K?Oh}|vDaTibS&32os(7kPYZFk z1+8GP9t#US?-it0m(#O0%BPxfCQYqTgxCA>yp8UX+HRUL1ZYkH2M0lL98sBW>Y~8X z#JJLd@SQykg(|Q{{Y+{bwBd(YptOPJ%jAjuQFHnq zNV+jMOuW!9gB$~{OEkqCLZ?Y(@9%PJuZK4Alan4}!wqpk(E3|xwu<=a5XqIc}{dB(z~pTYsvMW@j{7N1%^&NiMAcewAS|J$vR&eiBJ>a2a4k&q7Jdk)w(3>GUZr+@n}_K z6ZsIn)`@&MAx1l`J?wylB4no6u?Gqxc6rsVL%5?Yg)@d+gsw|D#RfJ!O}Yx5GF)1x z)?VKwRhtmWde_Tyl%Yq6#_SOQM)Y{chz?oO@R9aSHDoLM!2{Uu=U(p6{Rs^Q`mlYd)(b)-LAe|4tc)D-VtI~uc~$7b@?dK-g> z0G@QK~>8xGFPYIc)3&y*ZB7I7u z&+1i?mEtNHAupH zd(=%Xdwf$E>D)SkJ!Ja8nH8DErgE4FIk4rvb3vw4I+fQj56YVzj&XD0R26|dhwiZ+ z3C=R0osQiQL?J=6T=8RKh1v2PmMWj_-l2Eqn zARO(JlFjJN{a~uWc<#1qJVzgtrrr2f*#dMc!hVLs53a$SDa9tlX%dBsnL_5Ceyt;;)u-l||E3oubHvEo1R;pca@KSU) zjrgdfVRWc{_W6vuQNp0?Kng>Cb4Jah$MLh;VUa>rA{C~w3kIsg`l`b!t#^XN_$@Vi ztP2s8;gOy|944sfJmf#|S+9l4DE^9$cPF3z>4oLk>p#~Z)mF`ZHVZ1S9e@Z!y^gfY z=5B2S-CyXK!=p1f`6^jQymMZ%C+c3dC+b(KTy>SrWAwHE0K`5)bY_^w6Iu(+WDP|Z zP3yW%=wP-*&Y;Cdg9a#cM+pEB7fn{uuu$DO2DluE@ui{__qJv!nOT(Fx-t1)Jdv0r z4T@m8Thw0clrQ2p&#;)%W61Fn{A~MH3k5<#^^WmcYYTEUQVk$FZpL^DW5sl6aXlQNlIJ&Gh)`k% z&#ll6#TM(?tSOUO;HaidhSi$U&1X?MUi3hrw8dy4pen>31weCLNNndrv1VTVDzM@n z0DkGrYa9udDTKYWaCd^izpa1M{Yy$0)oHWz6{r5irxTMEVswG|LUUPqBWE`_iAbT= zG#(2w6he3`_d;(M{{Thn;qnBkM*jfeKf3<_sCYvDs*vLzN|0lCkJ)Cyi~5`UFH(P6 z^-bpy%7v`p_bT+ac&hZso-6)s+|;7U+rpcF3O#{i#GEk}S1b{T_L>vosONaCBDB7X z0C_DCs}Jg{4ON9t1I=lDRU&;>Ys#cWM}?@Y7J?L0ag%{hIny&kt7x6sRXO+*H4X5j z^Llb}E{qr_jb|%ESSI6uPl)&q0itMLsjw_cqut`YW0lU45$19jsIP8&VZyyIX*&MP zp|QG9V3JPy58XSYOim<1Y{d!cwi!Pd{{YEp6(@ZaBEQ8|@9|YyA!vo7v~sRAOvHT9 z>m=y9nyy103VmA#)o4vg(`O}4mCEAv$B+xwL|(Eliqnhwl|zpg73%(_dZw>a5A>-R zVoGpHmdsWXcFm|beiC~M_7l`?k;OE{1hZHO?8~nYYonH#@mfjFFB2F7F zytBb-&3MbZ#JBD~=&=40M`JBk8{0C@Gu7G-y7kR+wxii(&`ChF$d1;JJ}XSEC8<@R zVf9(QK&XxTs;TmF*?zn%k|U%8XjkajgxK(75fbQ*L`Ui+{hFKZ&!V z!}weGQyHgnrf^kMD?Ppnj>&6v6I5mEJi8ngX_Cx**QH{vYMWhXc=ucn@AOpu^?nk6 z6_vI2QZ`!Kf>fP_BLm*6SrFQPvqsE(=E18r{{ZZt#X^PeL^C-sOOAu5 z^il!K5;S^K0D6-{8h-X@3UdlrvcxQ*r&`((jOp- zXBE;(*gSu^rs1NXck*GB!MVOgA7FO{6N9|}00}*obS8e4>gB+yJ>h1?9Ky}G?gds0 zxm9NZIQs;EneAcqSEqM6dwr{=v|?`gt*zC$5aWimOo@!D+4TAq1+5}Yh890WE;Z-! zr-#mW_3#!0u%`98^Q4=>LNg7N>Ub~thW=KsUli~k(SO%>HCPUJ5}IMc5X8+nDu$7D zxbsqpoHwc&cJAP!es4d&w$RUGiMB938FZ)uqDyqG!_$Tx8{96T_@USjaV@F|}#-1U1k>sg) zyb8^X?qO!Vhv>8c;N@5^@KvWDXKRSfb_XO0%4ZUs+rhvbM!bU9u{yCS&n`bD)K6p z6Z!rpojyv8pA|_C3a8ksRah+WS_E(_HSY^HH;YvaGtGLb@G7vLKQFK~t|W%x+Hc8? z#8^lanldXonbZ0w;Vl*OY*fpt97o$Cl^Yd2G6qZk06&mKcYghidk1h&;r{?-;ge7g z6`cv3gqDFE9J5^zDn=aIvr8PkT=*583Mc7Rr?Ag1FL)wsER@KWat_yuJ0&g)f@7kI z2k5_1RL3I~{cL9PJcYR1u&U+1gZzU0qu5=+6UY9`pjpo3s3x{#ZOX&NRuc~;>gB+y zIv`oGhc>Lz$8%n&@>$T{IFDh8{6XZdr!}&pZ!V8_7efT8;k`y{m`&nq&-Rk$Q=vuz z>q%{P3e)VN4!*P&l{wLdKTT+N|1c%89}LL4Hx}F5r*m^Zx*{bDkDsRx;t) z*Cz>N$<1r{g;-1+D5-tC3eAe)#41E#S}k`6D#3q(&IEBCi~j(L_D`m|8K4im(hvvS zhcBr^cu{2HEHAFsvKAvCJ2c3pR)4@QrfB(s~~rq{Gmx> zkwsj%o!9-5;5~w=+!yNe{3e+=`%VjAWlX9np9M^c1yhr=BA^~2dX^pmXcq8tqv8dd z8^x-I8RorI_!U?&KT3>$)cYef1=}1HZS1}EP_LO!HFUk`hK*`B@!R%LHZ{&4?NE>Z z0OpsH={+Q7#ABKU`UMHo^^Fcf=?&w8o81SK!qabxfOSp3$`&p>mW#@yBl?vgj}<_{ z$!YxptVb_c{{R&z;JAE46?ukZA}4kK0A%jcjdA3(O4Z`AYO8|NJc47kgXj23%f`$V zXWHS}V6izBR8_83Yi>4SEUk)}62z*UoZ6M0TR$*U)JkdCR0xAcnXLBe*=>Xhe!(zL$qciS@%MxEj(L0}HIor|u!^^XG1tBueg-+wg z7O0)aeUwQ!gb1uy6nTZ!BqCURv9(ybu1MoN~!Qv$ltM6gJ4w1nJeKR zRY8);e1B_O4b_ou9M?sE5%oW^pUUqf>8^@FAP$h+HG=Qm3-WAB?*ZJ;?4m-5DC!^R zx>QJJZR>#_q%MoxLf(zW+(OL`cLu6JiO!2bt>WdM8WUHg>5crdRgDqrH={Y+SEJ}m z`YgzBz*KWv!Kk_VMUJ29Pk#9-iY!djjtc?WyMpoa{7)5vuW3%#YT1#3traq+mpXy&ODSp^`Va>2#%rNgbYhCKbZdCRTZwO5^sugz2k=k4jt_F z#$`V^Dj&ikPwMo?M>*YIJIN@+br}_*(%QN$>B{b<%GfQL8wgiox$<78tm3^7M26Lx z);EA&vD}t?N1i2BVU;hG{{S*0=CW*4DxMvyxGx_+!cDZ7X|Zisc63!*);85qS1V>l zC1R*1v%E5DsZ6O#Zdv{stkkf#HiK%Vka&~;*JK#Z!M6%^@tZ1upC0%uYi800Cwg@K z$Jc^uo21HxBSPDzTjpk=_hJ74F-&y5$bWUw`-_#m9GndmY85eC?7?B!9_jvMc;wf# zcLaI){t|7fr1>mX)q%;`*yCm$jWThvf@-u>$;}g4*;&3NR;6IItZb_IN7Yj&Y1p&; zHDo~i-(<(M=L2J=C3iI!k9r;D7|cksMRb;dQ#bfk7wRlOvJZx2;eu=?={2H!o&8ik z4DwJri14?fjpxm6ZpBK4JU6SZ5_g|v`A_pFW!9aOxF>!Rdkw2%#PeE~3-`BTuVsqV zsu%97T$-v66`fq1R%o8}pIofbJ?lEBD=-c!b2HkpvjVnpSghI&s+m0>^L>%n7b&OD zTacIjnF`}wG31!{HwJj9(3@FJ%<;1PCtY^cbYl!Lq!kPJXz&*FZ_Vdq+NqAPw=DX% zQ@bC_{{WJIFJX5CdHMbla%okwv%=a1Q$7_JR{WZ*(afys~p@$8=$8*4Mk9Z8sg(L(J4w{TyBfAr@1+e z#gYg+Vs*hL&X&Xe8g~Krx1#ZPowFFJ8a~af*|V_xzxgNf?5pFJ?hD7v{t|7{RTEec zsB$PgRZnY*pz&3%RVu1{6*4hZlF=%ryYjPYv(GH7Rx%$|AOw~LR+$;NZB)vWDtwi5 zj?$q4NdkcLThRv#^5T!oW}+5pvTaUbI!wBJ6Zl$Fe~0%e+y%WCiSx<35Z7;G`G50K zJ31=UCEO9`=I_EzRb;b7mXg3_*11%w*sxSstQG}g7HFEzGt1bw+k&Ah6(BDi%RYQ0 zqzKBTH?8|}a0*qPz_ZBUunPjJWyd0vZr!Rv$b1#xi5fFfhHBV_-$f10*ss5Q(_A&g z^G-6M#?qVoKe~0j8=sz4*p+78i)%`l!z=Rt0OX_hy@c>z-q(H-ZK|O0RXz%tHImH* zRIEG}#Y~D16hi2Hlx*6+4!BQt2T|=RWfi37gv1Napbiu z4VQchA;P#Ty0Kj$gIxy{VluGEQ7c-4gSCS+>Sq0mN;Zz-b%Atld3#y0UTK(9hvAYt zpZTc$?_qZY-|t!cB=$MARWjj~f}tx?(OWp>Z0stwELNp~Soqn$V$L!f0+7nuR)2-K zDiX0;J_Sm*mUDxST$xk1VxA{%P61zUH6<5liB%Gwj__}a=?xB+i5xKd+0o$|xLya4 zqMeQ6zan*w;<`UR!fo(VZaTu7X!Rl_>s#Fa0Lex_H?WzgTiN$Ngqv}5R%BL{qu{GQ z1+iAVa_FmEoE9Zgt2iD?SzAi4)3Czt1x2Z0kyY@Is-{%U0;JmAy2_AQz!gc31!*2@ z-9JTEl~XP&V}7MbVU;t2&Z9PMRM9vn?fAf4WK?PEfbTP9TnKu;xy)m6b%{T8)G4s~50 zd_TY8CfeDW;uNGG#b-k;JCenG^b=(Y8~z8Qh`whnjzMBV#+kLV3{*#Zje9J`*^p$LW9$ z0540@Oi#@}C7IF7{{S!Ur30e|jw>~=*~xn64is7LbGVf-WI_<*(fXaWU2vFF(ud@k z-TS9ofm)Vp9_|fTc(?^uv+An%a%#cHi1ymK*HxY`6)2t|i-v){x`Hiz4<|-e2 zC-4c}Y=_|!gDdn&MJ*k!-B25meovEAL6sx*DqG_!DhwrR03O-LCVb>)^&2~ zsX?@<%4ce!D-cy%;I?s8vRIvgXV82hQ!Y%-KSeiH*%+0nRlW;4oL0v9s%716UF5d7 z;&Q2=a{FZ1F{@KBk+@vODkJ;1%fdNjj3+EP_5@qVOJ8!tVtS_;yI>6(jjdEpU?_!}ygbx? z{{Z19E|gWSPM|lcS9!9vHr0OXY2K<;72Rs8}RMp*b-<0ts(6AvT6ZTBy&_F zm{o6qSDikuP?jo&c3)`CIHLQ~W)4@hTyQ&VgWd`+FC=V*-U*+>w(GP!m(8f6*9j5W z!~Pq5ii_Soj^#0y&hvcKZuj9QD{e;YkKZF=rAn=m*S}JpDsoxMlvGtzRmEmFjte^J z;4D)+g75qPbE_>IWuy-7n3%2Gyedk z{MJ+gsWHtKxZY{n6S_QMJH!yWm*MW6sNK;&MF+g2a!%u9J}7?=BddsWbsdXjL4qKO zOR#6~+vHQu*B;7?dag@5?ekGM{t|LOb%%=EZF2W2D%p6BO1SwfDyvMHm9ou>bDtGk z4Z`46T|O()Ls;Eej}BFBvc=m1oL|$cvCN}BEviE&32;<*iog}3ZyW-=_Xj_AuE+f^ z=Kh&eZkupUGxY6r{)*|%CWI(c7&{dcihmm+@n8FSA{;}&tIVWP^-?)({u_Unwa&?B zdA@1x!X5`kE;IT7P1Qnk@wUnksZLUQX?3vC*QRMMnk&SY#=xfnMX<9Sj zt4yl+Da6C!>~1oz@>^U04ngt0aVnq{LPs@-BZ8|u3aOVGWPhXl-_x)W*`joUcSwdW zG2yBdpN4SRf_D`Yy<-vXWp!~hwH>RhhwBH`ODUhiZ}Rr^wVmeqr}w`JIXJ0GYdFzR zTZ-5fXsMG$TX!lcoUNx~t_rHEl(u$mSlLj$97hG5*0?O_WGu+OD^XPhDKj4>JYBc3 zyAKU+Qf^%3UCT`KRhL!ac~!0ogk_NY4HLRANWsB>mwpF1r5n3cPVuq4{FA$xSgx(d z(s{1B4xX{MDWAh1%j_G~N^FSI9%=pW!cIj3&o)(KCAC*HTU#q_Y@(3GXBE3Ea;3S8 zXTjY!0VGqsJXnGNm_Z!zra=a7m&i6sp$x6D-QElDB`wt*JwfSf)~~CO^33 znvjo0mxyUYnw9Tov=IrB%zqm;p4NV`4R|g1H{vdygr-dziv@1&(%7+!&l&_#xdZ=JYFMEi{Wz9NESI0BP}anH?`&%ku^ik$_0ni6?8t)U zSO^nBrA!`3Dz74YMEmY+5wT@)xpMp!Dpam4^fIbnHw&beooRP3#B1(Al>$_$Ql&yJ zF^t=T;CuvJxqKHyyqm;LVRD&JJa;Z4S8Vo~X%^~)>r6Q_8+aGMiS0y6^r_~k4z=iw zj8t6Xl>Y#`;aM+ZzD!&@HpI4l22*$J!rr`H9j2;VJf(xm$kV6n%l`mtE1%sfgH&(* zn97*y_?{U(mmHUOx&HtnEa`E3Bc`#+K2oFW8Qf_~a%uBFy{0r}_mfQU9L-HXkuu-l*4VF$n7Yyz+x?wjO0A%z z(#p&x7eJEf8K_{xy9U^aPh=j`LyHIW;Zmha;an;NR0&e0N|h>Kg^ve@-anW%23#3% zV_K$kWPq01JcP?tls1I9d@qIYp{o?G*9`3QQ`0b9$;ukK?v{vaBD(dj_XjlJD?bwR zPv)ofFJn8SZ9Kn}YloPxfh44aX~!oyfT3?FoBap;CJ{$+-ztE4hE{=p& zc^@WTH)zYn7Kyx7gBuA-{NeY8!}W*(a@)bhyH}U5f~t6F{l|+QIR@``C4DsaB~4jZ z%H_gdSapI=VAQ9ph&}(7tc#Q&V!izf;)e?ZPTsfH;h~aqzK~XXn~K-@#J2 zDpalw5P}Z~DJy`><545|74U7!dLhiP0FQP`v_Y^>2@=&IR%bE~l17oz81BCQCX4$s z3QJpJh;Z#K{ggBG2mB`I`XAJBUP*6w9W`=aq;lJrpWqa1!v}58&xSeAPs$q*HY0N- z{0LwJ1p5yVa(kw7fYFw&lin$9b?C=xwh&J}u}7x{Xp7D_A#uop)_cc;;kYHy`GWR| z=#i+j3wgo;?FxfZSm-}Qz_s2}g0N3x;&5DwsdHTgoe9(wt~a^=h5xp{{R zmkV?&(kJMV@aT?CGY$=oA6loAGogYh}yxmUYY$v zyX>&N5!c=GDZgw#$+T6&k%2jQ8F`s( z%R1Co(}HltMr`;H$hs5cP9}5QC+R6Pg?jE30=9`4?2q;**e(2lSx+y*3sxMyMp>h| zNbl`LlrGqoHkYpp;kV*{HSoD|{{RKlE0pMG4H!gC4HPMWbEiaZ~%lGA{O;!s{4BdlfcAmG3c~ zwI6#~-iY6hxGgt81g4PfHF|QmH{nttqgkfDH}T)&c;6lT7YnLAV2Ngtj~T4?NEIB{~uNKoS z_?I)o&yB@nr1+{l$5+ZeS$Z{W%GvDCuR;rs+Pl5kd;&W2!eY&(gjI5FD$%@dfpWvv z=h$L*tL-tV$TUk>%ua})sE#`U&I`G)b)htOy3bM&-nYExgxx*T1|D<*SlJdY1hq-= zT$(!_RXz-^W;}qI`2Yh!+M)3G&9FD}ck)=w^_S8IoW+644Id7ra5<&;E@iAvT0#6z ziJEcS{{RayqojMw+k+kpWXa^cV|WQhQLw7>!-ZRMA@n14$Laf*p>ie_6||$2!*Wk( z`ILOYY8D~RXDvuusQF93scp_vucVD~bSEJB&QK!JYj#!6Q#o*>A>0zNG_b@VO-*Zf z>RkZU@V72p*_FR}WVxPFnOW9UqmP`tOPAqT9QY!ju7vrKNuoVWvrtb*SK4K|8K2~Y zAlp}W&w}O4mxeD^DBufbW}aln%YQgPF2FDzP+ZB4*U+4t9UzU8jHef%{{XO3IgH<% z5f+K8!n;=YZago7>e9xsH6hrA`TGtr9gr=pW20-Q^(y(psHe4-rR<2GzFCGxYNoS0 zu^cq64Bs7N#k6=b>K2#a8jW-_CbItk@jv)4i%Cw9Um(1qyYCpzgnrlRInEz<`2iz9 zj5R3#0DK<8AYB0Lb@#7GV$>8_Yn*kUH)2b}o1-as(i+EjwJt^C*6)tE+`UNV=CWdr zPk_x0SY82mmU5TCvg5$J@FS*O7Z}lRT1|L%kO~t0WFWy+@I7!W2}Xlv})JzumEQud-Cmywh`@lEd3%EgxFJystmDTs>c+ zYzI%_6Ovy1emE|ykOh(8QNps}zYRwhiw^?j!Yg>ba{mAw@wt8*@LazOFT+9Doh0uV z%ZMMyg?MlA;h|ZSbXR~-=ZNUy=`Pbl=gpK7OL6vt{7QsXt9nKoCJma94_;h$@jMx* zs4xoQ(%zE*8|%T~>MsIC^YSNA()@P=3j_R>C^ka%nftDq2-CxLl=Ig627J;;( z&6skj%;=X2`2b{()TtRt-K^L9X)Z2N(nl~4QE~D&))A`mC#*vjx4ERHvoftXDb!WO zOiG*H8;9vk4bPn2w`cmA+w+yc;0$W#2C3JD@M0?^K1^8f5?(rv4;qYM)I3WVMAIZ6 z1ofn9BkL0#u&HDy|a=N=3tq$M5ne%~mzHmFyn zW#=9PhEjas46lLWcxjtnd^M&J_BOQmI{l_iJmS94#zSJ-AZrvw z8tRpGTdEU%aq9;G32P?!(tN`bRnQ8}qEm#eUum){pP3DlY@*M5g50In*nXozj04U- zPbiqJz7u(eatbUXaAnQXEV^X`OBH3$I0zMY zI%__Mlz9w9>*WwTU_A+QHad-ZU6lv+5i+HDu!i!43MKKvV?jp$0MxKW48t7rZnXqI=p-EVFNB)xp1Uwp_an@3ocx_e08Nd!-aC?%j0}*T)r3K zz62EOvodVG=94ZjaDJhzmUOKGuj*zE-#qPp{20nFnf2N5%-1CNnqN&}7HTY)^0`|& z!Ln;EDjB2Q{cy$ByP$4}Bnr_zc&nV~L+{U1<|f@;bQ86ggM3*Y^j?>mgf8kj+Cr@GCVlX)bETHKpEU1+av2Z^J3U zr7z@!ShsZi4~Z{XeOZPLK@$%HV&;m5&aYS%=3G7H@MGeJq58FJ;zmo8rmm*Tl{_*Bj|va_@^M&9-9jVCVdrS71lDX~KDIpXUG27-FS zhtu%|cK-km4n@@jMaV(1A+uP)ywZ<1O+`|ZD}9TV1jXEQ%SfT9O#te|2%I|Km_Q_& znmvp~a3?jsjI~fJ5!q9d)mq;Yxwsautp5NskB}n*(E5L8^CEXdOx16aK)}l4fC+dr zJ19xS1x#Hiyt5AsChP_J#p=D$c?il>dE8UHyl>uqjcR-TCUY33>1Ukpa2cABZs}=n zkr%A_{{V?|T)M4Z0pLNG2yKTYP-QT=1v!ewh1X68QxbxeHy1dx1sQ14Va!Ig=9d3Fj-v4 zXWrmR1%?drix(1*;i{{PUm3?Gj_Kqol&-szJt?J-(RXLcUu9PCYnG7bqODE~nRF(3 zK^fC}4!DG9g2CtK3uZuw^D!_m`f(R;sy}lRTRv&6dZqBC+MwY24DF{` zJm7P_!!qc+rCKjHfll6t)32Jur&D8Bp*B6;f5ft;TCA+T7r>V;Ukr+>su&2Bvy8ni zGPPh~Z870irK-vkkOY-nNp>ADpaXbqcqEq zT;?-X3f8{qC`_^jSn9NwM%oU2BNZsp%id6MX5r;RJfnCw!_<;BM)ZLf!K~h5^tBDRo6bZlsL$-Kj5g+!#aRknANEj)KE(p4<4CUZ2aVpp6(Rp(;m;FitoS8S`#9&*hJuOI0?UAe4fE!{HngJ`9isd~`! zfNKi1Pn7BAK|f;!*d9`z@0KDPK5(ORu(@vTTww*Y(<>1yz4}Tu^9F0#&I2r*mwS3g zL-McW)A`+HcrSqPArAvqu(+Yv?=zuiPzS!DwDVY^zb%&!Q8k zYP!eh#Y?nUj}gVsgQtY{M)K9ZTs>v*+llzDCCZD<(qg?nY^$XQ*N=|5%!6?Ta--m8 zsBo!LrAn0tRPJU7MM{+hQH2fP;5&q;Qr}y8qd`_L2P}{kdE&H1BSDvnjnf!t9GgnrJ6fUb1YdC` zj=PCVWzcDHd5vov<80e$7T=_ zU`1oNdo4SY3gOxlH^g?m;T7xipCj~w#qilqCYGP z-Rtm8UjAY6@SCvoPu_@iJz!;rn*j|Sg?^{{r~FKi>RDa^mk2PIz~C_8&rK;@9qV4u zDARVs(p^n3Jf5gJ`e^l)*|3^wD+%oRdVc%-c+b#NLyY4%A**~a3D&RDg>@2d2m#zQlZbe9t>lwHG)*BQFII1 zX}!+%KVKx(Sv48$85=Es(F>f8x!$nhS=5eq01QgW&Qeuce^91zmh%imSS_%A+D(-8;b7nx%b?q-yks4mGXe_)`c71G-MRgy^#u`>4}YBbuty3&n6M}x+tN|ggFq5y5i>sEB}RxNW%A_&>A z{{SbumoPG!TCH9SgAV}9m%xNL4S=<18D>Nr-F}lZ)bc$zvC=PB zN{24z9dvK2xKF|Tn1`T| z`M~PKRMqqFybra}J+A?A9$q$xU|uM35_GE^H(}_R#2$>l1=e4R{C5{bSb4#IS?s2Q zJT{KJ6VS(jJmpH2#Hmq~b)2Z#@gY*BN|h>m0yv$n;El7G1v?Qn{Z||!U=CQG(r-ga zzv$%SgYL?#Dq=(A30oTL@#sFn{Tzl{;FVW)F2x3mhe&bZpS z&f|YcVB~Irn;?o8O&_T3K16hq*{tuu;;Vyd1fYyCZC8m>r9_n&ZyQM1j}xN}4h&^u z!nch|f#PEiIYKMSV~<_e(iAtU-K@Sh1(bAZ?(Grt@}XAM{>2DE;d}-T2CIN2NV(d* zCP2L19+04*qmjn^Tz-uc+CntV5ygqJY?>g<8KW|uQ*#-l*U=DwD1(w*+{>nuJwv9k zieS04za%Wr5lY(ea&w~S*ij(%Ul0Z4KsWlEMPE$KBA=b8X3T1ZuKrPZ$^q~uB0 zJ=o||$tYdN$i75YZVg!Tv-L1LyS2M$%bOF;P2W%YR$Z;~{0Xpk&+Pg47KB=|HI+(y z?IXJo022VeoB(QBBCJ=fP4Mc(IZfa`_bw{_rv4)FoFrd1XpKu;cUSQ!%{f$Ct5CWg zoj@1wMPU@X^pL2vVstI8Q82Byn}?aoV-D;-YOjf20We^%C?nZfb|uw%3=Ghn@iF?h z;4K4Pc&h9l4ik%;hOyVIUQ46Tix|c@nxv?C(U?x|4+3c@{7%rhNIj>Vh1b$(+WCyK z?hQ5q>dGEU4|hTVG&N{0(I_?f>`RtMAxX+E+{JBo;vfVS&sfpK;d8u%7(C*thu>IT zddt<}z6`mncwbYZdnjw+ms}b{dczO2x1SB2b5+ihVLh=lim>vH1CmROj*cd&2TU=F zWz_LpxpQ$g+t>a~y$~13{{XVD6{z?S_zkY!5UK0{T+}=uAZh@J7nODM?j&@P?Mo{* z8m6yh!EPb`BB0e(mr&&bsEK8Vq69##N2zbrI9MJi&%u!2)- zcLDSmVX+)A=Le%ZQF4Y{-`|Q_XkE-pdn)NQ`i_DAhf7=02e4)?|#J8Ucl`2%HIGiYQi8$PlCrS=3ACm+d^PRtASNF84PbV{e z_cTG|g6HfodU+ALecG8Evv+!CFxeS=^~~v(gNqpH7;L6BVZLrLm%^n=;ZnF%sEZ4f zRoZ#79epP;d5;B8ewEvJhfQwOtFW&rOGpgaIql^QZeUfsy5{B0cCwAr54Tj(uB}vP z;d1mhlnVDn^wuk2zSRf=13)Mx#&9kghti%s!|mx?F46rX95joCo`L z+cu)feAF7pB_+1A)?e`B^(^<+VWRbO2wkeR4_STlaQ96;buC5DGf8)H&nciFU<=<^ zt*y6%T`?#|ok#4_TR3521K%2 zz(@u1b|oeH^3JOa5Fko{EAaCHKa=7V;Yp2T>gV?2@v9m+I0|6X26UKius>5<4>6qMiIv>yDCn0eWmru~a2WfS7Ps4bSE z&WkTaRIM2`XL;Jg=5M#$12aDJ1*e{}gHfuZ;v*O8#Nh?GD3#_GBN4ZixhY@{8t2Mb zoP8{BzLQNh-#EvD=J`F6%4J9v&sZO@Mg%||;~&cJY_ZAMpRiHWCf!+nf#n4Yv$Ua+ z=NQm?!T$g#U3H$)y{AZl$m8ul4Bm7YKJw(*sLy%e1UwZgRIdu?gXo!;NuR!wk`H6; zFQB%`{ff^H39kU&JNAZ-EMpkP5`sEPS7$KjB_>UL3}rz$HH{My2hkf!yALtoy^fH; z>nSVOnz{ZZH43HJG4hgnm)Ij8%u!1}ko9tWsf6*lq%QovVKco9W3+a~TCJ?Pk@OF? zvW35r^gtONfkD9F+8Ra2LL)0h8I@3T0Oj0Z~QMW8i5EZ}DqJSu@o9n9)17ee5wrdcUg}NFL zEGE)WQ;`Dzz0Pk|D!aZh=cKgt^n67y^cK*n+pds$!BDf18BuUG&A!ADRdp?IoJ$RJ zMRc&5R5yfNPifnJ=DFC?d}_I?vh65-My8?%cH>;A=u7Kr(gStt3o;Ub!yP6)AzEK~ zM#QI@PqV=M2M@2&jJnJq%|B##0S^HW!uV0h;OXG;79%YUpu~6W#f)^120SkVU7@^! zT<U)@pJ(=+1+Gc}?W@eot}JzM&~WXVcrb0}1epU#lIi|Mecl6& z@ih)wvaGOHkFZA$#ZvFy*+@yq57aC4F^qVP92fu*lBzzKm3CfZ#bY0BfYiggy{N4+KJ%DkiKnLLvWAq3 zYg2RvO7fdtSqpnT$x!I)T}JPErL5@Qg~qRxHH`T8r}-_{HeJjwKkQ+|qwBks1lL5@ot`TGRDas+{`R0uzi&TD8|ZP?jUTp zqJDzJ_j5}dao!YC5pRkb5Vea*Z&cRds$J)eT%KG;npf5sZ!T zS*hrehJ7!L)-GJgca2xUsa!+AV!Md&G(Jztez>hXBq8B=Z{T=5L0T5dm0aP9?**<3 zI88>-U!02;F9Qrb3k*B~rvhyU(@B$S%y>{`HcPtN7m9K8GR@pBi>ep(H|kirdBxs< z_82}TtF+fPC+ZEu*aV8(fl+*D&v$+rw(~H0%%d*J>p86|YcFUqro8wC&AFxD5^o;4 z@085r}b-c!h7>=Oq zkNNFU`cIRHX_^i`o(&nBpx?xHGOx4BYH*>edqNhnoj2~zfs}4Mqc*!rb@OK8CZR+n zYI0&NS7gya`(`Sra9|0+dP4;=;~bK<4+NESgO7KysBRvTG8of@IEs}jSAlx$V-@s~CTVdD9gvP%M3gOqUcQ;1T|WDj~pq;3t5E%o@u%k81>k;FI%4WYg12}%kOxq&R=w! zY;rQtIP#1eNN^rdwLw>6W~u5uCSB|Q0Ewv$A$0FLa1Gc72az1GR(KpqsCFY1BJ`+4e@@=sgW19HX)vUsna{h0Iw`R$z4A zCCFJ_;Y_2XtpN~o;=5d5+^c~#sE;NVCcuL&f{;>kiI=ps*j=Do!Vp^qfymkinQ$c% z&!*l8sR(L{5NnQUns{~197I?{Tn~3LUMIth^^l-B*8{xV^hbl8W@{j6-mKQ|EuRWp z`n@I1GQMUe{{WR5)m+TQ8PWPinAmeOl*U{kUtMGRCF13y577O`^*7*LxpMpz%9O)i zuh$dg{2#<(!eHSNeqZcdz8RT}2*g{_Q*>D!>V? z@WH=rgf>+{$7jwoc5tau&>r$bc@}&w6T!!b^H1Ao#%%KVALkG}4IBhp!!o6%rKSG> z1OZNkPa)1AhPCw%@(w%?&_;gV5Mhi`dlDR8Il7hDO=nOz?2XcPMsr*=z|+Oe)98JsrR7 z4JN3pRh6Gu6-8e2p>9nkjPq}q+5khL>WmX)6po$c$x`aD=^QK4!G4h~XmIl3keQy# z!NAPks*2-c2EFCxkm1|sOgysT5(-+Wq}E%#O&Cp{9L+ONjxL$gs}<41BQ9(r<;&r6 z<;Gu65S^{LP+pUu5!r_qSe7kg7_*Dv@%~N$!8HUg6&XHb40$KgdGKe4 zPYRnjRd80OYVdyFj65K@a`;@i+FRd-=6#186gaMp@+IB)R)QbR$ne8=7O0S;$2oNO!&%``~o~z_!ipao@s1TULW9Ev2 zh-enYwmBCOYK+>7DUBCiuz74AP|WM-N8Ub7l3;n84zIkW1x76k2A{4{s+ zM`z8f)fX|W)rxJi`t+9oulhWriGvUBGo_{91PxXIk2!b3qb~l!Q{}?9{o4IUNEb;= zngr2{GNBb0tRb0E_kW~uFK(A@i`DRVY}3Z?nm8G&d^5TW7rdu9t)@-54*}Zzr$d3* zozlGLas%~O0ck|T&YMPC1V-v9EDznW_9PX4Z;4zD{cQO9UjpwQ8_s?M!CWd=A9DGR z2Z7A_AJky>Lj)qAK$R=oU=F&eW%+%5aEk2UWgx3B50q>oNq@=*!xTzgJm=7&|Ng}>)@XI%aT~;Q9c2x)bVvv)_mxvFtR;eqKqfBsU@$g|9%C~-<+$B^vCwsZ zuq`x9Ev83Fayty>q^YH@^H>AcDPpzhe$jp4;kvGSq}zu{;JthX35GR0@C2^N)$)tV zr5qWKQ_fke7R=vRbf^#|N|gdx_VX4};>)@$V7~9|GpSSS_mu^AUkR|ypAdfd{r5gM zz?pPEFAZ?71y8fqF`EAXY@;>%c*RPU{{Vx$KF3(Vj4G`Jrg|2zhEDfa&Dt%U>#upd zzUQpU4xR^;st|O8)%igNhfK4X+}yku6R6T9tuS6n-mwByqQ4X`4!ofPm5>`48G$)0 zDcr~Qb+{HBAZBr!eyUN)Gu~+)I|DA25$+nSk5jBFe#ub}5vxr~BmsS;@O$k0JJNyai~rpiB6%l-dfjs#I#M06g%+G|ok% zsf<)K1BX^CU5ojG_6$}QJF@B6E=RpTk?3mNrT+j(XsG41sZ>bji+!qLKy+hQS+C5f zHOIU=G-YA8;!wpBwP4n{Ve=q&bi0%OOb0cN9QAe=QMFjw>&f!~E+Yd0*o}xS2SdsT z);@kv-Pk?FAJn;`rZsHD#y!(Y15=b+S)Ex<`5=mKBp#DiHk#&{ql)FALOQqz*C>jp z4P;cOS6KXC%o8yjVKG#tJsA5K0K z0%VuD*+=`vrFd#r54Y9g>3)|P?WTi>;3Z1oQoMEG(BcZAbD8oXO?K9`W-9*ajxh6b zjFwKUB5ENH3cGKHR#+3L%jV$sVAAq?KC#wRH122bcoE1!m~Heu<*-OClo~T=yE-Ny z?zjMkw0IVhKMAFlhV5sge=Ja&^uvI!&z~OU(^(8H2W{x9f-~khdDWQzsfi!8z zJ=oP9Y1M$BqeCA;8;?bYs}oXSH7=6`3mSQ1q1DXFcD`NaAvT!^vu9l}N`30?EaR1X z$}VJ?DE|PrXyZ!s1>p36MWWe#S{uLUJt3+A;m8W~oWPyxr=~ohNoYgQ{z}GKu(nO2 z46{18t_20o9A<>*0V%E8ZN}5$W;*b^W@-zM5RA2ppcHizNjQz$&S;hkmo71Ky2e=G zyUXzKxTj;RR3_!`{!7^HCnwb>=*&~8Zs4J6$?4&AaXqiW@Vq|HLxJEtUeof%F`6(8 z(sEw~jwABCei(}joX3#`7*Q`#$?5f5U}*!^&&!K@0gkd3+l0*9Vee2jWCLJyxv@5mu5tF&R*2Ki`a^FuX7(_8y+ptyI^ z3{$C?@s>ZcLiLC`(kXy;%-t#ng?7mpf13yz^4_#DhE9KLz8Kz4im^E z)$PZoX`S8_&2A2NWT%CD#BP$0?F2))RH*soHXoGxiDgy;q4Qi406E;Syk|;BHTe?T z$1oo?#$vtRPYa9Dj5J4&QTv#$DL#oB4!w+We!kOvujt_L-f!qWTuxrkuRjV(npfej zUkB+vSn$z3(rfbZh;STh@jMvy9f+N-QKVO>8?*UK{V`d33(){j1Ei^3NNosk^%6rY z3_$AoJoSNho1jy%#^}c3J;cHW!>&2ZgbfC!14^!p4P{g+V9=H`7&+muy=Hui#P2~T zZ6JDzraUlpvbxrOX(*~K0J~%FId*)ch1Ehl!9T_bORF8 z8a*Yvz+bep0eN3I!c!VlKLRM(M$<|2E_vkK=`(f{$jc`;-94L$q!=B@J11U5HnTW7 zC5?*AelueS>BQ>K4NeO4^_rsl%wwrMk78IYeBfow{aqC?puVv@viA>^<{v^+ ze}s3vXzu##xXLv(!}>@^Lp<%P z&MZewlSV6ctKJn|U0j;JdG(lZ2{jk=Zf3W_!R$>4KrWaUSouIKtfsH_1+WdsCA8K$ z?=}$4y`S6{nt;Y4F6QY_KP196qG)#6YV_UQo^S%$!;}DEji1Ca}wOyZR(n! z9q}5&?q@;ui-SeS-w}-q09S8;KXQ)cA|E^6zml^&8-pHI-r}FZ{?GUy>@F_|rz-1y zTrtrFQOez2KT@6YV@Z(avEkTUi{pGQTo5V_#{>P$$iQqwqeat{M?oIE9FmxLX~`_` z7j%#BgQtXt<30z6wIL4~?G6Tz;P7)0K$oNn_UL7X<|^E+p7-r6?n=s=7U;ccEDFmG zuu-lG)UWv*B;`!Q=~I$Zbb3l%pifpN><9}$yv^Rf5y~s?^g6b~c+8t3LI~D=X`Nj#rw{~e*M_#d()D6gm z*5K|7@5NGzNRg~w@SDY@ba5G4K-}Ql)`$jd=m^Ja^_itT8`C_zkzqVs8my<0>jx83 zXt?HGmoV)=rQ4`k)QI3lA#w>Okz)xYb?X-Fj-sgIdP5dgTaC-nhJ7Dm|CE4tRJqpBk4 z@};pn<_j5DYr*8Rl8xqHE5`yO&AwSi<`C=N$h4aYe=n=w;UslV6qrp}eTaE{rlp?R=Lgten!x z**|>ZeZX~hN=@qe!~RR8#74DBAo)kmiEGp8>juG~<}#4Cd!`6I#`6oWFrQJot=<<- z4Krl(_?xc^mEZaCh9I{to*O{awgVj zQDO$Gta2lf&r0@=KoGmq;|&dAD1FQqMa9{q3Ug}9h@#22wOrKRq8vGj7&7DF4@+tj z0M(v+`o~1$P@U!7uY!Az1Ve@KxpMg53yT&k`@G=~2@WTNOZAz)h*XW}E8Z<{Mk&)* zE{%tBQ7E#a{H>?3o}(Q&x7t>%Fewqt&i)VXu+xImntm(=FDk*5x0N~sAca|YusnK6VyR-2{>qo*Mf({|zK0glujNhr_ zJO_hI)ceg~X&UAfab{WyjXgD(PzVm5|wH7NrP|efc zr#}fi$uOzi&$53`EfY_4(KekR7ufy9GAe?*+$B82?kf7$S=UvH)vQA_lCGv!yKR_r z7R9%|n_{i-u}r=S5FI&Ede@Yps}mzKm5^w_ zcUzZ!@9b(f3p}H(E^|bHj!JJW9>Vj?1<7u>W$i8D4g`4qgzGl6kuDY`V21{Yr;BcQ z=u0s*z_0}@DZFF*V?=J`D{0QS*ONIrZm3po%Y;ycDtwdF@-+d**iWx;~ zo#PlPyN;3As2Of%tIDQq$l0gM-Yjmz?3q3M1tk1@?ePBqUEA#qA>kno8^ghg-A$AC z`+_F)mq*`dPpr%hzFC&i-k3KKpnnl(O^%Y63f4*%()T}PW2&NyYqeGIEpWhUN6HDn z)1~YF90Vrh4rNzCQfT0-pr|p|Y(D9Y!(pWqKBy`|f!5lq-Gfl>fWuwAUUIqeI7f;) z8LQJtg;`px%YnRwp4{Tqj)pdYoHv@Ci@xHS0g z@Y+r}8X9{{58PAhq*5APXc~WgGVN!p^K$)X~t zx&ZGr4IsN}xyr`iQ+;rG_KsWh`hT-bIPd7*XO!_-8fC=Nr+rWAP>40$?VjJsiCb{J zx8Et3a#>4lBD?A3wA6WP&K_GQA(Sc5H2!s&*2zW&Jh&FGX%-=uKvW}_t#^2otz!=c zrrhC4Rh;PCr&rPrWI?+H_J(A7*jKEq^sHOSzrU1J`av^ZO*A>*DUf4(M#E@ccQrpP zE=j{b2nCnJ{M)PI4+h*%A8Fs){Fn`dO1Gy#A*OZrjYJjLUpdVd zX{NIjR)Y=f%<-~PW1sWh0Mn0|VSU3z@~6zXyn{NSyVg`nN4aVGm>5oo)AtIAP`NpJ z>3*``vL{=w)M0cIy=(UfcN=@hi+z}B7F+{eyp;pqz2*>rN*f9u%mj#PLB6S22tgJ! zOr2ZQ4^>R1*jT3tV^&+uBGQ6o0p*NJaMPP8$v5@3~j%{sfL0pDm| z>8`I?U1-J@|$pJ z;p_YkxKyqNykDSjd<`K!?@kMcfnfJcfn$DrZ7W`upUIoI^9{c1F9~(J=}~jcgxs$- z0qGDyOOR^GhH|%eP8gzERP%|Z&SA5wHJ(@fOY>)9h@2BD^=>AI%4Ia!GiP&-P5~APZc3@VEQWM?FvJq+u&}X~14<2di25qbS*xy6kV%nZ z0)SmIzT935(!JyNz(9zWa)TGiEafcZPJucEzCu#;B{>qF9C$e=U%}!K@SIm{zR_V1 zuHFPx=(rdP>_<^)1lLVvX?3<;H01%kta3u(k%u{3_NXki)~|L`5~P)72gw}`{#Q2OO1ZxWJ8&@a1DLtwX6=fdzCBmJvYOSi-cgn$KYV?DE9ov_suo`wt z88zl`@OZo@SbU?wr10*DNAMbwxO{Jj#(UI!4jP^OJ(Tvm3^4-E0Jb#<7!zJ* z6@?|pJGTg`+J>dt6I(bKOdH*>Hth>^RfWtdnHGkxcnrq*Kd8Ar3LE)?(!gbF7%X)X zYm=^F2M-Q>`%JOgSwL1V%4WSHjF+48zj$T9ftP}V#C!@l&HI{6}LC{ zltIHBGyebwzzWIs#397+98NlJwicp|HP=75jQjMLfn0k>YV^xA;>$9KP<`GRr46IJ z$;np?_U{p=JrFOjo^xAN6QM2sOF;p?aQjAE2|8(YwDM`A4IY@5@Y!#~t_&pfO=#9V z4BIUB6Wch4h7~3Ym?q^MlNHJJ=?-6Xt=b{r*KQn##pf;FP#MZl#hNvQ|UH}|-R{Ss7MO;!7$vtRCI*&s)+#Zk{BUvKF`rtM zXnSK{sqeyIXl_>tO-L5?rT%o97G&DP{>qF2TM&TO4M;_8g{No(PCer4{Ss+R>dYda zv=e{?(J&>;C6pp?XMZB)C{bsvsV7_32=F{ESvt||n6wN-*g01OMFDA{4uoj$dYQ{y z=Q#O1`@??emqW^2$Q&Qk_E^i8H9nrQ%n224bziwcs9If)e7<9?L}zNFm}%;e79b4_ z2Bn5-0owU0?@OcsMN%u0KXV!}fo7dS@f}wR$zH4?jNUyU;s$D}iqTo~jXDF+ zRJ>8DoEg>7rX}kbk3N_8D+~J%XnT`a!R!+QnmNY1Hh161+h7W}H1z)3q^N#OP_~7LbM9uSkXb;d?oK=M_P)H>pG% z=A3vmo*B`@ZY#kf82Bz+UZ)r#nJ`J`2|H9d2ZDBLnwMTL5wV4aGuv=jB4|2uA%Fw~ z^hPF;897ZT#ymYxLtkg%;g@W~nyM|~8xAbM%jcBs2MB3B+El1KBmo2;kN_S7z%}-2 zg#);;y?-V@*dMZ<-zl(rn*#U`$d3tLl+eoWcq@O0R4{4v<8%fxN6c{{Ul3nmridvozzur^O458gSc#7?C3qJWp5z zO%2OB1Wq>~`DecH*68}PHy)~8|8XdUa?JZXQ1Sp{$&8C!~fMm5Y?F-yB z;jCiyUJoCnBxa;l**;^Y;inz67gyE5(#`^VjtLVGa07@CLE!=80Pq;7bbeWOWo^)E z{bPJ-i+8hAPT=!G_46TxEvAL!Eb?7*yO;}Vj2L5HW8I9lX#(|SJxTREo(GFQnEgaB z4S;!zf_)ytv@%j{rdErNxjI03Mz-z$0F@|lFjz5@l*>qPRP-a2@-BJ~Q!i+P82gEd zJRNIv`?PaQLQL=-b=lSaOu2+|bG>({lC#ac5Xdsa+%rR}^x76o-X?L+ zqF#cY(9y%~0{7uT12yp}rO+zQe!j@#c}tMT8cn`i@_afZHFIUI5gYIcU6HZhL|Ij&u#8HX0B&-yd|oc{o)J)Rj-xGRC+FvqaP+&y9bk?N9EUWoJG zNX38>~de1`;50ntbn!~+XKLTIZWfI z3vGHs(L?IlX69 z-qFmB%L>rHNv;K5#JTetu7vfLk{oVaxbLMf@#Zc^CO z1E1zO?J5YxRa9#8oA|3s--5*DO;juK6+ozHU@Q`*XgMzZO*Qzn*e zGTALUM%>biYDTLo*U^@DENUGe{BH-#9}no^(ZZL8gl1jg&tR&lMaM&vUIsCY%e(rC z6M(~^0O9h_dkjJITr$a$5>%<`!{SXX{{UH3Y_170wBz)~VWTvBoHy`fnKS^smOP?4 z5{^XaBob%~w13EfMG~b=vc;x_DcXf%1;>d$u&4= zcb@iXhRdQ_uMkwRptXUBn+g>123u~6#OjE6EDWtrwqc>Kp0jDcfh^lZYI;Y8{{VyI zd`vvB@H5zP38=$;Td>*q$#H$6riuvB*G};ehjDAyfvwu#Cr`H<+37BQ2VcRVg4C1; zUE%-*RON`R`TX2991Rm{-~)I=!|k9vdgpqlNX&s7bbb$rt>pZb=wL!^n-Wp zuYEm9QJ9?>mX4W>;3M3!{{Zo^pFDM%rk)K%+2A!H!w{*==Lpkl_?mdU7{(7x_=yrS z!|F|0zX`41fv9NJ=`#B|%AV0Q-j4>{6Gpku)bX8t--v01Tn0EOq;Gp@) zGj0N|_b+g_J8F8wvKmvE=K(J!!m8He;xKaZOP{jq)^tg|yd_3fYn6xWgRLUEg4eVE z0K{W8d(BS)r1@`{{GgIM$$3R;|#_hE` z%Civ=HAKeE&x5_`^Ng{xDaC}zI^5xx8mw_oRbccUBYse5==i7?yIvJ^@OE+9u3zE_ za+B_@sh=l%2}QCX^u%nOx~&~WpGm>BE4jaigw=t$ZmERLr7F7dAOD|P)a zFS@y3czt0XoR|k=)d)|e14|Q5sh%8bC*Djl%AvZ&C7#jN3YeS^3cl~c91`HYH?hA% z&RM|qj1?VCJmapPe49@#R|HfzTMeh2X-zVZGo2kfM$Mi8EkmXa9iWg@q*j~IQy*t6 z??v9u(zv6E1T43&ouY8G?KEZYQiH4v$^}0VO3z(`c;_+DsNLc_-jax-359q%Gj{x< z=ph}=5lvAO%Yn1zKIFkpg;5ly!9!zwd2TysRb$rbHnV)Veo&Nyfmb6l4 zSbR(1KXZ0xVP25Xfs(Ynq2Y#e{zbo=`4m#eQT&Vl z08{x5Vzn*xS9w%@)ARydjI;)7@#;iGpT6+3Mv9mM{r!+;sal(UOiC?bSZ2T9iDDRl zl-3_eE`;)!(7*&yUCp)D@bV(jaL%cHVZ1g<87!^!_KGM&B^2&`%mB8v%*ArAFnQRn zr2y4xT@5_ETmACz~yqKNZnG?9aw~rjb9D;ZALAfrhi`uI#dvq6S4c#q0<<20 zH`^>~?cT11*zMK^4UU|(5FDC8WUXu;f#CNM)tdO)$)ms}Jeb>wqH!2yWwa|SpvSrh zD7ptP@*6_*8Fs_#q;?OvIqB96FQua|HF5JNnLM7bNhr~Hg8LZj!&AB_dIy0j^g9`L zK)mKqTIwOPq4&9@&4b!xJqM51b7jfjeDsT*6R(`=8+;rP*nmr_=!-5sfBf(g45ebG zs?!g1`iEaW;jot0j03NCX1nzN0FXw*@1zT&ua;of$@&-q-2Ao_sLEOZe>&;%u&i;2JJHjra2Hrx#tCUzo>9&o2Zto8C*?CSj7t7 z@h3}N42k-gR6Q;35ALNTsry**_2|fncSNW>K;VA$FvLdW_*$*s~*YKii7uOQ#$<#*5Cuq zTp4}}lC^v(qtTZq)Ofdc^>~^}Pjan}7m0YSpur}K>`bph#@jS!>{z&=*s4dmXamH~ zWu0uAtAF3X#%b=FnX8GeXgCfF(wjzGl{=6)*y$cXJ-^gd3woh|AV4Ny;H+V4dcm^- zbLl-sE`iO2^WEGzdH(>6)CX9JomIK~NrB z!H)o^#I|T`8jw=;$T^M%xVNBmZ933PhW+}@J8*Ov?Ja?-<4@||ha zARXn)m-(5ex@tj~F*Qw7M9~N$V=%3H)Y>q+GhX}}{{Sh5GQQs}xOFG-E6kN?9Spbl zMJW0a43WJ2%;k z?Mi}P=QlWBan?@HB4&4!{35dA7CI;K$Ca;pGMjUOb!bF^of<3JKg~pKh~zivW*5BrCh&ROu`>vT)`y#kTSVmNHg$$QLxIcJl(h$7KJ{<_ z3mR}lmK{&-2ukLDlzr2e>N;!1409A<9QRD1Lo|#Kw&{e#wBpHf z^^|!|OQsc-aK>EjI*2vZ-KLC{EA~jhU6WEQM2< zcDKLfpTFP{dyJ20je)ZLisDy<(`m@}{{WKBJ*2Zm!v5}>{)pWM=sGXF-y5+4+Nr5} zaV+HnN9Z6r34>tr>C3?JLYOUB+ZOLAlbtYgk1B&%)DJs|@_EOb!9yLR{{VaamZ#OX zEI^-7T|`8nJm<+(*7chyN-F}g2AOM$TCH3S`~hB$Uf3D9?=&;9=$fzJgpo>39t zT3#!T%ix&H(K{t;NRCl45i#hGL`CRMLFpbxynExZ?44QIl|pa#MQ;5i8^LzT(f6HS zr)kmXT)+Bf?M zWMjiRw%w)T!mL@21qIX@Frd_}W#^O9b`aO(IYdSEzxqPjDPEl;#p7VZEbO>k7Y2>4 zxRz}CE=h^34}=kVv$%dyBu3Vu+>9jbXe1j^**f@O#Pr;MiHIhHdf(z~nnP*ai33d& z`b{-$%sExUhQpEWYj`KF!P4Vc6A2dGsp#H3qe%*63~OAX!Dgjb%+>aZXv<2C$85$m zlqHT`Gv_>?Z~MhTRe>iZtxSuWgdg>8KYU|Hv-dW_TmT0Q(z$gp|&M(TIG}FZn(^=cyO%BhqRi-W*TD zsZynWL0<456BbpkI_%0p!or_+XzA zBF2?$`m>;)Eb5G9FG79z>X=VoNqCy7WPKyb9oSxw+T%rW-3+U~7cM(HvC^s5@`=vd zS#ssYm%)m?LsiJ{9g8Kfq0?LG4p8ZH;#4WthJNQRJ4>;Zs%|ytbOKD1+cS>W8UltW zzGK+J-a+t{66S)KHS1Sx9!N$8&?seR>9No?MZ2B-LYDsk*`Aqaf0t^Rd6rNi8sJpc zz&xP?J6_1Djna!30if%&EUb!6QKwjds%UkF?Xjd0DXDxP>?>AmV9)jnbU`=XECO}B zo2HEKKAFD~Bh#JX&98C%n5aJI`6!7s!{|SdYAxqe+dk1P-rvG~ zWAz?`x|%8OU%9(-Wzm@b0C4z-1uk;F(eN9wJ?Bs|ajykRl`2%JQoKQU$>@wQ&q5C_ z1{qXe3)3IP{&vdpl$Df}fj9;X@eMdFa`6riSW_07inXTgVRG7JwEKyGv~yX+HoAg| zr)VqyEU4v{141U4V%-Id()Uz|x=gQ`3H;VFp_a z3uKfvXEP0Jg7F0hFWN6;*F5FRi|TI|sh9^(#JO_f#fuZk%TFj^aQ9{(W$PE0qD00H z!HDR*>T1>XAS(mqG(l@mnpTlSrQK#3Acxrlsz8;k<=jc_vHYa~c?ZEXz1#as8wbcU zBowMlVzs(!+N_vpJo7bH`^lQ{u%kr{9OX@DP}YO|ff(=!zi8SuH9x!(ilL>aq&>iO zLOFR#6R$am7z)R{ENZDj{%|qc>bZh7yD1ycDJaRNIzXPeh5rDr{fcV80<<^_2Q%S+ zscu0Av8=fh8M35y-B4xD^!U=P3t6Euur(_WA|%e%%6dk(_B@!r-=msTB}%qDuxAr+ zb!+7}8|##+&HeI@ks9Aet3Sy|YjpJw(jd$>ddz%QL(o%N(du-U564oaN|h=kcqfFz zEW8#NVV=l{^hQ}>QBudU^>`-BYX!s<*U8xgmxIrR?wClY70)%u0fUFs2OO4E`2Ww(VpU-B0D z3;Pg@Rp!5J&V$MW-p^Rk$@Komh7V8jeLdxGH1q!eNCuSo5B4I#hQGOva^0`*l(@d% zeC3>o4w1`(6kKap?#nUuwhg_WvwK|4ql}bUhY2U&Q5*=>urE>})5=$OsT91$=s{K#?7!ICRrkN_ zH+_%e5wY?7C*Qf0OnpDe=RE!Y0Nw^(tj7+5rkZIiYiFDaqms4l8)&)O1(%Rxd1TUU zQ*g|fPD6k{vJJm(SeD?Hvd!q5RP;vL{M1#9Oq-=g)2zeg4Njxp3%REH)L+~~vfy52 z=d{()QHfrsU4gicyMj5#N=N{>@zMt*rDJbC`F(^$={qTBfxY zmzf^x)rftbS-at7LH?^R(29qdd?lhOd@u7EQl(0j5+*p7j{)I69lU$^KaPk_e*kB* zhYbk64fu2LGWe0=@ukbQOJMk!lxY#Beq=smB|5j1G7ap?Zu-M`;`I-dq>4P4d}L6$ zg(1=B4sNa3O$EMeOGJX_^MY(WU^QNmBrIrUxzHT|&D##lzC_1A9rkYp`TqbDBR`$~ zWvy2%G*7-n!ad%+oWo>nI?DZG)3X)H;3O|IJ6>rx^ppt3gCDdRzfhB?tYfWEncT6< z>iq;Hqrk-SVzUd{vqS?OsDRRq4z401$b)Zql3?M||Weg6RS z17!N*jy)y&pX7f@{{SM2e@XixsV-#O#G9ImH-})=Y-M`nbNhp?O|4HwG~cQ6mM}e% zXg^8&#A@Ayx;M|hY&PlVkJQi)=+T*Wb5F}GaC-uCGl_Ics>M` zDpX}k;ICf@Jv?{8jP}6c9s)Ahc|(QxHE|HrX*PHj&C|zAc3EY@Vji9cfe13CK<6qZ zcxSX~(48&?InMcQm>LVTR21=^c|^ni00<3xsONk0kw0A}uhv6MyuXlH7&1cJxpBVz zELiwaAK@LxG;dN>we*$s*J+aub)`&zFP>!7_I=hzq>=Uqgo66Ap`TF zme))4OA|xdmcPlaus{lp2wkrMn}m(%#%zY99cwT(n_(@e_i#)Xy1__a#&SpuX+8zzk&~uZ8U^8{-0j*i0<21d5+`_0>w2xH^-g0VkECV45xxhl#EoV z(ZmD14=w;hgD+;f5aRe1O09SN2^4Z324gZn(l9Z%B9=9Dys>@|x^QsTfHASa30uTW zMpPn)9$$ivQ=m?aIdSX9n9A(Hbq_cOlXD+JIL4h*wxOu>Si$iNhzj!qDKw=Sg1BxS zbo-bE3@p|~W#r+Pa^P?paK*k~xu7jAuX(Cki($$z&38IRF=5U$2zg;T$u92ohc(9A zRJn0t#L=Uwj0B&oEn0tXT@z|&Yig4)`yxN}WaT>L(==A?8ECiczz z4+7A9@YMzave?%$mx_R1OgqHI_;!bnYTL)qsRUApu^l+PHB3re)ez+?GieIwupJC& zUTbg@cab@^@|WxVWx7u2jRTe971`vAG(8hSz^W(>jjz@Thk0ELNB4^q%1ZGhg0r90 z#Kl?_6KWpsnKqafoZ(bxAGu#kcn4|EOy<_*?lH|ClhR!^=xgZ~f{!Gc{{UQ^!Q^#~ zCSFb%*}+(r1Kk6btf?0A^1gxX=*$%e7(<4!ZHZxKWh|h&Vb%W3U57m-E^Dl;B;mYm zQRO%L7z)+|eeLlsslwqH{w=%}!*2yZl`3y4Rmzm@48y^@2z{1?^YYn}{vJZ?Nj zEz9sVvxt6m#)ccZ%(~LX6;3m=dP1p7HzxiEhOYpwT3#FQ+;~wb4&2Ew*((_t4MtYC zoNYm6u|p@&;3n}2Z|yrntC{;7XKyc$*c4+(^d3qU%|{afn{FX~<`AES5%f@wB6 zIfsQ^V@X$*@usm^7_$1G?6VpK^cpxRI+MCwAmCiS8k7aK>4|p^7~=4JM^>Xojq$yu(7uxI@E+VtMn0+Tcn$a~ zn#GoFIdR|r00ZE7yfuC_tT4#ZR(jUm{5Lf;%DEHD8^`IUU8AJ;UG zjYecqUS;>B9;kU!^wgR{qnUhz%l&fn@9h4~NM>wZ)99fRNe z&X08I5!kK+sgL`U{UCXGuojKrsP5%H5egjB&9tiMn;W+K# zy?C*E?{U9>0pU1>&scsli^qNpBf9o=@8hi6O3i8!(}SzvW3DuU9i<0Zo|Q!-&}K;w zyV3oe;D*}6y08lm*ZBg60-T!dE!BH}xpq+rYX)jhWKA9bv>N`{Ubp6E zkBH~xuPy@_3K~UAnSriGJz(26v?ku+LRw37m!iX34`Gf;cXxw){G3*gl7t|y7%TgsG2jYLidhi6;iw+*hE(r>fV@}HI9>hX9mX&I^E>#24g-eL?qUaC4O|)F zzG0^Z&Vkx6G3XXEmE(fAZJT&aI9%Qf<8@8*;W#CuC1ql!+-a++=~{ z0=d4CS>~?f)bJjx0;P{U4B$b)5JnyY;8Fc;rOw0O!P;Vlgdrcnx99TwbviEI4A2w3 zJ}1Mk?kU1Mu&1lpJ~lH-{cgoJbyZ-?8>S6uDBddy-aHR}9FpUf8djj;=feC1vFyY) zf*4z6Aar++SPE7Y*?cd?07SqSPr%GuT6N=6ye|hsW3Y zmbF1yMW9&A0Jo^bTL%9C=4icl`i$D|{vaA3Kk{wInf=5x7hr*VM|?s9V2@AR@KE>m zM*@cDvDAPHZ=gFmFd(APVeTbpbWQrpDQdj+7401Cji)Klor#PPuVF9_pz39 zJeiy9X!(YFSLqg|dMa77d@c_MiQqA?&prVJCV{`;+9jyEFTwUB?bGm(;H6-;CkmTz z%fRuz4AC^NshakeM>cUB#nTn;L9%5VbM!mKYvdTOZne+cx$mFN!a!q2 z?cF&@x~ywON(=dstruPaksUk_gG@EyzY#%{cN0g`Tycn+qiPU`3;zJlaeP|b8S5%k zt~DxG3olu4UUOb<^W)n&`__y1>S3RTLH@_Q*2k;jH(m51o-Mc=P-IQNAu6iMxHWhm z*WzWTlFC^ftS;GJ3r7t+9}y{eD&=g@K#xy&V(8?IYJ4DvUEzkaKlVG~5&_hQdsKMC z?=~(jvE;?|fT?Onc^-&XqjHQK`}BxEar=WK7PteJ3_23`ii21jZ_a7p7ePM$Y;1(+~rsD38%%jSwS6Hyi- zmklBKEB^os!?%l5zXyXVS6&^-XISto&?_{`onlN}=w+C&?zkdac?7BHE?-BD%wKC+ zsd<0IHxEDgn{nA-@6YZ&0h39-b`{ZAAyAczvLBmnCjz722Kmu3#LY}*sB93%NDV%t zgTPte4BoVl2a7zV{_*JA?N{<0)RE4Nc9kut()mj5O%!z~U&9)-?vw_G@{32RC4^L3 z>r#Z4cjX#o0GisUjI$y0!TpMElEms_`{FR$u#(BFM%3$9S($DU=^2risI2pr^N%kk zZ2ra|cp)RUAo-|fZjla=;yUmgU$6L>exE3#N^6=3pzu5%oHyc4`1aubF5iOJ@5enN z^ktoAq^VpoMQheLy#vt}p!v$+_TsJ`iAj-h9 zbt@zs;%m+e#w>p27eH;wxAuso*SRjs3~8y%C7V8S)vU9uEz_1*!M{l8{i<4HGjY~b zb1QdCuCU6~fDZ5;xr!QIvqVdbX)}2JBjF1XV}`gcjhaGl#z5JK!VuuSf5iC&Skjv2 znBc-39~PQ^4*YAujy?DuACrycR|>tSqIWXf<#wJ=4?YUwl9H=QQ%QX%c2U8X$Yy#H zv!YYZU!Q51u6HoxOied}Xx^Etn6%FDg?p%x4AS~<2d8&W)HmW;qc1cH#qO4KJQu)m z7|ZawaH#;(be2XUsl&s5CnrnUm^E>sDnVKwc-O;GbuSTf!J(|(0=tF&k9Zs{DajJu zj*``P#Ji)iE|@1V=^Nc<9!ZWv=!Ke>8YsFqF>#^k1168OA>{#unEVpfmbx*gT&TTe z(H_yJJg`*XMfJ=?Sk^dLv5aF$PK`}+Z?GL94j%si@gLS}7YU)j)8L4I-5ZY)f4xn5Gbuq&5=xl*M}O1-CZHA-WNeHra2dhpg*mdNy6=dVBe z2&@jD*aJePN_tL@MC&N&D|O#lYjRXxXUYUpE2iRh*J(M^*CO@KpY>_-%YHT-4&jix(Z?$@H{P3eK^p3nl3tmy-tHze!*^m8&q_1sEGry?v?N z0QZ{Oe`>JvxU-jAwCXblQJ{&Fh9#IZxq*qIYK&vSj|C*K&EnuX@sE4>;El6EHSjpMhXe9&;@`)9 zCVaemW+Tgi%2cW6GsuIx^T0c&nZtiNl-22Hv^%FZ^xdI z>~KnFlM%JOiI*Z*eD~txS(iiBX8<%SwC-g*{i9_ye5I|>2Kjo-Jh&^o6R`oGC7*Pr=F z4FT2Kr6K~}=Y*l5T$Ah0Wi>k0#jyUfSk)+rs;4^A0*wb+Wy43-Yq8d1aBhkfHejKd zn*~MlCfpY?8Lo}Zb(d+MnQ*zbV?M)_zqQT`(>2C1@g!!FD~N=5m+>8sI3^Q8z|q3A zhIpKM{(Zb%{B3~iv^0$72b5jsNjoNGN|hPdnQJL~%6ZK4B8Ick-w-cti~^BUrSi2t4rn=P>}NddH;XeF>4rQPyi=2r$>Hnexudnevrj*{vThU*ij^TN~$W!49D0}9g>o7H2 zg+w?!5z)YScmDvv^WuCgOb!XnQS-{gMAMVJzS;7ZzMY$ve@G_D#-002wyBn@C^RKT z+Y<(h<1Sz}gE&hnNRq~lavzuPLY5>-+B383rMzcYA@5Z3rFOW(aT@UOqP!-a7OO}7x zRYBU&?#!~S%VKAo)^A3a6f~Fml}|DO6b4;yZ)n=$kRDRRSg!A!t?3`9?ormi>J#)! z8HxgLIS%Ahdeu*t_$D2!0y_gt+yK_fmg!G2Ik|vrKGFLVohm=n`xp=MfY>;eFY`?# z_0Qxo3BE>W5gw78*Z0a^nrK|3_VbWEr^^x7-+V)MzMtY?&D}rT>OMgLeqsEbC#(B3 ze=xt8^z9OISuJ%|B*6fbxuW2Rgoh^PoY3(ASBHNO%)Wn$`Tj!!ZNit&v~QQJ>SYbM zsB0Yacb<;ZuRZ2YQu&g}M@IWfdrqwIsZm3DmqXS)LOsUKIg%psK^E}C(lRVLk zITBWgIls6H03AFA!L?{Lof*veWdT4}DO@)#f4n%GWOQjRs?5T%hTUoNEiLDq7#XVS z_Otq!hKlAwHp5&L`V!klwaQAfq_7F{aQ#Xk)csfe%s!nF-_^GUU{BaV9wFcm!@%Cl zw0pmWo?NBbudTBaAKUuj&U7*A`PAigV2vQ3f(GKlqb-m18ap* zniE$Ma2`FsBjfk+>hZr)`^+?Byke%lhF7noyV8jBETN$*gNlUQ&Za`H8U(S3fuXVix{y{C7|AkoMKu0Z6V1qwP!;Zd4$v>MIZ);(YvG<4xkQlc>3zKSqlo{5&Mw?PQQH?NpF z`=ul`JinQUec+D!4Cfsss_Bek8v4@iyY$b7kJ@V=Wwp(*`M)(CYWsDb(Tn{A-XA>v zSZF)V{{Rv61xx#$!Uyg;cW|oN5RBe0Bl{CXugYd&-H4+%blUn-gFriYrlYI~5JCs2 zn$^x)6GCd>)4(u)C!gi`@iS?y#Y0wGu*zDs+Ec%N31($YG1@qOEWM%ciG0r~eZA(g zxG6KryUw*>R+D}RbqS7WoadwmaAoruX9kUCR|l->&w`>h%cQod?141DSx-6Scn~#r zPLs}c=Y>j@DRghWZ8wa05CEeDsl8d93+piRbh1(FUw8wXu4VHdNz+`ZQrbsX>fzX4 zdv4skELB_3YRh~spX|`x=KD&Hl+*>I1MoAPiR}gWRxz(m+BSoH=sm>!i=>;FM^VMlJG-Nu9`MS?1OPFMx4Y zBdicO3GV*@6Eu!C#)Qz}Xz)c374XgeUAR6cgTfpxQ?z)gGb^5Eo({`;N?JcDZQnGs z{wJH#26UQ?tz;2hn_Z40%;Ug~mb3K+rK8PkPC3sg>8oZWpO<*Uut!K|am#^1@0E9r3l z%X9XLw%*e*ef=ez%ukd*s2Aqdbz;T#_9E&fiKKO7=?D+AE$onY6GCJ`((?t%8gyyo z{WGNr7gd{@0DASV9WroMcLLNrzL~7`{6|;TuLnp8+ZS7B{FM48MiOPwd&H5z)OLh4 zCdh<9jHO2M#|?1$E=Y=44UmES%5G}}F;I)L|?FE`#> zWjv3xw{_(X*K(kajrNrGmGk3V6MMT#TH~|{-XYW(U99tz{{X4vnQC@vGpX2P-T{hv zO5)GiHk`%u+E*!3r5vC#w0Eg{y7D3oqnOKg^f4x&@|`COlcHBM-G3!$(JEA~0>dky z)?X^Tj*sk5ZrF|(SzO1YxNkT-Lf5rbe&%BC++^6VeFkRlgV-|1w-md#rl0Z+95(b= zdEd0v^TSG@B>`FJx&*|e%wTVU$%grIC_cIfn!{)+6HxB}Tx zjHyQrYWo-qCgi0gSc@@3$}T3Ex0BjzGa^;+YTzLW@BaW30CZn?#)Q|#(ZE56{^mN7 z!lzfS2ZIpcBe3k9_o@{)drNNTJ+8`zbZ#e2UXwkJ?9Q_H@ahhEOtdS!>dd34O7%SB zvFj!#i`q3Z9`ijh71WCGAZ1eiN;B2^O5m4Ji0XD@V*T@JdPFUoE?as{tFGljoii#_ zsj=}8vMb^|rE#gYW*@4U{{UgUj$?5)dWiH7oa%>H$gh|yK%M3Lllp{nIM30hWZni0J;c zhtlTo+AMv3Sj(H-*_Ir48$zuwRc>~Sfm!rsIjSMd6v@O zNLNKATTvya@hQEM`H64X%fF)#8Vc~&_)1!|bbvSj_&^80Jfi1A>YWMZLBn1{S$jzB zY`bDS%byAbpg2IH+P_^rJP71Y@#hBPFSo4Zoh%UMM9G%B;%lU-P!Avy`Mc=T{qY7l zT?VjS9GYPMz7CjpYdY66%WM$<#9-~5HqP&G;_EOJ%M za7hEb{^cgGF5NTY>~zC%O6u>mB9^)=W@IG38Rd70;SI>X2)31QR$=rz;LNtDYkn|y(Vj-=bBTq z>pKrwe8hIwd4PR+%a`TFQu3Rftb=X7J=^_L!6Q%zEQy^$4 z>hTUE>N&CDr25`7ejT7vw$6U=&UNP(@_iXZ#8Jm-gl!gX^~NQ+N4E!2<}AMh1tY6; z%+-_H1FR_}Mtj7`y2W#(;c17z0*VlXzs}rZNJsi1;Xt(moY?8j{ES|^mcAEMo>8?f^lM>3M{S4p zSal9}QLeS~tBDpP$@2`BWalb03bYfe_1%z=&`h_A1stDpS9&h96QXqpkV$*t5Sul3 zfz=1?f016L9Tt9NjbV=`pWj~ z%Wdi>V8)vI7dnJ3dh#`u()+;BXP<~l4=y<%`(^-81Cbb=K+Z*-nvUpqE>Zsgl(r1@ z+6&u$MNM?@p%ekC&w;GHhz1#TcYHtdr&4G#J+2iJYeralR8ZhvbrwS7TJMP7#p}po z)4{Pa1o>hWo@{cQ!r& z;8r!Y{$Q~z*Ym%by1gU7G$*@9zs;hIWB5jDjDa$7lRV$dvx`i0CN7L_%qGR;ZrDH(4$v6H!|Ly^2{6yV_rJ?U+9&qvmTEt$7;9_Xzcsqz@5c zo~$M;$?*wEF~nGfP(4!5^Bk*9&2cYN~TSjI8-@E#hd2F9XMsU0Qf zsUuLBrm3PD!VrTFu>Szec&IoCZNUtu)SlAaW~F1QY=g=<0D9$}Z;DXY63&lVp1#eX zQAdL%()rAC7kE3M^U__vfiwgjPCQ7oFOW^bj!*$dixA~@HJPr5)$0sqgvVQZOI}~h z%a*(1Yrso&`<>r${DN@dUIt1A?7yjvxk>{>3V`Zd!&EwitiyH;E3LkN)E&?|>Od~P zlje2apU{Lr13>X2a2Zwuka?YZx^$jve~47AXuQZ?tVUQ-j1AU1zlNVP09>5i1AHU^=g815x*7)qcOyTF$8Z;^M6kgg6j~ z1CMVL_`7}vdl+dphU~!d%n6<10UM%u>>OHH^2Q~gJyYBmf;ur8YV?_OfIIlL1xt1g zaaWnwj<6jb#1B)jxKmTG)TW1){gXZis{kk{@mAZHLwA5QRbPk}Lc1lg=LmaVuzejh z;Ka4>A&G13K4F}m3VTp#+{|aAPF;lC#KA>0I&J|>HWSq+V4Q35rOMakr zodEZ^8-2I%CoB5=roio=2(<^l1*x3^`Ac+jO=9r~8)FDHUknZ;An-pQe+O?5eh-D4 zUQpmVWqA{%5R%~DawA6j5bvnDrH3I6VCqkE2};G9lJ`puao>oIYVs$Q_kyvnH;(gu zJdb|UsB|zutP?;U!~Cr6VD;%fV4@ zf#zZ>WAF1Y0PBfM$lAY>zK=`BqO59Z{WA8gTAIEvL*1ALGvplv155Tsn=bV+(VXi3 zAodNqK(lfJc}%c@Yn8|QEDcLNcp61O#!I_3-?Bks{i+H+nnZ`|Zw73j@|*Pe(+w^F z&_rCT-dv5w<;$1G@w$4C_Di;a*`ULqpkvJzv#P=5L(njv+3gjp;VEzE8{DX>JinB- zq3;Ib)9%As)&t=R?k8XH!{2^+=gAy-C(qq@s4R#Zu&Nt5b_9T^+J%IdO|5oofFdu zTO+A71?4PsdV_P39D ziRu**okMjLc^rtbi4rDacnIC{>bB}YPSY3NmQ`84W20T!uD5K#Xm*MI%sK%&M;B!D zobc`7Hk-i$2oU<*<^{GsJQ&jk5QhT%Ex304yKug9K3*q=3CQ8RcPkXo_h9VR=FIlv z1S9EwMCN|UU-c`TU4mgjS54!f#2d}H@(3NF7?-&zpl2y+H+k}clH$tgIS17X?fn~g zz}gOGR>qu<)H@f=c+L=Yti#q(v)4%U2iHaJ<_}@pFjGO_9vjo_8nc;lE?)2Q000dG z#s~u1AGnMv4uR}{V$GuF8Xr6Plw2{^DsyA$tx6j67<$iXhl4Fsv;8y7YPzpC#k5Td za<=O(Voe($HWwXNM7--}8*+{oFQn8AVGp zp6%Pl&|9S1apZY(hhqHGz?M^(3m-bBABAxR)9Bt)$a5?`HJ7Tsx3};t+1==N=LvFG zRjc5xJ63ZgTM5*9AJhti+5RGW-|4+X{z967?0g7SP-^WNv%PQT{Szn`q1Fps;JUL) zYIXLE%XgD$sxPwESpNV@K})~tFkjNl_P>q?)HM!WW!TQ6w5^fv)+9)gB1GX(W_>Rx zUw?Or;+F{6^~NFh@DjKrIDKyQ!ky=?I$iD5S^OZ7DNvGv=aYr?F5$Xij9nkv8YoeKvtb8hF_=Azh_p zF51K0$muJ=?^s0Fqg&=sWqme_4u-$$P-#Hr7oF(@vg~h$t+>StRb%F=!_Gy?S42nnMWv~*dM=Xx`-0FM2Q$lTn#uldH&ZI6CMpB_3};T z0nD;g7(5r++rkSurfQma2tp9xLy6K~0(tFG6Q6IheW5k%k(AEne)P=JSm8cmp&HIl_n5F=}efTEV2>!_tb3DW_httWjmH z`XIssIfr>kZ!p-r;y|+U6VsVZQaw5LmP-!iZWXBHtL8LVGX5vI=O|!0c-&4*bM*eD zidyy5e+B;BJj|#NZq0VM(@%;lGwvl7O}jp2crVo&2J6U$%7Z^K=KcktToTIG9S@&x zo&@^A4QI5zCMU%-U$ivk!dTXj*>&k-A^J=~geQI% z$A1Q%JMeOs;`VcH7(g!(dRTLeIlj}p&eZpS)i1HbHH{E7XS^w_q0%RY*sWGT28-_& zM+iDWHdfj%ynMjyts}cR8HO}_*k+Tu$`_}3eJ`BIZ>%k~eb_YP9cF`9NqQ67b4Cmm zHR1MQ>Z`DfSme}h8@ua>SAKOhbIUTFp1c{sZ8e~q2awVI@bAT-RiK>X)^>ko1*5>1 z9j{^W6V>uuQ(lRwS}UOM{5r$#O2OoRe+PM1&4v5=%nu7`dAhnn+)XHU9`)-OAmXvD zVGntI8aP$*mM)KoC?(+k00K5tI39{O#4H!kAV8%#9ite;;LKC)XzK3>aAonid|P@s z#ine4!5M#RY*w;4Oi^cyQ!zpgI12~T3^*8vNKT$FFUs&k~DUIz=pb zn#-^fQ#3q`&fx-X!C1>OWl2Uto^G%WT>HvkMYR{IJ@9N(I`xVTzFAR-A_Fq5{UX8h zyXhA3>d${US!w`L9Jmd|Um^GPtUO{)+!*UPzb~dcu%^P8@(Ou>Wvd6)Mtj%ddn_}5 z0}V0%00(#uG+93Nnkp$d?HI)2qG9zjo4w)TWy|AtG-7DU%3qh|0|sTJ!|h=%lJc0Q zUJ8_P1`vk=7tS0zLFdD5Z@~U%hqvN`2D4*7f|~`^HK1C90I4>^k(fb2niYjLA@p&31L6g6y*b!QN2X9G&hTMUp6IuW^9@3z@Zqjt_@Yl{-rN^xxgN2K+trH zFsC`JF?DG_K(e3i^F}cMYnQZLW@KniyFh@4r=-PpT`Z}y=4LEFJffW`=+ylVjH|wP zNG7FCUcZG}(8n*K)>8^K?)CBJ0xj@nVhQG$8;!oT^C&1&rTj-}Pb<%X;7)_u1%@GZ zo?ZT8JgJ4}_pA=!JKk5G7GwK4ygXR3I|M$3ba{WUYdU{_c~{XmRAVs@z2`Y{{0qV1 za^=P%yQUXJ3jym9Wmf+HL|R{W9XW@?vbiu|!y3Y#1nR-4L7jLK{{R*@{4DnKZVd)y zxLpzW2vxIeL15xES)+fM3 z465NrDME}z3}Rr;BWtY<`Etv>MIL_1&C^ zBp_f9z~e5EEp9fSf9r@)MC8BC|iY|zt6nnlrue$Y&WW)ZJf z`8CMj;JVAC*J(#X>-~7EjQ#J2kK>M+KElS>|JhgWcu5} zDbX!VYM32!A(xV5NS|;{pxA!r%+L>(C!}oKmMplGm10X~KkA93cA>vnmA$V4iHIZ^ z$MFT}0Z|&({(PnZ-#V3i2`VH+nV8EkiJ}znF=R&p49yvxr)hkqz4#sr=O6qY%564^ zWgO$kT+3FwKn3W6uW|{NAeu%glmNzh5imW12*Kwl{{XYBGd?oKJd*)si)K!4kr$=+gVM)2L8NyC6#oE(4dL58X2@1oa@fm{K+j}TFIu|c!h@90 zf~~p1yB6)Rj35zylK0wJYn_o#Y85d6(kkozCebjPN?;$R3#pp{eBGk$JnK*PW_3HP zqma8fi?@=*2HfXS(DQ9f2A>qtkCYqH;^SOObJ!g|{{Yml2HplUL^gJEI?hhvi5@S3$Q74wJxS1WWhA5KQdb3W7-1khK7oo*8$2myZVnhc1R2|a^{7FZ z;e7b^o%p^7#kUH1e1HGi01N{G00IC50000GI_aJXG-(D?S1&Q+E?r=XV7%jZIQYWb zt^JyEOhGgnbGhlB2qcB!Pl7um!hXBvNHo)ZTuC(EQ2dh3}1qp0vMv4qxD$0@c|8%`k2Ai6OK>yRz7>t%|X>4EfEUGx`nSo6nE;sj(CTw;cL zwG(a`>YURF-+g+~p z3Ke9V>yA9oP0|; z?8u28S!9E@c3x<0TQZv~EkB?DA-;W%ftKiGlx;tC$KGvZM~3L^jyb#EEj@-z^TUz- z_4M6!b{zgor+{hcj>sy;@l&htuk)MD&xk`$EHcW6ulDPzqm9>b6y0@q1Exx*wrcgm zZ?HVFo#nr9c|0@QE`Hafk&4JHjyn?dHQ?rmhp*iO10IWz&U4i0mj3_>Y@46{eP>Zc zaYHUhrlQIsyShsVP6E$+pK#=#M-`n%K8?m87r~d3(43+MPjd!z#{Nz;)28*+HW5SU zF5{>y*925$5Q;3bL5ixWw(1Wg_gYeMi)`qs3GCu4%orZNn1Zq;Bk(MGA0x|L zl+&f#buF&vjh4^&x$c`&WFUf^;)^)IjRo})O}JHED&C%7c;^uNO0c-kt+&-*h67y+ z!~wwhr03)3ILQPQWn@L=WPN0+@%D#C9?3Ppu>b%(m-W|S4Tkc{%w2L>2N<-z_aEPT z6xDIoluvxhMLs##7Vqa7zxVu+QMrcg?zITR%B{QOMRY$BNcJWnQo!u2afg}Ym!zhm zUi}`?U1ZQ!H4B#AHGJiz2U<_V#%04yEs0(<-+)fp@4A#U7pND|CdbbnAo^GvZI(hD zEo$*v(j;NCdg}tKMcZP}c4(iZ&9Oc6 zzNXex2+gudZJL{)J{sijFo9+Xu966>x=%sOc<-W+zxpjZ4~~RtTXB4Wap82X{{Y=5 z;}mE24tw`}9fp*oQ8En3YiX8?AdafJ^q0%Z`Qo&Q?vjc4-XUiK&Xv&AqV-Y4{rGF- ziFv28Mca73)3q(%{Q2+B{hz7*v2I1KxG19O;f`E2RM(zjiJ+q63?vru=Xz(j?B}J) zL@=K$UZ|0YoU7h|^9NcX$7XKZ>EV_*;IeT1f+k=z(L@G3cKf|ERs|6%OP_JSu*=%c zmj?0h=bYIG6|;;KM<2dQY$fW_J|@2qF%ePKVkMhJp3RQWwL0S+;i z(@`Z=XTC7ET@^eeq0bHQ@Jwc&ABw=3)H^^4L4CN>DjN0M{d_rv%lsveAOJxEKp=$* zN%>yR#}i#-Uv(cPAx1PSIq&rT}njc&u;F& zkiK=fX`Z#>K>M>}I@>4RT6kNxL|Qg^-K35yZ4_%g*L^VkvZ?ReO70weaqU4SPDaj6 z3;I?5>&|Dh#S>yExs}+CcN0gPBd%Qk3l=BviZO;wVhQL zy9Z~4U$&CX;fe2`!BgFLTvc88ju`VDXPbs!!r0263OD&(;Iuj9B#++jF7S^J&Fas3 zs{a78ok!hKSNOSL&wV>Q#o-$UN&*GiSRqe))8T^0-Xe>q?6yYJZMt_9WcaZ71RNeZ zqqg|l9bL?+uC~hp0GZigq_D?!tIs^*ok~p6~;@uj@JkCiiIpf_Ec{-ssR=xdtsFP?5bJNbHNw(Ud6}^M-&)iVQyk(2U zmrP=WIIsw)_$L?CvBJg_`%nCdm*_zYYyg8yBvIvdky=I6c2&sVP~c!kpFJ~KbQNSg zDeni%{ph2eH%LQFEXEjk`i0YRKUeIShYqiN)2wNZJ(qyO3~a%+pAuR!?XKHzRG5>A ztU^-q*PMUf3)H96kL|lu#?i6Ewla%uJH5l4ysyh+w#@6a5#doR=v@#&C|p9i#@%Y; z-}5*@rky&98>d|J?|q@&Z>hEGuBN9I{_T+BhJ*aQye*LqIQtCml2|HWQ0GB04=|&G zG>E*|M-^bQdn*tEuD#=Je7L=9EHLBG8|?wp4eguuG5wJy&Oo~Lz`!zfFW=ehj>{!y z6w_sPQblty4+%gfM%#K&yaYql&ITnPe!ncujfNv{JO`wiZfCFaka-j)qvV~mi$#2c zwoztA`&DsHyLX~*UUP&<}^|8YyN6DJU!EZ2EMW> z^g7{BdH(>)NZ6FzeaAkv%PpgdY45szU(1N2 zt_tQbYGF#&fa`4TyM7uc7Wv!WXV{qT4wM{li697!0BN9osI%G+-7VS_crqvbiaKMS zx#|1tc+y+qmPm!B>tvogYpNWnn{uyb-RmoF>y!^AqDxUyN2sEqL@1($BBhN`hf~1z zE3<}_qN?kIZoSLw{f6u8j`=92`DnfitfqTox9>o_>&HA01vD2Ildo~=)rpeV({l@* zcK63CU6p_s(Yvf>{{VNUKcF;GY^5sL$FKb(rfKP}C~TVeUY#}tl>?GOOOf$BjWmLW5Rgk8;*51vQAM^@O$OL$CLfxZLbHEy+*b!DKo{kA?2SD#*N!~zytL~J zudev*s_UhOJ1@Ib(%y;BgCeFJa|2zL)lqbsaTlCjHeH5Dm5Na|R`O$ADw0>-g36xx z+w5|m4z%k#?Y0Y|lItP1d+n>=cg6BX-axW}VaXID3_;{vT%wQ8$Pt$6;Z~FNV#QFB z_0of=TmE}5s>?&WZ?)rlXO0qgKG?jvS zXW|z?*b_X=eqcW-l64KGcM4wzAUNqiX=Z=`Kg8DC>Ib?;lTJH@|Mb+DF zat%$ZZJs{4_q=ow<5s5;8m}@VY(;KY9~HvJ5&r;G*=H=xmk+<{c`BZ|qPn>uo_p_` zLta7E)J2pSK^N6|HIzZ-H`~m8-^upVOfR6r#jy@@RX4nNM)jJ=Dc3L9XJxpm7-Y8E zC%#&uwhOACf{1li(QU<>ePvx?Wl~A@P;<|9@BG+t=Cj8iL;(zUW1ju=i6L-X1fsi( zubjS`DC)KaZ8z0@RuowUR9W^E<$d{S^bq@JL5&x?J0&{b z*Fo{wgs$mITOBi|c{3VX_K;YkwF?=G|S?Q*9PpNoQXF0QAux z-kARYmv3)P{m+tn?&*(`e?o5jbJEM9hRbBK8zY`8s+GVCqWdcE4jy9^SJSe(=YGC@ zR98Xgb5%dPu$iJhLFz^F7wb5HTKS_M`G_e>m;; zc-eh;V|>=*t#wz&R71S5u^4rNf;=pE%k3;)X6PdzLjVDs{m;0hn!0bMsqd~ECaZR| z5q)&)TsGTHa>wlO<4kbp406kiyZ-=>x9}ogH-k2u(~ReG@eufK+s^oBudu@j=(cL) zz8j^k$)lsVCFN4Le}z8(06u;1{h@rx4qZ6xdeSUTnB&z zSqwCBXOem0UtD6tMxce-k8ttOEWU)=~g4$8)Jp9+}YOk*;OUKel zCZ28Q*;l-IO@#G*>s#fhHh4h`hD)xN`66byH)n2RlyC+nSq&DMuZeAWz`pS7-0;Fk z<;OJ9;IP=rLu+y57kfX@MeG^ulNxc-nAS%Rwks*0o1a-pvNXT9p!QTn)?6HMfSE5k z`!D?e04VprjsF1KEH;@m83>9fn(?7~Py5|8lVAE9!2EYbe6OyXqJP~RnfQ?eE;g}u z+g0ZjKq5`7|HJ?*5dZ@K0Rsa91_J>B0RR910003IArK%jFhNm3VNh{_k)g4{;qcL5 z@&DQY2mu2D0Y4DCx)VxLmsI*M zqF$Ph&_Z+}38h3AqMnr$rRf;gO>LzqOVFE=UCX_Ygd!@~EA@xeU3fJ^c5x*pta?Hd zOc&s{>7fWs0j#1p6r~d&%2JnNe*woj`w2R;XieC`YYY@%#$7oQi^!pEem}7&aoDtdGxezr;%JiYG`kZ-Cd;r=^mZ=EaA$m!r*mS_^v~16 zYC>(Ox+z(DxPIrb=uBE677WwemW-Vv^boBwK^C;SQi;8#*Tr(rYDF{fLSkhpMqMQI zRLD)|x)6jR2#KvKD$z>!Q7U1p(RF?OpC&4~C6A36P`gbio6%!T@>(sLGVk8XRLD&h zlTsoRN>Y@iW^{xZdS{JZi>HU>p2m(*4&+52BPNoKEG&&`#hpt|P)zt5gi+5!dPYW8 z(v=aZS)CyX(SEBJ%RP+?JPFHz2pKz~{3AVL${3if;SDO$M?6B331JAbT3B1wR6!aj zx<5$z(?`(5^2ae1V7@{{Qoxa+-EbwwMoK&)(J?B0#ko^44N6o~A=8Y!I6B2=p?a^- z9`Bi+#)O+eDb~g(J_QsV!0`@2iD=sJgsP}abk_M3HG&r}Cj|M)N)=fXR%Q_A2wq)l zq}aLZKC0F2Y}ajHBRm3L=M{sIU92|X2x@ROOWa=-J(?D(LpBLnWvAI-&4}Q!b~pjs zX2hsir=%{k=t2;hEnePjIYxNLILx#~abSefBTk4|_!Qp+A{}HR!eTw-!9gkRX4})U zlA&NqaP)=Neu3;`##RmD!K^6ch|!RJh6h*@K&1}|tEUW0xJXU;5>V%nCnX+phro$0 zuraFWoHb5ak`Sr+9pMgRYmM#RiR@ix&iG9x=dqcvoVUpAeg6P~Z8^wVPA7-+BmO%I z@So^?V*dbQRLdgYmIUjfd_gL~78zJ#HZjM9PP+qdaqEs@kzs1joD+1)qBF24C^z4) zz2^VV;3&@bd7_Y4`rLL~nHEadrPWX{_jM|lhjcwPawK9GMRA5w4lFEXFIt3N?@ zA>{~b55>bQVYvof$m|046FVVf{JQ)Hu{ctVQQ1cgB$`r`a5|@L8)7^&o(^M|P4DK? zjs0bnI|;r_X2kB_xsd#bn8TNV#@(bQC?&s<+iahb<8k<3?_uxmxjCMZJDL@~@b=fU zUJWE8xqP~P_AUpq5;5etG<@J{mln)ji4TW^F3@AXO(;}Yi_vonORb1whL_*J3-5n-17#|S~D8vcK>O4${H#z)Hie>x_Im^*5#zmehj4QEH$2~#rG z5o5X2@39YAvW*#$t~8ra#Jv|FgzoUa=(L;!of-WGWp$-n^XxVDAoQD)h?p0N+eu%d zoO_*~3Vk2_9tNu-T8$D@kr6tDjUP4qm)v6|FK5=qQz>DbG;B`*{j|6Xzk&?6xQ10PBxR~8MH})1&6s7oJ zW>ued{{Un;&ewxDvm(d%Ecg!=R7QEwq@bizruHrdVTJHBp-JK3N>R@qlc7pdl%>&c z<`Lu)I|&-*jJ<;hvvGgmhs)>3FYrI;2ZTlZ*^q`kha@TG6n}YwkLEiOLbYQYqY#kA z!G<8V8@6;I99H^LmueaG(Pc!3<-I;uU!d(Vxi3Rp#CZ>qF)Y#VxZXm0ImGy4{Ry}b z#DR&G_(NaaUHgn+YP726ReuyilTs}C!b4qxqmcwK3}@hKreb48G%IS-q^lQg=qSk? zBOen2wO)abD?zuH8#x!{joj#nF_#o$Zy~dmHuoDhL_(Kr-|Syu?HeO{@%9(j61zFb z_doD^ALV~TQKngOo=!{PP)N82HH0h@<_c7@NFZf$Pv02wIf%ozm;V3+px)IAb0S8# zQ@TRIZwQCU!**Baf#+cSHRUitR|0Q<5W@Ti=)wQZ7j3jJ>%U%Y2|Hu`NWzF z>NyF1;)&-x=`{r>=>JSW|Z%&9TEz>&kyQ{1#k zU59of+8{|C-hu30C!#K^Mnb}1{{RB$+FvF8mHz<2$}Y!Nl?-L&>b7%h4hE7zX;dX+ zLP=v)!A^9fNb%7}f1(*Ns#nr2jAeG?>RoqLvzTOLVvY(Ec`JC*yp{PVp<{xI=_8x! z7dse`&f2ZBe8DFhAqZsHw4`}1*9XcM@?Bk4&S9YmK`xVnh*FRum>}S2hL0p^e&QJv zQCkts@1pEn>}46-UfMlww7OEV(Xnl0oEyjc>Q3J1ZE08XIvEk$kEx#XRYo`VACFdk z;lGiGw0i?@1tHTVWx-g=H=^uEH@zZkTOPAw=VB9Bb|Exn5~d4PmB^$Qk0ewkNfSB0 zfi>xg$2h(R*MuPkjP?&>SdS%n7&3kl_y)uw&F@H*g=mm$Pe-ljU2ZrMV|$T^A%tVT zOawUUoY6RP64_6Y$z5CMAqTJ};n7J!h0;+W$Tf0@qS$63tLQP_!ix-x^1t76ofpg_ zhb6p-!48JFV$zx+#+ULEi$-E6-$cZi(Gb+uUOod#%F0ndnJ~^T>5Y9p}v_+t3wF=Y7-FIavOQUzyLb8Z2t4g4+ zpNFF)@*+tFGD{>fwx(G`p@kGEAqlEGzg>eR9`Pgf4Ule619K7~h))lK8=MzK^YAW6 zR(r@VqeH28U!e>52*xcP@eQmJ=ppm)cvgxazJc#WRXBWmKLVyX3suz#A5{7EGof^y z2#onDX-N94lgaoP(e~tgi$yYo>Wpe>-@cAzAGSq)AN%S%nLgb}PgQo^wWHo7eJ4QQ zkue8?y;I=Eq2IZk@gbA{0H{)wb(ee@Kz%#MJUwDKKpB}{5Vh1 z7fs;^Yqv^L_Lt}vnz;|WV4OACT`EyLi?nIph1$)03SPQ2 z<7I57Uy&g@4RIeN6Ri0rJd?RgdLaqdMw-~UZ7q%7g?iB1L~yJ|D}<5r$WErsIf6n- zYqw0p!s5~?XA1c95lh80!n}|qiSzXzDbWZ{Avm3?h~bkXqT~P*~|>AwD8>qsKaQ!z&{DGt$4Y<5Ci|L@f-Onv`V{$vAPC zEwK*bF`+a34HL-kgZgI?oi%9xJOb*o$AAbRGxX`63OU3Kc zhtW!2ma63slrT@n255T(feA;O-`H$xUw^=|hI{)U`!bP~khu+LU78;?jc3uQXMsHN zCTi+M=%p!m?a`-uP9J#>qGAcCEUiV@LQ`sHC2ffc@+zUtsG4Z9Z(~&a1k4_E){78| zn?tP#Uq)fcc@iLMik>Vg8Hh=(;q=Lry=}e|P9JUc>M%q-!Tp%m=zomBdvCD690`_3 z^a?Qj1+M92YG8UziE{*{r?Cz90g?sd3FOH}S!h`FE}-8*<8$yeFPuK^=HCgYdUa|T zHU5+{(K5!_tMoh<(49nBnL@n)^sw9~UI?fBiGKJN71>$c;7CKTRi5B`ZHX`Y_aVO~ zU}kz_E4EUP16F=`W9fwE6OGNdTqAlYp))bGSeskIu1XCN0z=Fi!U&kOAHmjQ5&KFF zUKg=G0k$WRr7<*O znj64JhVy#wLg?7rp%s~*MsFM^I2fqNE>SAavAl$*5aMdge+O9N9}Ghu!Pog3@Z!|d6vdl~F9TOs@yJaZ4djX`KVs2B@S&@9g;Tuxa$G4>Godp6;6%2JF)7dM85dSM7c5QOY#EboY0*wyEY_+CHwFhZQD=ruAjCYQ*;*5$W=eSxc!VJcLJ))=`t%q!QD5La{)gZqaxr~1!$R9zx43mK^4MW6m$KEua$RK#<0-F%*7?6mc1WUC0 zA-AX4w5?u8R@aV=L)9BFibAXcMz0tlkW$&d{uZV|7IM!(9?eXNuTMjLqrhFdkAHzB z5)`SZV<@*jmp@{pf@VlHG(<0E(i?0+t{D4NZ>aasf)^5WJ#;=2Z%5QGLG`hwoP8^N zzJ#cVF^KTR6bICU9@}P+R`MD22sNu>A5w@s{{UzEJ&*er+y4M#9Buu-!R&v3^fh8P z{Y19^0K5MHB1{Q>cxeXX;(kUxi_-gM`d>pQFNDykR8RLELT~c_0MS4F8sz9|7m=%% z(-UH48<4VN{)G4$X~?re@H77a!98b9{{ZR|4eR_N8^QkE7D>a}sP2eU3hLNG%52yav zlIlX1b6qcnycqi@u9LxNZz(>il%*sjX^A>x9Q1Fg1T8!Zc0$(`EU~>*#O*O_hKi#oeQ<;k2?ac(QD}ME zB~7R?ThWD~ikP5z6}GDKxC2_@4yHT_+h;YAh3;>0nGV#Gcb1;y*v-xr`qN)D?zw$97_Ax9t)HO$BhN94(L@cInU zU5#JrH?DYQ0p&%rCZD0?@Z(=b^4QgmMz6Otxwp_g%p{sTnwen|fE)-9ROo~HBEe~F_o+eH7&RDhb?{b*o zMED7wVd0t~>&!tMyn5$8K27*|BZPh0g^r_CJ~D}V8z%!^JVn-ys6&ufaDL?dE_7gt zpHjP2S_XECAdrL_s)Xsf>PPbnA$S)O`jit1kA6N9ZH1*sNRtZ&~sGOLOXojIU zVU{&EnM{DUF&KA-%u00|_?0un^*@@6UJ-n|N6f`9 z(T|`nm|q7}N#yU+A#knHMp~`MvwpFW7HsZKlY8D`0oo>c9UsRZQPfdIiOCJiC`=lQ z9+7MD%ySkZn7EJK2ICSMU&$zAtcf!^GX-~}_-#3t7axoK0YEae5~@&XIyTDKF}EmO zqx4Qlum*w~Dp+0)kwWuh9Hui3M)L9AIOh|YY#d{Hj%b?e6z@<6BkeE4VWZ;^#JNDv zf^D8++RR#SnR%$C%a_twq@Ez19$~deWtCufSwMiU(JUxD!LmML87=7qbGh_HBi;z= z3`g2+8)zwqGTM~I;$HJLww)#r!_owG8bmsl^DhtKVmW>*gO~8UIg8#~iNt9J=JhFM zk{2}!d4V@7ca#PX&CKHE+_)ZuXg9AmdqtYpf%7vLGwmzp1mKvqzXGt{Y=@VKluYay zW`lKKiFEAeyA=VDt#uL8*^g_xXIrOEl84?m)XpWY+8H=ujiqcGvq}3PqoB2l!z~{0 z5kNMvEhDj`)2zJ9K!gYyM}(Jc2ZxVI_XIXePUt`=U(iLmM}_?wA2R#640{Le3Y`tE z^=xb`*j~XzOsZyN#LQro^Q(B}>ihErD$Kgfe!h=LjQu5v2gW*&zOr=?q$6!H=M&Z zfSY3xw=lLD!_r!k@zOh=GuWDCmd&+@I=5LbJG5>bpW z#}I2+l;OkzH!yP(6@s_u)OJGBs~DJOe8dWRR}uznPY% zft%X*=>aVkzaVhSjfT6UyU()tn`qNs$NvB&4n-$t94E}N>a9fKeRlBx)+k1M!tb=Z zyZT9@AT-_N^bEnG;4ofZ@H4x?hx`y|G{HGpe`hkHS#p{s;*L5eBiVpWC35l~-fAzEV$f8qG$43@q;{@TZ$YrbG!h48kf>Ph1)agI_VI!28Q$6 z02H*tkS}MfHYyo-%tD!a>4nnj^_jZ^mxuS9fK zpWHZFV-I*;+&V&oE#N6OG0Q3d*?-<6fQ+?MJCEwJ~bY-L6 zoFRAD#AIK0fJSOp>>ugG8dCk){{9Y#+xV)LD)%WK&|?z{E}4RpW80|H;-#%R_7qAl z!m@)fSe%dz`~JfmSw}D^J{WZS76ff@PceWMFcY*u1GNF~4_hq_>)xhAm55o!_w6!CdFd!IeCBA;*r-!72z z`bVYpV@3eQVh+zkqkIM^fpjhQjaf+=fp<*H3F@!HN-wbE(YOnU{{Y*>VdIz;yuJ^@nwbEpD(fV>Tfou0 zU>&hCpU1yMRl0ot0ED#2d#7&oKeAg1lRb~k{>CAaVdiB{cOQD0clR5vCef%vV#>Yi z_W(yKyf(e%;g}w7O7wFo-1~HTK?1W2>Dul%Vk&|co@RT&iOE*)p6dSQTy;9D4`?B5 z#Og(5%ZnEg$~YkyxV>fLyt3_t^v~SL2CgT9kShRuO4|gl+itk z%noouND9oi`!fdM4goAt{3OhE{B+!l8nBPZjX{&Tl_CkVjBeRmtx=ymFR}|fhhZSrBxg6 znL|`Xgc(jDZP)J$9@7iV5wa)=y1j^)j|fY*S5xIcHV5I=cl5_7^?>f02}rF5YSs;k}+_ zOQ7X_*YWiLWOlBc)W}yuWMjV**!o5Qo~iY@nj5Pg!#j{7y`ZYtbrBU7{Hg9n42&XZ+dirJu8-)~PwA(gkKCyJ_2UqESaY6PSBXea!I)gWvpvGTU=6{y68--G4-`Rcz{ExKDa>3( z8kwBOtR2U+=WwD6IwmhzX_?W8DEh~p*qjT#kbR!Gg^a%>IfN@<_hO=gyG&#wOonw)%8*f%f8n^)GB*C|BKI@*$43EY4Lqe;5qaVEyd=+zKy&dJK?&hXD5t zLE>_{59(k<;6Qvg?Jh25%?Vh!Ke_k(8GnalxW4fC#P;9X379G!Gk)PMj}@ZV-qu^q zOqf%;BZ=9Pxgt<3ErcU?!li{V0qO_Wn^$={oSxBqvjf}kyNBVaLLfMl<31&1^(95N zd7_&1qTyLjLTG*>e7Y1K6Mz>5mQwp{Wq1?g2I})%L z70iA)kBBigCgm(KfV1!65>&2|yGn*?bmCzx{{WDJxW7nos9~rp)V3Yq`a!8l#4Wgc zWh&_)2PNN0L$AYHV)EGl(r#Q!F7qCo%#cLfNqu8+i#}z>GfYe7sJViHV7m7}T%Hjf zsG^UV)ET2=))Ij`GV4<1+&WAR&0g}t2~7y4^5PIsx_?1(nd;hJulX3UIIH53suQ-K ze9Rn|42~}bA&QPtS?kZC4vx0v{CtpSpAqa^<~SY0aQ7#~TyJQ5QfI20O|UA;iTJDh zV!M6;stt+6preO}{l^hmpmDuT*J2XzpeP}%fg!Fx6Q4dH1W-@~Q7Q;p1JnR~+^q5H zCceI*3wDoZ{ESEoBcs>6Mt9G{bbu(DBjM6Y6K&X@Lr=6{!PH>k7X+JVPu$BT+#l@Z z#w^RYv0~x?DNQODO4PFuy1`$>g*CM9QC|@BrOgB&E<#!gMQ;y3v^jv(v zl&u&&rqqup0R8wSenYBgI|OOOvJ30GA|P(PLa_a<%$nG z$Kh{M>+n_SpHJXAVcK6Afr7XXS$FB9U7VNcGtZ^gR~8y<9_*r0K4aS8!iP`~mgWnZ zT>KdLpWBEg{vaxc$4~3b2B+Lp=|pa<;>+dssGzt7yj_=m0w6B4Wyg!h!~sEZSLqe8 zy+ycwc#r3w{xSI0pU)E>#&UzOB6sD+QE2Th!w%C29R@GWzsauAfRLl72)SU*CF@XLxrf4MzzX4e z6Vnnf;dWLh3{ehp@?Os7<>&$g(~BPrF{XY5IbacmE}kdMU^XOJkXt!F`Aea=M%-A`+43L*pyi!y48U#ajZ~$I zHxg)%L{t&}E(k+I{u4a(wZ*#e9v-(rVO+-ei1RXLqMFpfc^~O9+iayh*wzl%iRfGx z`-Hj(2Ko?t)mAJs2CiR_54bj;OD~h^R7L*)S_r-MpWZN54Zu(b3`;kEiJvl$#PESo zAQhO(NYD#b9_c#T^yAmsUJ-$Fla^v2AqJ7M1@?zcy=79sfsMmD%;%(ECrG2%Hx@tT zvD+uTMf(D)Cr9^i1GaddAE&fW5XgXRz%&Fa%o&7arW%ryp0e1VD86EuJ)qovKNYmb z7GJEmy11UYpmC{VXhyQP0^f+uU2{*}mqX<*VmLNVs~3{XfT#5S7jeNU*3^}?^zwi@0D`P@s~mUe6LQjf9DFBMJC-Y%l@R9!vI_uGq?^_~Pt|4ANi+3OysGkf1s?@mH3drtv9JDwPb_GT~xTRcHXc;gURO{4ZRwEu8>= zFw7x4-_;qn{pIm+&Cb6TR2hNr&)OG?=)?4wj-Ds7%`o(Z8VD}ws1?2Sh~z4C5_<0v zhYal@Y)OiPiHUfFm_nOXpbK9}O@W(bdU5L=5FAc!? zGOnQI5p5+vzB4e;wA0XpiLwjZTJX!_RLRAMnPvBhI0MZZH|1&qnScP_Sfh|-5QaNy zULrSj9t`+_WqncM9pO%TiLzgla>d0l6({0;1nWJe3#A!hZBf#HX<8G?h!v!80~Efl z{p>-pU|VmHsPzDLp8~!i;zvYY>-3j}FJGV^nD0ZCUnkto2k||!M_Tu?zr7{NJ@oj3 z;ChvoQ#0R7nv$>nk#M`u^x8@^^dQIMc{^O#S^YgaNXSc7wI#s@Aqb3SgLZ|aP|+l zjY7b_8C{?zGie%-1u7laLEVC;#?n3-4@>hfDQRr;IelWRqpIyW%v6D-5nv;x$Keo# zS{CRL3`@W}TYJh8F$1)nW?P$<;kD0X3(v~sFaYpWC?PkIRl@+`j`7wQud;7hLn1Q3 zVe}6O%o(XwYN#EZ4G@d#BW@-e^TV!1MNo>j1O29=_sAz4tf6ok)Z{H7y`Ru zAVtuP?dupPZV)+>LOtnx|1sEfIp%^QbmP|FcB%}#{a85G{s^_%gR0W{Q;0b)KryDNZ zJ!9&_PeBbHD3rCfP)|8}7vzitDSmwBUs>lBVb!}JFCW|~5K+;(L zioEue=y^~}O8Y_ffy4X}?91fg0SPiAV<>#i>{{D1qU~{Q*RIF>$fCIU>3hm#{RI0N zm_#($d$@{D-~;eSnonf(75ITusuezAitqW*e&rQIvcC3(cOa|VP=yhf7Gwj~FvDiJ zoPOvBNiO{UE)Y>h`@{>+q66oozrw|s=3H1cF5;Joa`7%-;I;>u+IgLkzs1Jk+Gan8 z@pNKeSRW?_3McC_euyIG0S3Y9F&Ily zMe!1-GjQsHQ}!1gRP>Ps(`KbY{KP~k`w`5r=BFdvhbG{(2! zt1grhzz&68uCN3SOknIc%&^;={9L1i${lJx9v{&i)3#-$9!enH6)J6NA>H#DI3?Dc z#`#RgNaLT0o}jM`741B+r0WPHl^-<=E@(xDiU*Y+Gf)RM6Tm-l(4cHRDAC{!up3HU zqIq-ZUy?H+-uLRPzOv5Shv6ioy=?u!)GX8onpeOqY+cB+w*LUdLl_kxE`Y%oXoGJD zmxyJx?E1=zKVk=39$&aemG1|&=h1N@83H%H?Ho#RT84*O(R=1l3(9o$m`lf5ft|!@ zmC&&$--(eKItZvOzX_{_U?(*FRKEFF^2dl9+`&F{P|wOm8}>mIZn3w#V0HPEK{ z{Yot-tG^WzwmPJH?qn5tMk|8nyVg3)NAL>rO_Of%oM8iai3Aq8Cp&+Fi7pEjSuAJB zMZ=la7S9sm-oFbjT)e~at;b)5$LCV-@b&y(Xp=3!4j5&uMNb@rdp>tTWYthy_Y3@r+F%eh^$&Wy~g+ z!&6C7Kd~GV?{Q`Ig%ex>)@KO0aHm@IfjA$Eukh4&nNFpY+!}5jI=~C-8tsYO+9LRX z?S+C{-eeByBjI7`rMN<^0M5y6D&RD{-Pf&3z9?U&N?^;rj37^$vrh*F*AoqnouNZn z^BTem^YH2iSjD@taf88+6J#W4r9Ax?c~oUmGTHlUR-1M4KJs&Bhqvar_b|tlDt7 z?*vRcmoM^B-03Tor=&BZPkFUVzs2q>7&89=3!KZu%3N6VM}^CaFFBVSCFWee!NPHI zWtT1}@QcomvsJmUXyg_BwVRh;FD}usW_O?DmKvr9N+26b^3nOYrp{E_ z$KZzQF5;ps^Ax9+TFfaSI4?5s9iqV;$FrP7q6VJqK{?;yba#yi(l}z12vxpefl=<1 z5TClgNd0*f{pk{F?yLv0@6r%;t6I)V0=wLxYdeV6i<3Llz`7Qj7gI$pFNojJT@}v_ zwXFO?6Eq=K-HTybRH(`hZ$rFH3t*gMRCvas;A*yrs56Ri2c!n6n_oieZG*6<*dqDw zA56>vM+je%D_Q|8<|Du;10g<#_vR| zh>DSCY%8p?(o#*CRy^OuL13QQGwyNs5yW1oqh@o6(PV8m^Dz6WM35U;ekIh8IC>@X zyM#&y+!(%QAix=27DCPIcH$*Sn^fS8Vf+EMrNVI*z619gfICa?X@6YtaP~0~cgq8} z;dJ6~^z|V{A+C6o4MT=q@tEa7j<@+<6k#Rc+4umRCVUji5}RPeVofOi4D%am4E_lg z;lnJJeg+SCf`y%6HyApXE-iisR2%#jUSh@^qsYp<#w&f}oXCqggWg|!%f=@$V9Vd) z;^Q*q;xBn};>CM;Gepmz{{UvuTv!!buhoXd8);xc@su%6?~68`n)HJa$Ki3qqML#2 zdJeHpb=voCf4s`r00$yb3DMMyS4EfsJ3>9>BHPvGcS;qkFgO}bBvGxGR3-QaXyE)e zE^%{sjZLR9+O9JMGph@O!~ScPr~n(?{{UmqPX)fA$!aYen6+0rQ=y>`R#+go zhzO`&I{HJdSlv2U$ddtL;8V_fLGZEmMt@QJZ{9(De7uqN&c~=+vd`cZ%#lA5%22&C zUbO@o@yTUvqdXVhWx49kOp}%K6(+yKEo|nXQL)deN-BgKXjS)UhBeHmt5VU>KFIck zPq_Z0!^Rni0iJtcjHil)z^eG`8p5+OO3#TvJGe##-RlStYP4{gyrYHUGO>sqe-${J z^Y~-3T-$)h-hy4AuKJf{pAo)g)T1Z2SV{}>T_9J2BhY}SfmBg*8L!9Y<^B>oNAPoc zg4Itb#-EF6>jrOMtWW~G#}3lsskp!VI;twVPA=Jq!i|5}xF)5X!qLv^6Iz=~m-t+` z#-D=q{1mBiS#gV&x{MrHpad!cGf##uyfJHu1Yt)^uJ;G<(@LNYz(ch~n``iXyl#)+ z^9`l0L!s;SM)DhULR4t?zuBi%c$n8_BGS_)<(INO=Vllyzx73|6mMoA;DfU{K%? z)GR-Pa(xM5P94>O1O|#jtY#>hm=(iy$7U^^sA`3C7H?gcw`wMFW!G+dO`0VBmn)QT zF7be#bKX=az#O(qvCjJv-B{S3Fpm#kHHBi{ibt!GkFR!?P;zPqz*7B3^<>IEt$F#H z)n@LO_44$IEftIME?8ZQtSvg6MIYwCQmArqH9ds;C6x|OLJaZ_a{&R4#1nxsxTn0rqy0bRc9FPj ziBxZ_E$e9KAL$2m?;RQe>{k<5mp-NQFQ%g$AA!tb;$C9=!YBqgmER7bZKc%IwE}e~ zF~tQQJIu980311l?1a2RV|CR6kfz_j-=aT;I+rww5@^T7wnB`v7(a%eht3|@l|!*G z*=H(eygeeTa{9~s4$~~GN?*WNr}r3ooOG5GBl0|^oPH)f;RIQ(W|8QZE?#2dDflqW zu8D`h^(BN@B&GHjn{zOzd-#_9VUNg=TI4rsy%i$yE@TZiiJrd$sr|=9U7z#TC5~ph zE#)2+%`R#UXvuN?kJJ(rCQq_xXG;#TRwi?<7Lac)y4U$Di>jqO)kaIMK9LN0$bn^= z(wBJL5`1=xSkc+cOoPXixK->7UgKzBuXYyztC_J2IflZ+ePBuT{M;!|c-W;LX-2Nk z2v9i$z-rf>vEO5$`o=B3&^N_Li~el_dnkPfi)jF==8n0DjOCrrh-%u4bkS9`*5bQp zs4Fp7fB77^xxHbcx0>l5O;XFL@?z=%5D4fSthL8kS%zAuD*;v6gjgFxbMY~GD?;GA zGRu>Y`UE|>f3aoR8|)MG#M-3zf^fZIZWpsDDP9U62HCX^U4nFe{$Mt*F{S-{y&|ig zMfn#jZJA^mixD`4F7UDI5FE=X49I0z4;E%oizp2(LArJ8k}}xdOAF(Q>EctTUX41n zsZ4AYs@1qYVT8=bejnK@k*uoxlR3BV`^yw9PHkaz2I{q6`yBzGa3{l3n5%h-XpRfP z(oiCcJ7kCy2tfr*R}+hZ%aE``J?OKKfdAzj(8 z+T{=}Z;6K#zv?SbaxNk_ZV5BL#c@PR5d93_&j4CrTEF;Od>y`^%b3{F*^m1Vt>HAQ&vKNYT`; z(y9%Q>1X+IEwCW?=C8AJ@xd3g@{52_Ls!s{ZHv z*xIytxx~MDww~~!!aL*cQt)08EobPD)a#dl_Q9E61L%QTFDk=$9uM3ET01XHTO3N{ zSwGJ6HnJ-!PfdKiCE3)pSnj!tNG~iP;v$Gr8A1kThQ*?}6~JrWEgCGb-HC8wHnWzF z;cgT`^o}HE;a1Jg6#kx6UBeFH@1?dl&4TU|fC4ctgvN zfAEZf1yzC2E>TsU?r*$HC9HT{vqp(vDzDr?Fa%^feUW@Yd7GCpjf8LSsbTZkQ>l9kp`cSNa7 zwCtLGUgP~Qh z)1LjVWw|mYRtficfZj}}U~PA`xNlQF!ye8b@3I{3;4AoaU`Heo&%PcF}5YU}UhPt`>kE1nc zdsaOrdNwJcY|Bj;t|kitg}%@Ny7*D;aXTlH<{{hRVlLC|H^K8bn>UjmGKF^Ar2hcf z^pfAy`X&C@0c}w17z^nVqVkXKE8&ax0azzsAq*G$<~Rd8-%?xfh>P24TohGpbD{@^ zR+=?sH9mAc@}U0!;EG(Yp)SV=sP^aW8|rq@yldqKTVBtoSlfAoUTRU+4UuLnMaK|q zg9p4};j;k@WK|gd03%x#6vCA0d(K7%p{YwMVMwTTnMNecR$JEjDg&MMgj@84^d*2y z{{V@D)%1v}hC`EdXo&b9WVv^F-1WY7F~7YffaA=~$h$)KHY}>eL^Vg&EE;%}cx2af z{{SFRbF2{1p@UKB{{Ushii;kJiYIxb9LF<^%K@9_Twb!}=kOcS)KeNd#oGk-r8l5_ zN(a68{8Gx5+DoFCv0~FNc;lFw_d*soH-=&jz(+BS$3A}paB%_(ABdAY{seG(%jOf- zG8B|TPRL)0SCsqwj4{j^hqN&7D&RkX{{YAgp!Pe|Wr5G~x|LKngdXr`>P58U(@s5S z6r>*OMc35zKo_N`0bq>XQkl$35~fJHOKQ=y-=xJzE!RsOpX-3E?rjSe4fRNYsM_Fb zM;iHMmaRnjFLN_x6~z}%FP`$=hil6y6$5g?efza44_+Shuy#yN=wNE*cSJfERYSg~ zyxf?O6(GQSML=D^G+|qd>)KVK0BPj3-)VI*Ehy(0F$jZwoG5WxDq5w01ATD6ctHfF zYSTroOtD}^$j7|*UQojNpv*lFB_;_LwhK{({Ts6CFC5 zys&q6PFIlzC;* ztQhSOP+s7iTliU0_+hkLi!NL6(qBlj?ku@)GT`UxP|5!QXh>AJ{UH7h3AG=Aa1vY_ zfCO;G>oz9Pq)tkq;e-boovn$X1vHZk3QYqR?W=LxT=k+G z<#0F`mROV{PEE13&$79gThQfAt_#h2M?zWCjyyOfgsoJ%nc{|@ z0RwvxN43ie2Pj0D9?4`q=PQ87%(?0F1%SMV?js%nwq#~%gZ{ub<7hsijW6VY6bkbD zl$ArUA-Nv1g2nihN)bXMf>prn1xz!BdX=ofa6_0O7zcy!9SDs8?!=t>Eyj*xEcYGy zL1_C6zXL1_8x92UX!(sGBFq}x9g@o?LL8xJF-4fMxGhBogaVIX%s16R z_&>COiw=-@)86KQ#RXBKELocsE+>-7e>ZY5hUz-H^WG&qCKbB=#K==-`_y>0W`gQr zR>bLs54o1?!*dyW4b49bmlveJc(q@J=Mwrwmz;hZ#Jt6qFQj-Sst1V`)(hI`eAbwO z{KOH58ke@Rs?=~5j9(IoV`R+23CHoY7Gp`MC6SZT31Yv>9gzHFl4lHNlQ?!l2+~#j z8IEHqR2A(GCUOV8RKS;OOn6(1NQNM^Qe~-X)nO=7T6O7;VT}ajh+NeuyK4+HErE(| zj$7jq$tpY~V)47Y!qs%&7Xi~{-MESJ_1a#gM8*cfE>hl_!mjpLH8IfMf%`!>nS2vS zy^n<}?@>@fSd{>9t^=&GrwZPM1B&NS*B%Uo^j;I2nBu)iSY9;Rl;;x+R4WeOJwwh*et?oehG zA%O@WFzAGM%r^kEIfRG~lpggKF8=`VsT+=3=vMBB6&t?=o4d};V{s!j2Q_)S)zi)+ znM#Uqg=I2KXw zn2y{+D_RWIV%S={W%paz8*3&v0X)$ z4a)NNsa?P#`u_m&f-o^14Rm|UX-k6_%|%D!dpt21x)E^{$|L~6yhZnlafy}#_z)7O ziOl2iTy*C^^@9*K#d{lJ9jHU;(1AJbEw5Q+&%C*Cr!v+plL2j>25kF-Zt4>jidl7x zrL`71MUTKXcZQrn?>Qx-713I~0$Lh+b?v{sML<^gJ`O$Z0hn+F2c*19ufpQR{{Yyr zaB5nH?$G`Y=i*7y^p&ScoXxSpcpM+(RxG{wfNj$?E!#0bVD)ZhX}G178ifT16E0$y zmrRnb_11PC=zPr6-?x6p^u|>mU3(wZ&hecO%)2Ga^_MU3S;SbdbBL|M2K?9;@&ZCc@W5Qz|ZR z6o`}_@PSzf9OFIWLhQ3@Q-C;LVQ{s`W!q?68SM+pNDjxa{KMvbxIhZ^1@}msek?G$ z!@7xMG$Ch(jdkfQP7A})SR>A<%m%D8iqyudsLV2`Jm3wPiped)fyLlC)#3%@L3W8* zXmrmE+L)lF8$$}{h!s(>0-n|>E$>{?Jqausouk>@*gry%%;&YA1Skl;PnqGL8~B2d z!}#e3MVnn*;yR_T)h4*r%&8J3rC_Y>m50VQq+N#yqpfb z{{S37{stL^C$=N3)*U*Lvxu(fvuNiK`Ct-=)#@y~%4EymcmxLOv~jazlwGn!918xJ*GkNxWEnz}J>Esnx?+q!KQR)nPLpYwfA_3U2{{WB_-JMC`!$}QRI?Nvr`!C+_d=Kh9 zKH-L6d2wabvUN($rg#9Z;Rjek0FeM$eeG=wloT39t}I;-+d0Q%bSxIS#fypJ&G|nQ z^HbEA*E`WvgyPm7?5#dz!J^gc0I4dmRb^3jX9TgeD^xX+BKVfs7?@?XuvHjyp3i4p3I&VrF32uHFno5b#a;Ec&+yJVhL#!=VJV2HkbsSX* z)_Ix2NYDiUw~MuQ#D`MXuvUZFa7hktbh@j_#wN)Xir4H+_4mPIZ!K}C8g@ex=Fb69 z%x3DOw`WsF`vR6+w&&UuOF0Bo9l`;yzErLg)fHpG1ixxh?ht-3X)Km%o=ADT!FF^< z3E7ImoI&YyM~k^q{Iv=kfk|OdU0|(q8k=_SS<~nkyYLNU8$7hhp2pdx4J*3+PtXJH zApQ{l08m2`ET+XYbo^}mO{L)jx?^X6Qz}#+`~ki}DVvq5?*qg7i*7K!I{HNwMC$pK z1kQ-7i2eeB3_Jc6dZG$g3g9&q5frL?)HG(_8Y}*?e zyKg1)1@=cGv6o}i-exC5SwTUHDP;^9j|nEQrM0Wdg%wWNsCS7d_Js?4XPoLjP+G(} zUg4N!GzL|Hlh;&s{nh4g2A2Z%JM~$D$qWv`sZB6wmygM3Lf(|8fl9;zZ{^dajf~=34H6Jjx z&#T|Dnf{tz10EjmY5XqZW+K726E-H`#Z|vZlnTHX3yt##k&D6M*dH(BTFe(->4T2Y z4%8{3?*9OixS?vV4svP@OJS_PM7EqdLoH!I%`QEVCH8tyf8hTEYuxGa3xV2I&Tz;k{(txZG;} z8N(%{7F&)9g=Gm~=8o9<)iS@R%xK%uOZ%Hudw%JBO0ufQNFatgaKM%4R7W=3KdFUz z_f>+@Kq6(&9+T)weMLIhg$1wN3F(q$74#xh-)YVzv^`d2mTU5-f%vNn)HEMpeP)S%(OkU2%&i|>##r~36!Lrwrw{r{lW+z}Y1EHbGCn-auNt4IQ9AmMkkIvI3^re3UJpU@4^$f6`m^nbE=|j&4qeI<*Akj1 z4a$IX7_tIp%LWbrLdqILvsz#;1iIildL#i=MhO3%F}IjV#euzA$OdYaom2? z8x!F__54m37H#3LX=(*=si6s=63}&|sZHo#5{NFVx0tHtXV!RTf9iH|(kgQe3f5AgvJ-Mj146_FcdbKl3z?dr8ecJsB2hUh zImR#?Mgz*(g1SqL#Azt4XQ5=jBnZi4#1C`J%(B(?L)bz-1Qt*&ZS9#_#LI=yp3@v5 zLh)6QcyALD?qp9cR&g6wwRip)cKL*?8l;_ykF`LCGZ&A640_9=0Raj|^2DW5p*rr2 zDVF61+uM}us)bK0n~rw?!{0D<|Or`ye#g& z)ND(SFSZKc^;7(Yg7sNjx$ay8LExT}qMR_sZ`*`yd3Wg4!NkkJn$I7^!oYyahu}X2 zN~n<|M?(A9YvMW(;?Ii@Rx;vXKFfW}$p9R&rrWoyp?TC^lA{Jz?rp~o<23?scf&!@ z2*>{bgHD--12F0rU^VM3fm=_KEs85}N0Nun;~$Dcaa)Ygy#(!wZ+*M^M?>k^d!OoV zm&2Aq?-x5`hYQ4>TZU>b?6)qBP{+emC7}NR z8}_)Cr7r&fCJ*tfTI;m+6GIb-54!2) z^M7+&0+{a*p#7nE0!_sK%(qC{{WxkNHKwIGZ|99 z4rT|`{sUpiZfONqyYbd~%ZZW*ARu;?Dp&siWR*Q4TUqW$6A0=2nNS2+l$~SVvcmFl zE|H%!?HIrK1nmXEL`jMP%I^z7hXvh61ZY1qI4{Up7O*&nt5Tg?il0yQ72JQf)2F1l za_2gOaBAxLYlAYBzEBp6VSDOU=vmbW=~cecyHUqapdTnmTi()smF`6}P63r0w6ZkC zRln>cv&~xN%eQbrG#Wqv4?+|~bd9Q^)#!I)nYbzOE}t+pV;i8`ZF*F?wY7v8Frbao znCNxYN4I#jM@Z6#q_|q6eI-`c8B)^mk9k0n3d|8mT0Y2g<%t7$0)k;!wi=f(C^2bV zK-P+UG2Eln-c##W>oM5a>+sX$BgDqPjmH>_yK>?x7*tfM%R#dcMhZ%R0;;u_#H5O< zpG`}tn{{$*eI;>6*nPDJ5xP?SRJqhbt!|7Ha)4Enc*t<`2X2#nsJfw;ARR7f5{jkG zzTPFOUM{BWDg=R&*4p$5TzjCdVCn-YnSIx2Flyj}iw4ZlTQgw~@2aA+DCKRSy=s!+ zq38Cvq3DSLk!@y$3_t7;$xNGtVaqs(M0dE4=Tnmhryf4_xE3XU!kM>m;t1Jr!tkZadhWqL=yx>{lPjU z!dHsIYWmrS=VQ?S0I7o!ntpylAE{7uVr7De_K7MxBSm$JE59tPkTC-ip_#;LKN5tb zL=?Z7ej2m3PhkC~-KWTc4q*I&0#vC|r9|r!r{Rq4_& zx*@%SiSmv0+L`RA0;&^EmcOXeFgbL^|KfR#o7P0&L{0H!FH%D1y!A$`QyV}V- zhJGWBnu8~)4gk8#R^DLdpoSC$pm1C2o@2V;RjR-Hm_lt+*F40;2Iji}`4{WmAY@}r zcp4i20JA>v{`!^*3NlmSe;wgPw#SQ^;?GVF{Mg2OOl8-}nQRme2kIO$`DH+M_LN`} z9$GXFtZf1m7T3~W>a?hC05Td3(p6JA=Jgia1jcL5IG4p}fhogO3fb>m!-UB}1l4ee zY_6L*H#ezh3v^qq&_!o53>@Yw46ylZs=K~*%&7yj1B6lL{Ux?-D+bFf>jV(093;_J z&vlK!^0MquP#uUsI?f2NWdz}0lwi!cFTs<<&n$79g#lla53)i8H*RiYfb0duc8EZ# zr@enLfOqCNJ4P9a01MMDvLFKRz5C109IJ^ECLk>1?V8NN7o&ewe^cfoQP(kqOrQdA z3ie835_d-^bVe9*{1x6V^A#Si>5t&e&X30hOuW!x24Vc9BT}EmLaJ6JVpe|&{3NKt zqHrO4#%Hn7in9IZM8l_uuvxAqlD7Jvaf|qE_-KAd6j+Ng6O<)~5wH(-)JbmQuWg@L zuU@vi8a*YEe+E$j(X3l(L!z~Nt;sSp)Z4HrxHMG)j)5Bl>40NU4UVXf!6~+O4Iyl) zgRJ(1@O^T^pU3N?NQ-nS<6>SWfk5eiZtw#tKRg)W*P|Hj94Y_U5Z=O~U=5e^oDU71b-x9C^m5rRD z9Vo19l_NKzJW^L~u6FXtu`(ou5@xl)r*xO{MRP;#kyCJDvXOyLh@}=fzo0ls5#fo(Ih||k( z#wFwg%`+;^``~|b8w%|Z1qo}6l9kooRB=|CyT3XkbypOqq*Av8jO{*``2qwhEE)`N zF{*alR}oo$BI8HY5nEXoe1x|33xLZ@u4TO?r)C|qxcn;>wD^`7w+wdddq83NzM%Xk zP(#)bC4N=aossi6{{ZB;uu>C26j4hkMpe^90}L)8^qnO!uBG?M`;294Ut|a{dc;8D zQE<-CCR_abc8tBDA&+@-z*3XN^|R|0SY6uiXoNIr!iNEk`IR|zT8O8qRoRrtq+T+( zvhbh)fDVGdUYZ<{o~DOwz6)WwFftUlgAKvq2K}rZV!YE`1FkuSv z@n)LtU$2;Izz%0tUOGE*j*u6LMlfUU1OY+n!v1ays67~y6+@+0qj!Cv7z?A`vHFxG z3L*+E!CUKc!Gx!v!oua|ur8%MWZg`7_61t1-n!-!02-nQp=zh({l&Y82o_|xuZdvK zC0g}M)=}jo{dFBru4QFT7pM$pn1m!a-Mt{IVdfOYnr{$-v*$tD1!K%Ql7VE&0x89) z5V`N2`h_2MFYTLwdI0@Tvq)8-dKs+GS0}u00hi<3ERSS*=6f+k%nE7OhEPZxt5GaB zr6n;*fGzw>7*ZJ{3s8t5QuuMSCdtViTKfx8o_5T19DG5#0xergdc%shn z5KSDZE2q2|Gy5Mpg+hdRBGM!(D^Hxs{YynuQ>a??&N};t(FD1UGs11DQ>LGWVIRDI zmk0`m5Q>tLkOTr^Sag>cAEbvf1`e&KUQgfPcK7<4!cFQl?rGj%forv3~cqxl04AA!2dUCgqWrv~6rk9Nk??cV$w zekD>x==d~FCB{@X(ulsoN$7;BfS z2QaHBaB{{*)@Yb^ic_S#+I|CwGXacR%(;6*&0_79y+FTsC4is|6K6DfB4IZ5LA~s2 z>K$RJau?ACFyMn($~fBxuqc2yMPCuCGkv%m)0(rqIxClz-7>qft%@%&6)|WHpYmG= zP9a!wQ{@(EHx&fpIaDXv^D!WznF3^WO+NnssLi}$X_*Fjf|B;)zfp*0U=}`s!7&gkq<1KgADB8?rS}r;GMi#~mG1$INDH$MQXMJYc~r3@ELKJ|w-GJ$ ze&*b4yS!$SXlB!i;9Fq$nPvsELg@W&3ANaznH0 zuCTrFEn4m>dy?(ghaS?rM>${Q8gA%5+Ju>aBKOxR#0Ul~d}7|4s|IC5I1l| zy?szGOtPMF{_QCUFq+K&02jJ3=RD)z7$5GZC@us?N9lN1DEL@$H=4pIFcPwaOiV;T`5NG(W7rgjA3X6Q>5&TmG}-I(-C@b?t%9k z8$kuBxsZURs*UDc9JfDpWis>2(lc5MHqRF2_LS9>7h?~vv&^Cf4Z;ATKwZBLEm2No z?8kSRL&j#1Q?x2&^thd_6l*8ERFpqKztnH5N^7zI09klyl^7^my=ZlFDy3cx7#z88 z#8F(S`&7DSLh&r{@PIpamnNDk39@CO1FIWSV#{_Q{yyGmy8pzY;31>3=@_7UP zLAYI~Cyueiu_$A_q1y`?*~C~VgAAb#BZN@)4gRJT-e2F~YTYx>fBc7Z+kdo=gt=_H zkBBJx6ZT6R1F-mlB)<6$fcktx;=M|JrsP*5nU>8;8yE<~W&4)J5pH5u<*d3tNm8XZ zUk(p^eSQOkj$4UrE*D>d^%jYqOPJ;&;r_q&Od0JA#;Hp%W&8(x^PX|vL;{B>S|%=sPs1cLtlJ_ zcsPmpF^ekK`DFh9BM^=WK}SC@*lPynr(msC>vGPNibs9vt!bB#GW39hN22;|7XX{Q zKaTeR00x4C(j9&V0uj>!Im7#$gwDV(TYeVMvP@*vC`uB};9yKOd;s zIx&zImVp%@fLWn+yUlhcag0sfndq9nl`NeyiWB(H&KRXZC@uOexH$8OD)*ec!O!4t zYKPo{?5yd9@%9F9ST7LNP70e-byYLEzGDaiBUbfgtQLy)mbeF-+SUD3Vh#>pn}D_4 znAhJbuiQ(;zo0oiu2&cV(qw(YwFN2QpnIHkIfIz9$u-kPV8GG^Tou0zK?5LHK#gj@ zDbC>n3fa;JA2h@@Ym3f1>YT+%bchs7b&ZCxW71vb{eBj&Nw7~-F6PG$?oxVFuW%j+6+%X2Bt;*~GEE?vdu;T8*GQbjToRDGYg zP|0Fgz;_Y4uA);5Tr)@mV-lg89an0X?myq-Wh)Ns`H7vi^o#2pHxB6IxF@7lLHOzW zA(M-b^@-J%?{fszpFj99UreXV0lY<5F?|@(sA4!DYylMFI?u_Esc5j0_dGW{5D+ju zATx>KDQUuupqG7MJ#G3yFfV8EwZTB5OSLVOrKOO&P`V$AE|Spfhh*@C5~ES8vb-6C zeamW?sSMMs3&%49tQ^J6zcUll>LP;L>Q9LF#vH%+0qxcHL;YM$zxXU>!M4|aXgTu& zVI!@Lw9#&5zulNTx+1_2IbVGrFi$e)+`w_iX66z@$w5?BVq z6mW2Sg6@*UE+`qlv!u3aHrM=>abuvh?fQv7D0m-<+Y=#e10Vq@3gJ7L=n*mh3D z2T9=$$zyOv?p^F$_0JZvre5$^* zcs&0AoggK{TEe^q{-dsUC}_0opU6aZ`s1G8)HMX8_i&M3hK%g{ejg{JK3 zXZ)#cixJF!?cLEyZ!HI;$ZdFpZk|!cHCFn|282(a`z~Vzmla}wDX1LmK%*cKZ6z+X zIoi@ANtYpt9L4Ycrjf;m5o^p##w(ebhfG3PQotYNEZ{)mF9Q6)V=;Jzd5>D@P72vD zx?s(~z;O&_cQPX6zcHb>+j%BABu?+yC?(nE7uUQ9I)}`$S(}GrI&#PAU5ALw!iJag z#G@EXU!+dK3M|k22|BZROaB1G=cwxM;#gCBeUHUKmT@_fAvLyg(m)yrYpBdjn)CiK zA@aZ(l$40+5TK~~`bz2j{6xE`J4%5onNUA9Dhxdz_aV1 z#O%YNI}q)MY$L`7SG1`s_*NoPBpE-rV&#JuGUh6Fe4p%Lza#PldUEKLLRxFV?!L5l zjZlp!L+l>c-Xi&Lc6j(xNpWIwZUxtwQZVOtyI*qHVsD>!`6=56=zmxuu|`uMlt1pjY$OWDOj~e@J@RlP6*7wg~65?$(b{_;r~^2M(2o z9eqgDj(0)7B8Q~1i3YGQ<}E7S%;2+;vy2D9EF7sT#uL~hR_^(Rxs^{})WKL7i&4eF zKPeWtMev{SfCbgXqJij^A>)v{^iP6kkD`PunZSpOiu}*0>odQk)}HZT6E`{e%;Ci0 zLp(rX1-d31pgYTDQ*YrB(1_50FU)w+eV{fU5$40J!Ue(RzGAtk2L|QFhfk?}K>P=+ zIS~u)zLTi^r!D)U%F(LcvFfQrMW+k#I7LxxjJMLC`!H{Ld1ZKthYIQEEqq_3aeR&= z-B}j-uheB`WXhEa=D#2Fl@c5Ng9^l{RT%DxuMxDM1wBvs5(p3_egO+YD^j&JP8tQo zfIorl_yy0;?1MxbfdkSM3e*Kc6SS#b@})|NDpY$!{1Y&GD*Q6w_={IAS>d3w`Q1^8 zKq#OVuR>Ll@Gbp4Ys9)&nfT5<6&nUJ)adTIhE-#r_jvZWMe;$%Su)Ko(t&F%7M-Kx zmSy?@`Zx0ck?1Ib1S3b_#jM7wyqgU?2z`(Wz*>U7?RB_lhiY`#JhcXlt1-?ZSBuEB zZydadkxd;sfp{(gtGHNif?2qDPaS)~I<6=&*}Mw#d6?5Ee60F=MkA`Ys@%~1N>ctU zQ&ye$gS#v26j=6+oeaRxVGsMb-RK~4P=Vs!kZICZS!ikst!2KIlp~JqcOXckG*CN| z#yw9?(%>Jy{;`APSYdM+aOv|wE+HwRf!YBk{zuC&9l~sb(kB(x2ZT|EbSZ0<3#X8{ ziO~8`QCG6eZ>N?0oJKxhiF#w6W<5L;HnK~DnXaQOV4}bcV=-PnQ->IV7;qIiRfhV? zg-hu=4|tCebq06S#6w5A9O z!Qv(kWA;B!!j;SmR=5bYrd?@0GY;6brXNEjR5L<8_SNw|18m$iJK8o`Zl@2}( z-GS-{ z4*N8`qK-iWln!M`mmB}SfaqBGZd9VQ;g)bIqiE-7X z0YE*MFG?yFxFG`Yy<214HoO_?&%|u6jwcp+pq{g08eA7GM&Dc!D0P#w0JiRh9MOL< zHAw|mB|+Xdw-5@Rh4;+7@2D~Oycn2+6Qe$3y2LISm~HVg-?Ve&>**0N7S%~=ha(YN z6ZaSQfP^x%!Nj?HaK(=G9}p;4GTcO3t55>q@hk5Enjl47N2C-uSq1i{Zp`(LvuQr% znvPf}R03>3$MX|^30RyK#q7#T@a;b-rl*JG#+gg8G5CF;M485yj}OBVB&(NDO1Sfr z_I?;40r+Vv@UOri0PcQKgv;6&Ona#P$3rvmzTv_Qz<~xJWAGs*b%85Cg+%-|n?#ip zGY=2Zm-tz7vYbVuF;%L zd39_YikG51LICE(ZPV2;i~u!3;4=ISyM<92u8E%S5bs+KX9 zD^9un!w4Ldv2=j_UbA-1mmNglYPGcM4B}%axKjtrs%oACE8UEYa;59m1yOgXk5GzV zANd$8t!?xdqr2!bnXIaCg?T_P7_37zH1X;=nFo5(Bm8O|_1{G85WFgOWO$8tXvp+; zmWM3E`j>aP;2l?kyB4JrK^)nw1GF)cJOCH4d)G5oulKyCv>o8=r4ed|4Be-o%n7$A zbR08nQo7;}00yOJ3|rmbGM++f?}35uxI+f%SJl3;%|iRn!Hm-pXm>0Fc2mC*K&sg0 zC`$#d8?N%g7Ew#h+_fr#d2{nECoJdPo2sMtUr~qfnzJ1W*6_t=e&kx`_ZXtFEDcTw zDE`b_GTRjxVEJNpmluX6p>Ij0OL~x6--b7kdy}s*lMK@w%bLo4J))|lIe>s3?jXBd z>&3^)FR3yXg>O|cxF;*&i!8qKik&~)ab*V6PG>OBFU14=H2(mo@BnhK7UZ8Ff=ZRr zE1|XT{&C$??JF}pRDGxS6H=mFufw4!lT|8BiuX^fs2GQ2BA`l@{{Xl<9~N2S zkW*bTJ{$7^1Q22nc1n-nsZyduiPP|?ks!~|ey2Z+fL)0AYdv3hN{hBKcXq@maFzas zy=C$l)_pWf$GmI4`ht`YP*xz$zX9p-FdjxU2-V8B1;N5sP;WtfBeOOdWdQqqlIyrq zthrt39?Epc&67z>MS9Yq7Y2hlAul)f!~t;?XcSwn-3)50S_(K&EE>gwSeyWWJrobQ zU^m1Q4j&SdQ=9;W_Q9^O4!gnupT?l+6Bi)HqHTpRSo%jv1Ci4h)Lr#u@(UTkWxsKm zx4OUX&`srcfq2heV$fHUVAZL}XB|>9y|-)KmLCRzWa}!Q00KTj{f00US45bO!E*d6 z#1{U%L_|i^au_wH;d22++Y2!+5Ffm(Kaq?LS11c8%Y_s`ihth3O6IF*3>n}xJ`EH- zAg=@lvV!ni?I{AdR0`RZlK5WmMOezPC!t^ribF{mDa&enZLV5kBiF!ayL z3t{-1P#U-)l)pd>tDu0Y4u&wYyI<;3>=0#rAf$;{!rfF)(KGY@qYE`$Oo2&YRLZXf zc7&=HqSb2UXwD&A4a?Q8C9ShAA)S*ODh^<_BeNUU8I2C(VioHW@PorpFm?*9L>Sbq z`66)fB}A1`A>rpW0uvFO@=Z#KDja2o_cpK`31c_^0MS_dRHY#js|`GRduiR@n_z zyUr!1%EV=>n%(t?ZlFrC(Os%>IiPy}#Je6X@LqhVdOnTA5Cxkoq)GybeG5J>xXgIR zxJvnigFscF=063jHaIze2FIrog@-@|b=<(dLIFm;$zTy&y1$QkPCB*u=!Tltqm#@) z(Fmr5@L67@qfU{Ev>v8Z%hI1`d6%S(Hm(CuoyyutaLJHt)eNhmlC4-4un5_4UF4t{ z&8-QyCP>1JQk|#h>nUK&OtUTKRSuY}+y4N%Yjrl@+3UP15V3>2PHJ1C^fRuzJaY^~ zhKaNt+gF-8Ln7JIS^TMYh4zFU@;Iy9H6OIC@+VRD$ynj6pWa1v+wv zSwsj!atl|j4BO?Wm%JnN%5a0_THa`6h)%! z!Roz4e&c~l3LQ>m#ut?qX$DYrq$xip9HlfbfAahn(lf`uRJ3QTuJI*PEFdg|YgPPB zex(p5CFVVdIF~MI_zbwZOv*C_T_N>T-JJgb=6?Y?pn;xHx|Qa5N|h=n;UY?iKt?() z29d8Myn!cOY{}qBShG7`Zw!v>0W_BItWt`3_$mW45+h+Cp+&I z0l=5LGa3_M7Bz!Th=MRshu8x_QubvcxlABc0ID{^$#u}66bk0MTEIB4S+J?#TJ$1| z-*5<7ccJH)ZgtXK9h22Y4$X@61zY%M#0_fSbtW zKIs=%muO}%oehf#=)Uk5SSs=X`kO(5;9C?bwmEx&>Vj{#nD!>i!Jt{EQnk-!4~m zA6lV62vtE|z=oKCEhUD5Ot~i#iL~x;O9GagVz&`G=*IYq3I*=~*xK^5GPc{a8VT@G z#7j{`WiJO>9d|lKMXCA+?ErpPw5x809HT-10?XfpVRuAXKA%=Hje`q8x$0r497 zZss?*Q=*l2jo>TF2%3749eNchGG8nDgIbLTa4N#DtYkf8D>gAeCWHR~GX;y)jef=d z0CC_x0zc-X^*L+D`I$B(deCIJvCo-p=3GP3eSQUlu*|bdYQFyf`^3sFrL%IT2hby) zfCEdTKe9ZwLg&H0Yc;69ihUsqZy)0l;4?2)9^poiMzxJ=~=l$%0FYs z>EPh?eIWuDHsRw>K{Lg>;hrEg2;Ef$x~85P zNGUkq_g`3zc!tr;7km|mqA+(*Brvs3xf1-tgK8yv6>mZ(f&!x}E|Or|RH%a^OI3#m z@j%L8ikToecGW$kyp z5|2_ro2r$#0w}GOKIE=8L~5fRC1U*3I5n__|p zRDnkegJ@}x<4s)A(t!6V{!oURqZ3k&rKZ2U!eb4-t+6+1+;v# zG@V>Hipo@}(gkR+(E1Xz=(FJ5MOwUte2zg}@=Ia?JdH0}gZZe`t~nK>(d`dlF<@Ts z@enQ0Qs*MwVxneG+d|v$+367Nv`$c|mp4Y6U(mjS3`G>>@6&Ul`O;$_PFGd6-G+cA zeQ+;JhGL+Fj~!Z%NMRYIfS`eo1Pj!znqQz_ScMGTfCC~wHTLPlA_5*b=iBh z=@(gF-fWcsJq<=+^i~F-L+G=Q-1Z0-^kH{GE7BQCQKIWRl(HWzr9h_{B@IFDmy^1T zvzBEVF00mF%32*>U+$5drC#(imvtY)@k3PdM9}BV%8;iMi&3VdZq{X0xryxsRB##k zP%V2<9uIHDnt~Cu_Ak;@vxsXGgYIAlbO^;}7)qUtIeNl6vyev-Uoz#(mvG$zt^np_ z*t`qFh_-g++n0${z6I{P`ImULV@*y{=&SW5kd!1Pgy!(e)pJ${SocpCKX2eLv_AqJ zAr4K7j>8!5FY%TFff~AGYVo**AgE^KD*72!F4or7UPoDA1XQ7exI4GjU*N3=B5?+e z2F|_6K&DVfeqx7{)A7Oq2Py@HMCv0i46c4)p?eTn~6M z9`F-pf8^%z`#;>p4JLYYJ1qw8g(U7imvqvFwY$dDzP+Y&xKfsYFFz#Tv^4BF__&%L zBUB(AGI>Ffv^`rE=SJSd%<0)6QSDV>LppG@PJCUC;?2gdm|P)0xwSYgQE`{Fq)13( zm}?COmy4oMMVx_uFyaEPc`K^6uXrq$;b-teAuKHJ@ckbW;ONIYr1+^=?Kx$ekd-0E zrZBtJ#s2_P2hwty&>3`NpGd6JNaTIQ5}<0Kzjk94T&9K> zK;RuE){EqVkla9P6Wgzvf`ey$QhBM1II8%u1 zE(h^7%xmYl&E^=X#J;fC<8N3#AfXTF*X5Us?FJnnKwuk`SI|Aj`S==RzN`MDhy!W9 zZd|{4a^=*5t)-~_107T6gLhoVH~{e%;!GMunh^vi@V;OVqV z1!~&jR8=nEiV)uo(~}SqAlRHs>Z9Aj5i>3l`?we$%kk0==0EuJFY@;P0N`S%u|5yt zX$0Lu1+}+tFg~A=2o9B#O_B*Td*pZETM>NstaYazQ{;K%rP_@~Zl#qaQfW`vT!%chZ^xQ} z^x6v^&8KtMtY-p;TIf9pxQ!Mt3bS&9p~OpB8(kS@dVu-NyoFlM@K&(a-}w-xOPXrs zFbETqz~9BnmXEStZ{O|+H0Iz9eSz=TF*`qloYMw8E?%(Gs)kXm`^QOFag}dKstDA* zjooyEKQrcE67?-FEf$C4yr?_hn8IUNm!D7dE(ml&FiaKy08{>c4)Wsf{mxRWHE}ZK zRO@Qh(xLD}g1=G#vAO}SZoAyJrMoa#!-{(6-YXX*Yg$uS?NMO{w`%%tQIm0HX9Dun zxX1|Ga<2o?4?-%A6<1Ua=KJ#%6&(Y+(0Rd(>L_7SHn0npy347rh)a(r;tbj-?g{23 zVRkl058O4HN@JXH%kL1>?(&KS#dP-wZQc|w!GBNdagCL|fu#422M&q~t+#91EWBqo zcn2mP#IG$6W z%klv;VD(O@Vs0ALCX5vVyGrc?XC0x_5TjGL7~C1n+mlq=)>;TFh1GX|!-+#m^b1cN zW?RLsU|kFYdS1{h7!KPDv#0O0xkx{TvE*M_p8yo>N9z>&kYKQ)y?T1f5*q=XhA5}T zDmDl#j={z^aRX4zQPy9h(|k+|Ia2ID;W!_H3)TD09Tvt#+P>jnc!IaA`ni3k3eZ3~ z3ta{%9qh(q2xMRj1KkJ3Ic9~A(hUVU7Y?|U1u01N>HQ7Ds{yF4 zFNz}fMz=D(78`u9?&mSJtrVb^S;)Syv{xmYt<>bqlY2K%l>?T|oR4T>A=+CkdMrtp zIA6J#HOb21cIf&_7XqBf1F5Ugr>r6H02>6{A#PRgD6z>*UOs?S)vmBST3;bvaDsgY z@wW&Qml1Mv7f33*JNWy9ZT85`c)@)Rv4OKyVO;bkpIH6{jCOd=s`aVHaLnOQi)#C< zww{b~{LDMtFT0efvvQb#gJm4SSK>dHRwQA(9FK-@kIf>6?mq)$xI4G*Y{ppg0#t?c ziyVrqWqILhAk&SI&=u&_m6M%cvzeSKdmP%$cXoTmPq>LGtRN;oalq~&trbAShuxLK z>8!0*oJ!jBb?dH+)6$WG-`eSmpwXZGshVivO>7M=^ZrE@KnrwnE-`UgV)Qf7deg+F zMRs(xcXTDQyd5RL6FZpZHwJ>>0sshbw4Xl{EaMR%emtyWW)ja{bu4b-K&51zpJZL9 zFu1MJ!Qs3FHDEFl!>)nE-&7^LsY#?M)63!Zho}grsR{E8!&EO7&mnZt-YH3=L97j7 z9+#f4XaGIMnDPGO9z6wi>7x};Xnn*{3JsPo95YZCDsG{tPaSJEg$cJJc6X{L&+8o2`d_?mZa99tS!8sg*^I z1^O2LrDIph0L3}Y{6(;v0l=KP0ZrJ|z27nP1(K^Z9+Y2bqN42OgHUXXsR-5jWcdlG z&{svI$s&OjLF*g9zhpu{%)Itx#2iIOiePW=l&&T@H3bLN)O`FWCs^>HgitFSX4O4o zm~9NK^#nXIZ+i=}Ckp1q5Mv!q!wo8e9IY5wvXX94;7A38UrrIYlR@2K z(6|b+#b&@f#OD1s~6lP?7W;Q>DGYCg?#q$YrgB@}EVZ;#MQ}-qUX$wLqdf9wG zf<4Mj(_?I37c~oKFhhAf)TF$-aL)yJgO$<3#TGYCU@~BrEEg_s()&X8lWn5$fxq@O zkA(uap}Bd2imyR#TCNrq;l$HKq3dWJ-LkzQe|8vDWv*PaDR(ZVonwKLju}^sM!h2N z_j4{=+_oP_EIBq{fhbxb-#56&8Wbn1JELN# zj58;PW6IwRU|o z#ILY&Y3gs=yd$R|UH0)8iJ_NP)78_Yz2|YtG^_!`Tv<%SLqNEdT{*!(`CnLrb18O7 z>vB=IyZ06$exQ(r5geH}#K=*gtAhqz>S&jSrMb#aHDgd(4wB~6^JA;3Knp!8 z!uf}T8K`R{<(vNih>0i-UQq)FHHWy%$s5wKz+RoDdccdd5HXv(OgumqLQpBk)o#CN z;kgNsRj&2A=;j(bQwuT+9;wU$0|=^7rc|4XI68evO$-+x^%-}~WFv&lbR*Ubay3UK z;0{+Z{h}%g04ZfPeU>TQ5R0`0u?I5D1#suKHR%YEZsATRAg>uc;B1=9P?%oD^dEEr zLhI-klc2i3BOf0pk0c3#G@?}SG<9h$h!q7au4YnPbl}! z?C!@M$G$V?A6TYG5I+G32pHTCRqYPHa4mt=zrkPmGpZ_aDj58jxlMz%iW)u$J9L$0 z)Belyio_dR=Z!}o4X(5;dXskv?bXCx^Qak3m7#4PHSY;&d6qTLgrgO7ZmwEo^Kl(3 zJ>qfD2pljM2uGBs#=*LKqHT0*}H3b#?6Uq3dxz3$J4<`lVF1cmR3<9(Y9|CPmzCs%#-p6LCWK zBXx_HVhAFGfn2Ti%*`+%AOq5x4i`Bn3K0NAMNF;9oaKX)LW>vXC{tHTOZ!p)yC~+2 z4+a@@?)yvv1)boIkZ7XC<33=ZqzEIzvE1cdV1hbKU7nUQ`b&yEEhgpE$AVCzB3O;t z)>yF>fx&uKVky5s!JptdBwotK8ucV--LzvOb7@Wc1SaA^IxAbS)wzO|5{D*He4lJ% zOzH|4o>KU7J!UlnV>BGsNKvbeqjfg;jd8AF6^|20WfMQRF_#sVX3%_oIw7<({{RHg z{0vPXrRu(uQikY7N6>#$l;@X}Flx)N95BvvE{j(z&U*gEMSbS6(QCZV~`RkL17JyTt3W|~nTq+4}{vDqGG zCtWO20+y&-Qt*Q=Mw?EwEez3iy&+PR#GRn@iRgPr z9zO^19QPk^S=0T7JN^TWLp)p)gf6*n)cfKJ|x?tx~+1UCK$1TQO!5~wn)Um+UA_1b74n?zvE!-6=6t!HP zpPvkMK`fOh=MK(%5zb$NEc&bI9zi%9te&@Wi<;diBzpZJHz}xQG&xEuoYn{qk*!tz z_eI(%j)9+xmn-i#FAA}j-1v&(;7MwLTJ?!UTQ12(88BwD?crN$xv$&Dm{#hX@X&js zOja-)O0lrjENlUBeB_6YNT47g*Q~E(Xh3DLisA=RJDY&?tO3z5tI6>=aLamQyde#? z`hSKMLWD$g_-Z%+J1CZ*qb*SZ6oK8VH0u=mFfvWBO_4yd8x$xOK8G)E&M|-+o~wA} ze-MRp6-Jm2W-2r|{0TmCMzT* z(HFnx=Y9z`KbU?O{{XZ59i}KZH6b>?ia#GI^*&-e!!6}snULjZi_i$*%^1;|I}ILK z$v(Z6FIXUaCB$up&FwA5D#=`mvbkMfZ><9Sc%cgcu_d&XGcim(k?4vz$pXm ztHA!I;Gy~%9&os2P9)GEI}WPbvI~=8+d5M*Sc6C@?U^>C; z1J+WvDO;55E7lqASFG}!vmWU8$GSc7?~iozkD?CZ{1?FkaEEviVi_^-0(39Tsxvje zn6Aaw%!8(`7V4+s2~o={Oc#Gq#1%}q+0n}l6*WP%+kzH$zzJ~e5xxsN3tv)&Y}VH2 zE^W?Z5_S~60JD)5OW&&TJmJGiiGil9uOwR#Ubz70UA$j0A22p3Ei{U((+KFT(O03s z2nR`Z#RLl)DUdc+%D_V0G%>0^B_SQG7z3fk64X?5D*Yo!UxwMbMp;KG_5MKZD8bRVF7EXx7JxZe$}DWL_YINoAgc|& zVFr55wTK!20Ab_xI|=7g0&@QVKC>bfbE2`|TtPqw%%ai*=i*d7xCrQLa3hQ*z{V=u zyfNK^6hJ5eKpYb1@hwCG(exi^B|TExiL!*`=d$iaM;=aV4J)3gGK4Dk95_3%nB1cz_w6WkXDu zA4y&(bc@+aIpK_eM;U&gV05X%e=7$Z{6M{xcW$dgoZ^^59NW-vJ%R(IFh&Nob$ysP zfIy;vz;q$>ORuGJccq0b0fU}$tsWvEngeY`I;!`Gy2>;V?}NUx9L*6&H;#MC5Hh`I zdJqoOmxkpIfQ_oyyL2|*bto>5_?6*i>JhTkfQ%~O-!LXI%K})QlE1-}!_CA_^9lku zMn0i`4ibissM;w*pg*!(Ln}`cEyYmoJ)NiYcYg}lnr{%p%y>8L9hz=vLI5te z)=*|E=e)pAb0{aP1^~~TW$d1B`+;-3Sq-H4r|K^S@L$yWgCE>r!IGKL78*%roW}(c znN{X5f#o?~@=&+dA%Ey$Gfk@X{BHL}c<_GMCD3yS(P5?Vw<*B0Mi-VN3=sAFjlw04 z#%ev^@exQ7Hat#eujP+2;l9|uKLKSR?)(ymoC9Dm6t~8Q8J91c-Vh>PV(S&!W;)#` zvTxSmLWsvsG_vR+&W2{d+a&9}#i5}@ZA3?V!R-`Q)xYh41O-=8*Ou<{a=_Sv9ON`@ z_xuLg#9|a;lqBhh8mdJWPgpyner1E#^O|ukbvrZ09ka#~N!j>(XN-G40}o_y)O#gY zR{sD`)G%|Z4HqrwW}{)Qr4Kkh;}djJy}HC@a+;5{qlt(BD{*!xb-})|W2xJ{aBnME zy6ZLUMuznM<}O%_R%e6WTi47idHa+*zj@n^(vM-rBm%(L0qJlGU>*hKu7UL~vc)K` zCz$zQjR;z=iC7@Pv!@PDneuTG(Mu#76fVZB=m$uF2MoYy_CO$jruMX^--xIIc$2n2 zYyhsQ%f=WtaE0_&_bTDrMHz!NV7~ClGyBZx2V>E5Hm%-Z)Z1Dc2WH8n5!?jkh_vGZ zV~7rUXI|Q)m%L4bdLdLtRb?_dlq&pZU^^XKt)fg}GzDM~YnCph;Z(StEL!!5)}$_( zKdGOMH4^hBr@j9GdPMrywnY@Jf~^#-P#$g&vZ^>otOfc)EC?L~L^_kfD!7!u6=+M> zkCjZ~J1EA{wx72F|6MpUz*of(Y*%a z`-zK=g@SCZvdlMdLs!FZ+#C<2FV&;wV`g8<(ff@H>Xmj@o{WAOriU(b>j*l<5%rZt zhbkV({mjS?piihic#rfUP|}|-;k>cdm{j8UCX}++41B^>z`QS+N}~sT!yOK>9HrdA zV{77U{1rHYB~76ua3Cdol_-nj5d;m|ix0R9^2(S$XtCaa_>N&LOIP;?QB*BFj%8^0 zrOu^b1^_5ro$INL_Jy^dc)gmrGUnO8~Li=~410Ng7WY!{4-F1bm88DczvzU9DIlBR)ulYVCL zgL{~H%QwG?ePwj0Db}VhV9s-Itj0gz{Yu4=_Crr=>oS8j`N7)9tfGJ!Q$Z9U3K|Le zKKtniR2675ee%m12cUsk3S%SMBheC_iNVQ{MHFe~tcGD)cNrMLi-5JF1G#ecAUX{x z(8ZSQmX|_Mu3e4FR#XFP9-)=IL0~ePc^>0uq@lvr;6`4S6{QNJl5BIjuUT*a6oPqg ztQq940==$gjzd5UmbbBNS;P?;3N)9-Egsn+e7hZFEy{t;qj|2YO1s5YReDj+9sB3*JzJis(oF>H6JA%WpeGy?;B>*g`4__P~>jt=ZU)1W(e zxr7NWqmW{;l{6mkU@AE`Sd4H^2W!-MMY8yW*=8$?VKP!?wjWXWh^1UO_GVxVheco3 zXAA*vr1DnwAZ+;_(+-$7V#TcHb$;T^8~krO)!2ojxZlXk{T0ufxtD;fN(V3TUGs~h_frd;W@BltP82TS` z+E>@-W+qf|PpLfS@EwSiZ0{cX#w9z2t_9fy9-zfA1#qw&tPr!|k6e4vX!G!}OL}o16 zE>$C+z%RS@F^BMQH7&cp-{okR@%Rii41XUOW2j>e-^G_G_Wl>~UfDv{T-R#ulc1}z zzR?6w>0dz3qGZpht@_LQ1-Y53YZ{1Ty4rI_RT+@Kf~r=7@oB>4dc@AF!3B2vlUxve zePuX;>kLIsZmm_E z9SC9JgQg4j^C=0ttAmaOXlY!h>*`fU_G2pVbmSgrd@;KH{hi_6E(GXF9Du(A5y9wA zOs@7GW#YXK1X!n3t6ErXEdwlNa=lRZ7`P z5Ump#IAf+@!ApSfntF;uafxV$G#CW^w-pfVb_1Yrb|a>y8KSl)CTgZ6kz&)Ws^NMc za?u9L+b)%Dd;b80t-xq1Qxd-I8D-~jNONF%Q{M~~u=8dg3Ba6>Fg0SS)1V;d4_<)}4BU3&xh* z^!Jb2gis)0F1HXw2n}46?PZ;#$HOv3F+Ja?eW>p5ZpGgh9bt>usO&$1Eawrie?k+w zA%&)}L!ybav8l7w{luQc^ChI=y8X>qm>?%=YnH-w#3#meVLW0wMqbGFOd5~iVopzX z{ma6fOmeHOj@auKts;?o*bTO5e9XuQECdUDH9=XjbDlL>fFchZXp_MB% z1rB(`m{M{(Ev6TmHlUYrWPy&bui_P3eWrZO-j7-RyZdstYK&MfxhX}E$a-`i+nMFs zOI^Img}50k>?Kq}t#Zsgjt-x-2J9CU6}u;*>e#$rM|l^kYZBq%YZe90FGLY!9%ci|0%AIg9umITiN9+A;lMny{{YEd zySrQgk?6n3*;Q(6F2>Jvx4qd(gB;59UV;9@>6d9neqjxRqA%uTo!j-QWF%b5s)81# zg8u-%BWl<&n!Y9edz)v_jqAT9Pclo*`&nWyWcwvpYeDR>jX+CNP!=U74wC~iz@R2L z6gD1l+HX`w{m81@8r{#3{mq%Y(-xq;275t_%)!AkC$c(MLd1AkQLXY%OhYCtk7G!tq>cT3)40 z?Zs-@T(hSAMTReEj4fhRXc44r=t+~MS;l{HSeI>LTbE*^WqpP}>?U?B-t6Z+`pcF$ zi$8+zJMv6?6DwUUK|zDO{6>5Sj~jL`r!HCXh?Bifgu}%Gzc?f8!|o4i9FQ?SQ|=^j z1WZm3i=4t(egMh=V(6PZ&-iRc*MS9EXl&24hy0A`dkC617M4^o)GlT>;%}>zcZp9C z#&~5LgaePV4<;2`15a;i3_=t%3(G~w-54^g%Vq^z96+pxc4cR@qfJ)ZfOF|;>4G69 z7eQc(F4%{FSZHWGRXFMldD{}bKLA4nGXnYf{9S6IGXZ%4)dJ{c9aWCf3u@?Z9h5(q(TPk#{AT#{Fi+EL;&7#J)lkcO54D8 z>GK%63eBuSxw1EFZz_KeZmXT-<^KR=P!`^%=31h}XkEQ!BR7rJbXgHr7mh}xsAQj(u&N|6%yb?>Zo9p=2`sp8#_V574C`O)JtQ4 z_(Yg_iJV6$$n-8*&*G=55DNv3u(blh*uy2M6>Q{`sl9u>K zq&y3fssOS;O}|TZZ*!)i0EldCg#dhA)S@f2JU`Teb&fp4v`esq5O|GLXolo7E&?5{ z%fM$gQc*NhYlN?iqR#21TBuM8$bzcbqh-+GOfp#5R>feY?rP)uJWJR$-YlRsqHUuoGm12zKPcoQpI2#*S3Xa2Yf+P!!Qp(j1&0M22 z3Yc`zAHye?pbcg7N(~=Of`F4 z(*FQqV!)q5zW@d#0IwwV0m+gTW22qf%02FEj4)8c8(hl}y114C1R%Xl!eF4mh!D_t zB4w?KJ(-|h!9Vg)Kqw3Wh+zRR%8ZMnT+MWNU-ncMU~$NvBh(QqK6jC0s&+NITiVk$Pm?2l)Gqf4k+cL981FUw2B9M#mb3QAJvdwE@03V5YoEW+QlYh~on)lr->`MRLupdXPOM zs#rV9&vM%H9j#m0&iPn3;EJgQv8aRb6JVf=!CXW0e}nS&mpS~O{6B)jAIUd-&DAvY znrZ78Yo&a|BP19p#MN)acV*2i>AIT#0CKU5C2sY3F~LTL2T}~e92qecuV1=b<~w7G ziuz2im@|ks%n$9$@OGnyCB@aLtY~6RgMXySy1%$9C@mHZ?QE)rP&g0!a`8q#nuo+*kLrsn8W%M?+-6dqf^0&0gE5H>9O+d!B~qg=(FzgmA7|i|=uNnD&o&xWr!6 z!T?_ywd854DeG_$yaW<#fOjX|%=2)gaFIDom*5pEKL(P{5@p@aHbJz<;%2jt#r`kx zfDwomD;1hCmG3SiNGQ<&3NRSXZfCaLgez4|tG`Hs(K z=!|HvvnuW^NG^>LOqD>|riN8jda~tg`}z>*7`x28l|`6Yv{rbA!Gdw1*h|RMZXqOE z$*&JeHCnfD5)7PO9eN!gCbqp@%Ia;k6;TFjY1c&9QL3p>iji=P+mkEO6Bg*C2sqL^ zKpG(p6mKy676s(M&sOtsm5ud<@73a5elPLjbN>L*_&*2X?G)!0ep7dux@noWa^_1T#Cb)J!w(#_XWDu`u}bivw{VR# zMf<^mvR(0MO!})9zb9QLGpYk}-pAPd@tx!^nerIMk=2<$RrfF>0LWbdOFiX2e*mZH z_mI*zZ^T>g1kFo~GW>P6+g82@%*V=pSMbH9DX^rzdhizdL@Jy)myW-WGnviG^m3n4 z{V}VYL-236;HW|PXW)JlByhfvSMxPUfjt=ze*XzAOo;JUN^@nYGa ztbG)~#QZQOr@R_&am45#Ksgk{OF0>Z7BUU~?omzI_s2n~;)c*jm7HF11e!~u} zlZahR-Twen`12|bMj)pK)_x+yAcp|gD&jw72NLtjGzykUndj3neXbVZMs|T|^A>t2a6Rn}HfKC@z)Tt6%fZ7UIM_H8-PRQ!s z4`@V5Lxrs=2Ey%})HxQAT` zHlYQZ?0WS|Bo$ELa(sVWTO)I|5QL4uw0#b@HHG;r!2}~-CNEliP zhSZ8EOEO*hHQNd^WC8b0UDT&zGK`WWE`Y6;8Q`~aqBV3t0hPGgE{#G8#x$p+ETcaxU$t^(vfb}nAr&3-Qf;$qlZvf~3S7;e^S6#L-$4%cAF9h)~ z{{W%SPC0mQt11RQ8v)R5+F3V~ArQl+wpIRG^Qteb|x@ZY#5lfi*9yfVxgmZTbN z_FvcG*%l!)^8Vr3*Yy;C#X)8oHo(Fj?EZ);Li9cyOh;lYA`?RsZJLHw;&m7)wUklE zX>)aQK?AxxK~5`*%gZ5-7Jn*duFd7(m{s{%L}+viLDsnfRLibfbHY}|*KztVzVUx2OGAU^hE%-5D{?4EM(4Vp|uh{ zT%nMJqyT}S0}|p^0|hK>+G{zyWUJ5yEHVYsyJneiQPn&uw6rqpEy}sf9KbjQMU6kE@xvI`*N!Z1s#f+=M-LBs(lTuMtjJNz)*(j9)GT>MXXH;5eW?=#3D7mag^1~rH$Tp%P$Wg5?rLxm@WAqxeVO16(;sCRLe+BKLZv$Aq4lIz>H zs+d%B0C-5!qMHU->;dQ~9xa)srMpcql#s@d+Bt`JcDby=i#DSj;+p)Ldt*&o)^T1c zfZHott-(Q-9M8Jt2#!^B+QEHHl|wc_VvaZp%Cgi$fdJ`SK9TA-S=w(f+1_A?hzh%i z)H1I=a~#TADvb+5C}W;rWN2=~nc=-~JzRP3YV@kE)f@svV^hFF5#aWNt+v=7`vMZU zG<=}4;M^#6!0IFgEBS;KGm0^qsfVXRBGGh)Pgwoa2oi7DnrEcI^;2M(x(gY%w8V<~ zi;8p$c!4Mzm=H8*pgcne3F=nGEmXsaY)+NH065BY5SqhEqb94;Fi$0D&s{Faw!C6c z!`;DSyN{N!D9qf8D076`Yu^B$`3ehM60Py8hJ}Mm3Pyv!sLXy(!Ki*3Pm!NFgE$H= zw9PXxvY2dBeVM7(QnfAOrJ%{kx||h#W2dPIBr^fosB0YLV&X_89JmdQ7j!H*4%fkP z=F6HD>r$roV#C`jvi`_!KGiSTW^{9~Q`1pwkLsVOyv8`?XZaIfWTD@(mm;IJ&=#_w zb^c<@@bVd{V1ZTk!BM_tu-IO%b>0!=D9Tni^A+%gSX5SB&Rzv}_#rrCG|gN6javBo(0oPd44`OzBb1IalU)MGDxaDI>94s_XzQ z!*aq-hBN^4pl&Kqrl6oYoS#_M5@%ihDT*BRia?=xDHP|79bRFZ%nBf0)ydH++89GD zVHa3H)NvRIVrXs7vEnlGL8GMVLoGg$1y6$F7%&>a{Sn6?y2k!lQHBLAF6$%|G$D7H z*J2t+kYj<2^t$a(gdO3$Pb}YJX~R;{j0hZ9hUJt_*7i#ir@x-UBhRQ$+*dz}{-qm! zf*QUf{fN+fxy6r?r8EUQDVb6v@bSt&2Fq;9R#2B!;qIlr-!i+*k?e+SVY~aX=-2yBgM5fMin3L^<$k zSop-(NJ>V?OB=%J#7T(}JaK%pp#_rVQra_ZPl(jXSP-<~qV=|+FBb&J75OFflm-U9 zenKlmBEqh&w^sYcT@CvwmEHndA;lZjh!|b`vsI+L2LqFXvjf1=Lt`ehSa}b`mwdJV z0KvZh00$q35bk{J`Co`(4o$+)r~8OX_e7%*U}i%R-hikgP?2CxA_8BCt1MHHZTfN0 zI&Ahgz^7J*farMCr*=C=n<{5Dk|^a6N>Ei9AM9}FH&R|4hwd*(SPQFDL2X_FFSgl2 zmHHeWtfBO8u(M?C&fc-=S=h?|0J;@hMh#oYW^$@62=BxP4o+zls_PX?w^?#103np2 zf@wpPT5g;R#Bl!rX=~HoF`Z99EOIA8sV~&5yp=Im;V4E zm;e}z@^88xj6J`*HvPrK8D^u29Rf4O+FgqAzh|i{40eY`{4j$oABl;k57JX_FX1gF z#Y=?^GL)iE0uC_XteVK@r>qeR_%^FO&CD&U#Z?#U@!mVDKSKVcv(0{>ojF(%h@dSr zBW3l5Q#vm8xuRyV=wAE5wh$>v>jhm@Uz}86L8aZDN32Hbs)F|z9ShhWuf%3s3ihhR zTK>~esgtwF)C67qq6+U zkOj7i%+d@TL%cgUo_?o=uF~Em>vO^kVbwe{EW6=5Urc>ZmS^{I$_urR>U^xX=_lO) z{{Uv_??FfEb6(*80A_lxSNfl3Gwg-u(L_g2=#q{Xg(5q*gDBslOcA5&g}JAZAiO=| zG#^+Zbz8CwP58kRMo5*b0ax7Asz~kp)U|zqL7x2h2WS5`w5-l z#&d`OkgvmJc_{XcfD0L}{lh^e9Eg?!o<~| zJ3dnk;t=G62Fb+K7&=9cA$+o=)hBf~U^DnHOzRN2Mbj)McIkuMPJ487oI}fPR@-~P zM3RQji9!JNijrD47#7VZQZg;gj-mcXvZjgaCRLh2t;_dVn)2GSr6`2WK63(gFA$Qi|Iv>x5n8#A&LQ zc)cS02P>fKD%o zU+DIifG~i9hW3KtBh`iUmyAj!p`mT`i_%IXgdL(616YOGZ%lk#G+-+a5NehKzvJPR zfrKuu!0m6Ww;3aYNwcg!DXs;7=tRf|Fh!d$v=czk`lYD*>{c#nD(L-IZ)G$9IcRg76*;}@io3tgLp*@=UEE3)so(g;3N;wCDevHnW3 zb3LO5=)v~ov=mr+eatBkrjcx!Rlvq>_)QrgG>Ns)javs%KpO#9Wf{xXBi(z5>v}QN z$pB#oV9m3!qat8$JjiWwvFh;Ls^J?nh^SS$@448^_7=?(OS{wqM8S-TLjbYU}7xr zOFt`D=B80Ivit}KsITpoT7JKx9mf7T!t8$I{--y^x9V;|)PK|i^(WM@jP$honB&w3 z^$s6m#5Lw39&c7z%~P?N>9etN`Zra~^+U-H4|-_>>njN$V8NFM66^7K{2zslRY!@B zmp)X>W-QeX67)4S8sGbG*{lBw;I1ze|@W|SLm5E`LEqkizE4T=k_^bQYL^j`5! z@YP0J3yzU{67v|<{3Wxfp@jnB4U*P9W`z#H<5Ww3KDGHjN2Gcl#a zVN8grK&O~mohEsBytrVQ;`Fw!HhaLCeown>5vT&}3*yA0j;1$}YrcHP$uwYJfZCRLE>7BO8BkKjNAtf4)lYD~UIP7RIHN`PJ^!Vo&(#IY{A zB_2iN+9ONygF;hJ*8ybK)yt`Cjsp^J0xb}!C^p^#y67?PjKj94mK+!Tk2doQ^ zIYKHA0`9CkMh#F#x9<@4{6Q(z*Edp_hTV??Ns~ zYm#;XCc(+xH3sca$Sq!PN}nok{{Y3q{{VwXZ!p2d{vSAxS=SH(F;s}*GUg5<1!CnA zof8-BGTb(Yvb;c_`ElusOlQy`d_IwXFjkR>J)V@revSRcKsckN5%z$3OE6cwbCmRn zzHZq4Gs4aY_ZtT|i9aY&iu^T5tJ-*)ELF>4J}#Z&rX8v=Uru$24nIZ!nM1fH*kl>fWo)S z-H9=ZBkV;?yGZwfu-aUKPfr05gq&YI^o$jqdw?(2<)s?nn>i4>>o(@&5L#-ET{(gy zapPsGU=!v5UKN*>1#d&|AL;5fRKZC7GiyUO+T$H%yd07^)o-5goGGPj5Gt`;!t7_# z)Fp#Ucf?A{9&p;lcVHIog1PBqR$ceLOG3GsSQKcWOz-Lh+@@_%3aYyFmdFW)&DG;P zYNgu6;X{jJ$HcBx9w?ORH=qln7VsRx5*g#UQBwLpP+9bVsD+5iK<_WqD`m2qC_cg% zq{wcM{FfrBITIwN%60nYHWjw@5z^^$2mV*Ia_t4XZW$4kzR>jhhV#NOrn>lnsAfnW z2wq1j#QC7=jzv>*vsx6(Wy^zbhu~oc%rg$Ndr6qT)ij+n9+4e0E8bV61B}Y_B|1d( zfzoYKJBowF#r2OuJuCT@sU?D|;yc-&6E>mJR5tp?9wQ9w;s-=eFs6^eUDQtmXCDxg zNr9{*@^2(p=%k^9J(M$(>;C{CwtCtl!Ssl5{bjol_GJyns%#_8<4scT57cv;`ziZ? zX$NO5FfWZpxCe3mBAUD4`e22y-N(+9s+hA@Cruj{iJ^5<1H5|5hADe{M&RF>-8F`S zy0@ANJ4aw4)&*EjdP+Ac0`9#&C6dknRD0eqc=!rmBL&=4SfHu2C2oP!68Ww6D_4sl z@stlKb!BGF^oUD?COl$__+}CokT9JGLf1xg5MQYkgC&Z2MLS}bG8ID^c+9Fw=gLts zUuF|M7n2-93saK$r~Qgt^v~fJGL;e#Q5MXciB|?@2cR?NrMygD3j>a+GV%Q-v6!yg z@(dbe_NVb7nv~8QJHU<(!C!YziEdb$TcDwCf%pu(MHUWVt3nNxqm0&IlzfpWD^wHT zWI8~qf%JhTfLRWAY&+@<0uZ1d84pQw4$>T}QywN9;bwIL*!#uN_OFlK%wu@ct@{0v zuFix2HEjO?>JsYMiUqnUv~zCbF{)4|PJ5;M1TgJwC@9?#sc&5uP3(*GuJXuHQIZV- z-st}TVmvjlB&2Mr@~?2leS-!dIIt(r5b7}_a?$`O#x;42zHJD!%bS?>XT^9insXbo zZ%=+X$72k)BHUKEUb(x>%p3DE!4;+NsQ&;k&q6!v{Uv{=aH<(Z04r2yGe~_v*GbI( z0PPWT9b)?E7@=T0L3nA<`$AQ(?@-d6)vw+aUT=hY?h?z0EKP_wi7K?jCDm;24S_Ne z`9=>(YL{BBt!gX?-`kpfA@TZz#}EDipMf^P=RRL@0cUhNc~qX!>TjT^rOTVb9`Mf- z)?<=e#m#jR{{SdqAm{M${24@hXM|zD5jeySkrv__>RM`Wgu>Yd+6eimJ}w-9@hoJI zY~`q!n6YuU5PC$WNc4!KN3?g*7US@Z__#Yqw9|yv50WlU&*5hVz91jtV4P##5|9^Y zf7Ia!wK+au$589u0<=sB%BtG*Zt*Ea`${iU29XAi#dUhRM#kCXav$t9f`k_$o9(C^ zVi!PjE;V5tc8A0Zl{+|p)P4)!kTN9$513Hs;{3&JnaZ!E&rblDn-KP>0{}_~SN>%w zu}SX|+;bHz?;em@aIAO#0GPFM?cAXD75jqF{3)HOFRW~-lbOQ>CVawZ)20ig#g&Iu z-xpYwVwIN`bMnj7VTVGG$C{1cm<=PPL@Fby+Nez-oPQNRgLHM26+~*)B5R286kDt) z*yV8-W^*q}e&Z3UP#qke#rfmOp5;(}8mK+A2z^$V;b^}bT8y*4)a zp>LQFY-(eifOlDr^aJ&+Dmm9p)M_yR6l&Ywz9LZ`*Mf~}n~1qaL8){Y90|8b1PR&{ zxV1DaP-mD?w1dW*M8|zsZt|Q_TGhoe<%(vE8N3eC0ArY3X_vtWH3}lf3Sd1v%7Tu# zHjymE*j`L4i;C5NJH91Gb+|0G73_Rc=w;m8;19jFsVGNlfm$(ts6+%1&|Xd=)mM-J z<%RN4zBa}erkDg5)QEx!X>*_%mN1aGpd5i!&bgURb_`XV1%$CrLlizlP+@1(c^Ce} zGg*)?d|oj@bTmD}Xw6fq8#>L+6W1%^<_PdFlqQnLhJ|^|{v(tGp~Nq>Jf?^!D*_?j zkFhUBcmR(s0vck91#hgkE+-Ao9mpMl^L>#5N8=%f4qOkiU4Ig6P2XsK(<-CgDfHNi zDLhY;D|9Ru`WT+ABx9B&8$Z;D8N+3s8!tInSg#SU>F7P$6IP>(&fp0fm&S<0?L0Zxf)A#VQwghcRakGfP74?^9<5QUpPW|2K- zOzABsR2CvoW6WNlJL?xAbq^ZpE&L2Jn9tjs=Lfzggdf6bzy1RRz}BH!@;veUxtanE zIbNWA$H^C|`CzV<{qb?G3#M1GFbMbkl@mbtf80#~;1Ya5Ma~8XB8&Nn3ds<@g5|FH zhs?kLD@?gcTgKoNF`zHhby<7ZeHJe&KfM{IYO1GRFqE>1ICg=~9F>)bKQr6Xc%$)@&0*3+XaaQI2Sd}qjyfGP&fHj1$(mQC;!^SKahe>g?HJ#80 zDUw-L*s8ID>oRPgN6Z_~kdjGg0!S6#LKR&Vz)U*A2+?^bu8=xl>W`)jX0FoPm$W}~ zEmn~J7BcVYg@eMrL*gY(bcY(s0MxuJwA8PuRUO%pIb41Q%b4o}Kd5{_>nlHxTu(Bp z2NILIZJ)@PGqnZ8x1>em;s;N`%{x{{cC45(L+LNk1=(>I{w1nS!GKIu!BrOAL1=(A z5;Z$fT$1M#!h0eqm3WSSjiN;+1~UZ&TI&!6xScbJUndqb2a34ubS?pKoP+|1&=fbf zOP{Gu&DcJr9&ac1l=dnOF+0AL0cd-R1OXZzldu~%vi|GY$3g~Lr_b!3G?+nE9 z34o;ZBDOel`b=U|ZF{5pg+-*N!cxouuF$7x=?DJ+n3=_4gNs2DUk-kNC$k6rQ3E?v zvFsv-0v!clvSCZo>dW+Rn0%%mqZ**Gcu-)Iol^_a`Vz+Hbp6z9+k=&U(fDr1>>qO) zbwp6{d<*ye({=Oylxc-_XV8yfiQJt2IQ%Q6%-l@M%&A?bNOulrgw`>a9`J8o$KjyP^&0i|nQ;e_G}P=)$IL;* zx21jud&GNSb5T45LTlPkpoShkbVSEYpB3uaH53$3YlC$j!T~mO7=Er~)b?Edw{uFd4$zdfa!km_O z&;YSb(0c>wZyvAuLN>7TObd<&+bxdvA3`oE>VD^}UO#CoQQ`e0ist@fnIBXBv8ISU zk?Q{d$QcwtBC~j#@OG=9?E&5it6J*%41J)qr7N1n3d_68@e$~~m(d|eQ9G~8G8&*> z0Y22ZL6o2@609`mSC@VNZa`Du?kWS#eGDG39Nv$ z^`n@eHdh&j8=8`+db^tstlQoh(40501bZ$jS?@wV0gIyIN!C!)sT+qAA*c^X2t08QhcJF; zw7f!A>I3O1tx9Vo;^HUSK*#E6mB8OUp$a3C^WCZWtok z<^;``S6hbnu?*@SA)Lo_iRg!P$20o__b8u4!5+xJ*qDq}f$O+sujBq=J_?`QJ0;cs z04&do+4>@Xq&mmxF)zadah?_VA{s&1{SnA@>=y@$hF`m%scl3TwoZdFJnswrn(tjN z{Ei=^f5<%_N(%XoBGCq~kvmju%^cZR#2ZWMLfRgTrX$iBC)VzeGqMk>p_M_=&N^GWwWR)Rbzmo*qDi_i^&*(FhH)Np^KG$ zWsHI5p0v?_ddze;SjH6#%3CILDBkl-3wPKpmjs(DDh_Od_GD$Cuz=G`+gZhLGL0pI zM7rHd5n7BN>)6ardA{C*{>xyv%I*4sAwwBBo)#ZMBB{!-B3ACnc;q{y3DgXz1_h9z zyEc$E02Q?-O)3l-ZV4Q2(aQBIfHLWL5)2Ml6dK&T(S484x`S(EeVpT-;fR(MmT#-2?Vkfk-c!echd`7s}%o(jmnnWj9 z4AJcq!PrLTOYI)WnzZ%)C3Fk|{{X~7RW;&L@dEjMCAdAK*Pk-|J*Q#5@TKsIt1sL4 zDdV=KG{Ia-?TB-Vh)~U^Y~N^UW@;@wPZH`EP%_{?qA51uIAWn5R<&qz-?Zy;?{Oj% z8#OeY;@kkhEbQ381mSjgnlzL%ZC{CFd5tm61h7QR4V5elTEzBaV+6UfVTPmLQNVk| z&PW8P2($ikzK@@gh8rjIOAd-zX5rYMEPGp4g+(8VltgxXu!EU-boPx}o&I zT++Cw?k!Lqztjpo+y4NO&_=gY?H45?6-S2Ss|=SPvUMw=71`s|zatR)5e@PRP4=#b z_ZyzkUs0s~-!ay!$qHF1yn8b+_C$z5goIdTshfMo+*owM;B5hw0eZo>gn$?q4>lQB zP!p0wUtx`BHz?FvB7m^-sn?7Z3is!QMv7Aa7iv0}+6omJSyhcxO{~+zNkWLU*E38$ zxs-3XL`K~IQss$;gfhHiHn=JC0eONrfjZ;# zc1*z0eEo+XahgCnKiXG}l9-Wz(SjOFpncFZ#}b4^Ku=_(%;K z`EU)|POsSl6m`vyygE2E5)}xLigAGb|dzEHf5iM8~SW5GVUzN^Bk4GNolE6LounHGWp8;MOJA}wf_Jmx;NV8td{N!ByIktYF++m_816%u-RE8!- zg4Y55L>AyF6J)ZQD+fWDqhfg~8qBjZiCLBzG+RWc);*$(0)m4O3M!(ugaWw-F$C~I zd#T^Kj&bWL#}D9}oh4C_*?4uD%&F57w!oT*bck|8pnQ?lccfE{8Rw>wk9mjg9BH48%hZ7{ZgU8mZ4BoEbpHV9 z(u)B233tp3hLgNR4E7j`y|l9g?jFNu#NC0Nhjh8=B&a^0xOnrSrk)^p{{XiYP<kqUR{MX+p38kB)K_(Y<1cFcK&`ZQf7mXMWBg!u^?{3o zSHN&W4!7QwA-)1eV~&qy@QM9cgQ^>a?DEI zJt8JoWHoB98>vRQFHps8I%8G}08*O6=<&=hI$GJk9FKY7t$R{JQQgj8ELii8%}C0K}W7SP1hVX9fc5! zuyyqmY3&u_1TMhocQy^<5EIam`I z=15FgD;?FIQlX+@62=p-zT=7@|a}PR^NB;6%CrF-ybul zPHvBwmJKQ6aMKUmti@gQfO?141Gs5=5A1u)o6)>Wvdo>Mm1KL*LQh2O+;64J;#Pmi z#JvxstJA2Ad|TJ7_4bwBE7P>3Y{aYS8$6W~x%ZU+0Et=OrING$#K&JT39o6`uGbnE z>&Z7bJ4dVLSF0|H4^R0VD~|sF_5quEU+NlU&p1Ei9(`~34)BHYc&Np(DAyigov?3v zf^@udE@88JV<@9FobGLM^siX8&LWPYKqfU=omXVVU5f7-fY)=i#0A6t!?qX-QBFao zrP*8(*m}ZVH7Tlt7=g?@Twi*M!#Rt4+{~we>v4DyP+m73v$O%EXk{xkpP$2vhgrPF zI?v>VOi{1$VlWDB?lRQ~zyV!hc9_RYdciS3ID2EGUKU zCYaj}a-vE)MPRK)2F3BuZX+vk{8%pE63*fYquO->UVw*w34MiBks4_no%x-1Tg-4* z0o)@PJ3><;Ia8yk(D{Wa-Ybt0jFQ@$jT8V3QHfJVD3y-?0BQq{H7fO*^=S2#a|FA^ zN7k3tUP~=9&c!&~!Oj)P-mSbh%(66e9#cy(3cqTR8(Aw%F;f@>^k5$lPk9+dtm2 zgdB729Qd1fkHqF2%DR4|-`UFwIWy*0ysotPm7MBP#TDLEP8zt9tNn?7A$7T%+u(G1&g*E2HS44D0p(03qEyU-l7Dl;$coUD=gsqc51O z%*AGC)X1(b$$S?Ur!%ZL&LEWzVI4N=FzEZiKH~Yfr97^lk%MX6)dJVpiWilXmx$&L zH8yTBjtzbeWwe6QQeNUfNK>_2TW;$Spfi_nyP4?#_Hj@yxy+WNoj6>6igUr-f_{GH_@Gv6O@V+_xU zZB_PJuJ9J6XX0@TI-VHm#2L<`h?tcfH8WYMq_XL`bdO1WFg!a@^GfhZC*yJ%x+57=n?V|XEX7!%~f^>dIWtiH7C*+%S)K@DaF=)B?1^Z{{S$~5R|oUj<7FjePGgfhq03|-w!d(GKN|c z=ZA9t0Pcs7QT0Yc(V>H$U^yZKGN`GTBsRlMG&voi5hZ8-qRIyj`VwXch?YHIg&%15 zn2PI+KBG5~C~oa~zi5?BAokrRHbb$2SFJG1VOz#50QzP17gg>pFz3}oK*;(>se4DS z_dnS5Gv-~i_lO?_u@tgjlx7w9V16D=wz0F z1K1!;&bQawF)gwhg|=8Y8jE~HqqMgMW=?l6X$q~Ahd7Of(0j+F#+d&8{{XRHB>q&> z1gER$#N*(~IKO#a80td}>FYD=9_AwXsm4Ab+cQpTKHg#55DLNl=`wM+ie<+}3bC%g z`2e><{{VWz@BaW{^Y|qg{w?{1S7>HXG-7j|%WRyZapMtZS)2SU8P}xpy2Row(*sPu zm{ps(g7e;2QWPgYjSYw;m(L%lrD|$^E-85WoOy+2?AE*7r;NQJS>^%Et+gpNi~b*I zQDnhZJ8l@y>Tz678gINfsBs3nv6#)5e-kyt&0HN^qMX-EZfSQ4i#59Ih7G#>J*ThZ z>Qs6V-e<;C`Jat`3=)Ll8DK_+O6dOpv8zu8qbp~`t2=mNLNsunxK|WAD=CceF~E8) zQHJ>H>q;g5a=}K7_cP7+vSFr&G8IM++m`>LtU9d?L>ieaF0~7T@ssne`)ECEN8b)Kj4^u~(RddCsT)^3naq zFA#Guy~fO5yUw>8f`@+Cg&*Q~J>wLuu5LA0-Aj3{UamDBL`PW(-0H`eA1qzdiYYkxSMlGwCm@rl^@of)V&saDK}Hyk++ zMIr4LxFp|>3_}C+E4($!$NZIhr_lcZk#WH9{{Ugwmo8u78k(wpV8l5% zl~rRLO!qv?OC+EK_KCsIcq}&3M+F(_6zD|XGKE<8xZQ48@STl7mV!ceATTJwP-M;H zZ`83o%hZc57OTS)+BY$C6g6Ax5|1bpU%ejjgE0DwD;E>T7rC5tg`0h1%~@Om;dP6R zln9+kdoR2yw%zKn0^!^8(z0U;l#ean$Ka6)n>C$bi|HIf6NlPznEV>K%TZs&##~v% z9QK(7G}VothR-Z<`53f7s~N+)*>D8flsneWnfRCGTqh>!9*sl5IV*YPxOgfax3o}ZbWP_dNFELB$agFtlfX~ES{FlmA z-H~|I;-b`V9Wyf>XZuqmYP`lNQ!f)vuSr^+c1+ZDT4(kp=aORo0OTyg?pm~jO78;s zx1>tzbA$YpXbIzUUFI)d(;QD95bCAQbWAwMtfo3++aFWU$NZcB0J5tYuJ%BzmiX7i zDb;vC82qNV3^iGSpTT^y{A#7rAE>9no-m^M3H2;h8qNAiaq1WFq`3?>3GNZAswg=H zx_HL>lR+V6oWxmUt;>`u?!<1d#8#mY6ec=L%%yxInyu7m7OHO(x0%dqs{r;PN>cFG z7cIR@2$g-yfl1O4a@Uu!jkozsdc*Mg zpE;B#0B)-_lk#O%kQC!K-?zM3)JanCPl`wX01~2F8|=fwH(hCjGWrfZ_(gu_0I#Wu`cSxY z)mLkxq#^j%a}>t6!1*g z)J4ozS?G&)+{u_<+)jfOd$ajNU4bV}JV(g!J9je@lJ|pRu&SvQ1ZPV>93j6;1 zj$VCdpPA`?CE4aDr>yjr>aq75=AqE`V{->DsVl7OiElOQJecnv?vd7Y-WOQ^07yM5 zIWzt3E2qOV&&+DNdH(>j-YSJLpC7q=^r8Mj&z=T85i>`qeT+rQg8iX!Mi-7C zxk+N~WS3z9RT`+JIj=LT_X8mlqzSMPm6Kh`Kxc*zSm<{jZ~$#x0z1jt8iStF{{RHM z!rMf}#ChN?VN3Y?jc_Kq$-H_iaY=IK-@^#zZ7FrAH42ta2!f8~TN+`VlCg-20ab7j z4u1#mQt&n=d&9)iAEI5Fw4w1X!En(w6+wp(( zH>4^Eq3RuBW(P{z#~lN%eXsqL74I3tK>xpW-@jky%z$4R7x)l%uP~3r>*Q605^Px38OgqG?X~spbJNxk!(Wam8{i$ME zy^xqQ5jPP`3uC40aqx_#-Ac2aMC^;0^N0s&$%%33{{ReDCnnrUUATx7s+2>`!3 zU;fODxr=|eg;t`9zesArCl<=Ks~x|;Q!h8>4HwT-`}YUEtgiU!)+TcV{{W1-Fx0y9 z)^?TBEjiq7W4-y99&f9doZ)}E#?7Ab)>!K~^p}nN;wshpf63^1-_%2(uwEBE9R0%| zjLVE~YR|YBKLp0TkWQ%b&h|Bx=@YQZ-h<*dsd6Avbm z#`~&Iy-Se2(I=(9QqJqD528L%&`*%F91nr`63&R^A9EL|HhrNgCBnF3%YCKUnRtmo zvpUIg%80n^(OpJ6w=Y%&%63YRNyR{wKTs=DlHpu_#{co#5BB<}PKz z`as;P#9G8!N3LVlzS9L@cnZnu1yNEoD|m)?d5J`K={UZVAl*TxJ3k7HNX8NNrY$mB z>^Cuq)LrXmV(Y#09#a?^V|5B$U57p&_eg zNxCkRxPelD?9b?VOVc*5mRtvj@%D>RP2nat3}nyDD6dHHN=9EtPl!FUnxv9pbnK_lNgrK)()8_oVJ(HIIbes{A)C{?gjmcp?tl^2=2kmr42| z^%YXDE&HOY9_P@;4afA-OiLVMpG@G-diyBMs9exK2|!P ze=vEQ)TnZG?du%IJY~e`ndu#)h?Tv}4)XDh&cd#`#zn*wRi>V4DkT?8Z=BcRG=L#X z*Dii*(gJ3=D%Wpl%jO}etQ+h6gAVs_x4_#4wmo1}RPZD_+O^X$xU>XyW)spZ8`rVukg|iirss|@Zcr0m zyvAT>ky7OvF|w|0b6R8RL3*2r@1O~ZLxN)pp46p<3$WSg0zSMFmn+9s_|xf6n5-?# z%P7NCo*!vI6^{?<656R%fa_dD%nVDuSdlpC0xFJAiGbW?-`u>AQGpP-we1!gkt!Dj z$q2b~8F59rkTNS;O~(QEb%E29!xObq?fa2t$T*7Q;T=JPO=etq{{X5GuNIygpK}Am zr&Ah=uxN`XPLhEAYEW`|Lk;`XSPWdlY+P{pmR~sDX2)aC_wI37zK$ksR;J~tDvj0g z)+3LJ)hy>XF~RK#8}NAGVSNfD$!9H zG&{<-2f|&tJ>zZO+CCi%VR`@u)a`bTkn zJ%Ikv=2F97yN{(-+CKGAAG#PZ1-AxgDRfIg#Pd?Z`b#35$1Tn#4r*H`SxxmK!t6Q` zbl{B|lx>O{mgYKEaj0dgkIM zC8~BD`6Y`;Nb;*R&S~{{ZO-fL8+n zN^o1&Fd9vkj_%zVz8&K_nq{bFx1Z_bO3JZI#gHCsFNKqqxkQGV~@* zUG|rH--(`u_KmodUNFvjy#+dK>L72rN%+qc#lu$JtRPVX6(>O7Nw_``4y zeayrgYG<+OUvi)Rj8kIyVNH8$CJMiTS61Tn4%5LIQ`v+i zr$Kv}j;gOi@ToFK@9kClmfnoMNK*Q!`?UFw97pk8%e)UQKJ`+hheJ=y5M2fC2+dr& z@ej4Z=4d*U?G(Z;s^u3r{8s)Y#Au5oQ>5hWG-W|~2Xh2rm+Lzf`CJB?AlRU9@8CB4bfqAW%%5`cmOhMis{Elp_LZz2oIY>pqYFqN=kTrAW3`-h||DUKisS7 zcD66Xt}HOw5mlDpAGs2ZS{tGC_|^dEJCRkM<36t{;7m}BG7GNkBk z$ZY#3`v7g7t$Kdq*TY4xMlh9z?j=%GWDT8Vg0_cdCJdzwP4K;NRh0&2UJ+F~zk|~a z%cU!+F59lspmud21`G2y1H>6>Se$g9!RnNftD80lZN`@BqvMil%xTt`?xo`~Z#Vt@ z(k_l-rX`%>7G(bbXTjg`la%jr?{vp{sqH+LPcpApGH(**`pVDw9{8Fw{{SZ$J?1w5 z0FmzQV~5T@X7P^09B-t$-kEK6zL>w%=NLMEAIWX}pK)Um>v3kHegrQAU(cpFhXQSyTK+s=ee&sE^9nPc7duIDa z$Q%VS#r1MJ?kK8T`HWrZOtO@6nGuzzb-R}!4sb91oUzw87Lu)uP|=fR@5EB~u-wPK zMB(uN0Iq<{#3-c5q`MVPLn?Y9lOt+M}sj3BKqbNVT;qet!j5~#J%+< z&NH|Tshaqg^UNvdQu)Ikl~YBGTz|6cG*r>K*wZcl0E}E@#14OP?$@NY_FS|9xr@o3 zyu-J|z4Yr-1+-2ukWpyC)Bb;uEyPdsW4H_akQ~qEYSSm3LIcqd0=Oco7zX^DWFFgtCG0GBWhc zP6wp!dYDkGE2MqBA{!p_v3YS8Gfxl(>pfq>fKV-4qCTxFIv)!AOH+*4Czjjxiq*Ev z7t6QaF4qgyA&SG^Q~MzKIiKbbnAf_M4waa3Xf17L@5P!aZWJnnIpe6Hddj)Tc61o%h zDGGx-U+IU~TEzV&>c4yUOmep={E_uP78Mv2FfP8M_&d~ixOaxhs{a6wFzU7P(e4{F z#T{iYwfCECd_f7)Wq}^WMQ_S4y|R~Rh6=nn6mh0qA*n_1=hgR_p6PyIXaJ`Qx)-v@ zJI76?2T0^=&tf`+DhlZnhEqKa2ZR2~mbk#U92Ph)$XLtbuhv;Eu;S(3vk&W+eEErv)1u>~ zy7TipmOZyIktZ9+a$hSCGZl7JY~A)Hjb7(DZHn2~<~He`@deHH{$@?f;&a+DtM4BS zK(yfe6sgw7Rr-T^9#8TXR!*0hXD7M>?c!H^^B#!Ti9?+9jsF0oR|laeuv@LNte)aM z$HY>wdTo?T3U!qn6pEc^s}fUDLkpgq#9dRnGTMA%QFwbynokV3?PdeAbOwEiX9?AR zQj4eIf$;|rJ+%uM)Um`t>hvyw=R()r_pf5!Wec^SX)pIk- z^hxNRNTA4hV{;?4~!**lu4jJR=<-R3PK2-bFMo~^34zMgSM$T`4wD*V-A&u37doZYzkX97* zMT|j?G4d4KpLigSUZ@)UV1a2;_{aAwf9p{^mpknUu~CFp z9f(uuPAhkKf<+f*4S%6g;iux?am|PNF;UDT z${&?9VBo@l8dv>lpm27@bba9-JV%DSu=$KmY4r4Y9?YmuU}+#Ol;$x0v4QTfnF4`rGUi+m72$f zUS)LONcD709QsSX^*OF*8}}wm%cnB>ghH{1*E;VCz2~&+)?(WBOy<5K<5=q}9M>-q z*F&!pjOuC7{_6}^PsT5Qgvx=tH204hV-#uNKwEFh6{Q~0Pfr+^U59u31i-&)e8sMl zC0OW|CG>cY)a!gV1{)qJ zoohUm1t=G@DMP-Sl==?8;wj$jV1X0|f>vcLX_=ub+r0(SR7?%fS_6is76$4Jj@`JL{Y63Sov3{#*5dz=m#82UfQJ;1@wzhal1G z4Z-?Nj{1~K$z!Y)qa8^H?lI} zIE&hX1`8(&)M!(m8&$vgAZm3bd&t})tPCyCl|)-vvnKH@@MT4VT4b* z<-8tQVmUrg14Vd`;J`U_GRxq5!3<8?s6A2Ws#P$(NF1L+qI3)IE~ls!5Ow%5{{UfW zuM>a40@MM^5bW>K?;AKzXXk%X=A!oU`HlCOo|WZLW{>CYG-(Tk zmbGc*NGn0`%DA$N=t6DmHuskG7q@HW+cQ$2JtbDU6{nsLSctke)9d~!A0riq?2jMx zbcjp~)jv?`v#5zFZr~qRN0lOMRJI=p zS^-nG@;-HN3>Dt6jk@+=FP4J6Cp2!2?Cwg7Z8u0`(WJzSCu=`M#p;A~Js)VU38Qe( zs{S$kOBNN%)}m_!K9apA4MKo%07L^I!t%7r8Hbi#aLV!XDnra39g$DG<8D?vcXruK znq#2$QPF(}P#{Kvf-d9}pK>I+J|Z1^^OQZM8dcpRa6RJmA5Z%g!0=6{p@><{`mpFd zrW^#xbZ^Ax2IJQg{rH~}K2cd32R^f-3a*@Xp+}NFF`6@UvW2YbFY2rKSEv^@M zw&RZ0{{XXp`#6<2?-v=COx2t7IF;5l8)ii-Gg-S`{oGCh=#>W9;QiFT=xNbEI)nSB z)6j_3j~F4K7aSr=W`oNxexUi4u@1$stABD0f$~K1@GPTV^5sor=v~Y4YMum7#oEUs2-b{{X~8rA){yUK;l|HIk)+%D#0g zQ*O}^deI6n6*tAtue`?USPo}G1<;-V`hfb!)BV~|?t2e;XNZ!V#mXhqvXdTAp+#xD z_+`B4Fo~xMj>wbA7h+PNbo-C;F}uXMnf+wt7&$}CHjebA%)uT$jDU)c&)i1vXD0j@ z4Sa#BJa&+Z;6pQ#Dl2E#vWsogd+X(5=_n zJ|tSYPM5@ZBI=7bZO--ABqOJ!91~$!oMNfm6Vq9Po=S~4-|lZWDLnXkD4oq&Jr zPW+O8)NC~NmG^KK)K56SGJ#`fXwp=$n|c|P^dZZ{Xn-gI+7VMUit0x~&kiCS5#G!b zYIU~e^gjEPZTG|hEX-6|zjEjy-aC(Gi9k?M+9Xb~?3U8uipsrp6KZtH_nAzZyDX!d zPiR{fEz_agNrDE7e@APY2ZfM#@j2Y4&3`zLM<$&c1l8 zuNdz(40@s9Xn6IxU8O`KLRON){{VsA#6xXdEuS~H$8KZDcC^-TKXJi&MO}a&3>t|% zbb|F`W@(WjxdthRb`HwGI9(R&doK5Zdp*DaA6skKw0MswQlZXI3X~j5w6Gp)-X@zZ z=mMr3lC_pw;3nIl`ZiVX2^b6=RvZ_OC7lw!ZT|oxh%#k3c80*a<2+^?^aDMfpE1tr zCvPc!A+%pmAngDsk8({yzsd<%SIQpOE80+l2g{fPqtZDy;Dd59%m~1MHVXaXsT^7N znh6xh#%&(A>KDP`F@NMOcsGDVvX>B;$qn5~m@vS}h;TvCnPm8&H^ejfJy3GNFvc8i zk?z>`iwcXjW?%MSV_DQo&sdCSa7=fXef?nhqZ$7H03c}fs5I@jhx`4Ab4cn_!pg|E zdOCl4!8d2DT+`|Tb{pyQTQsw)9zNg$9-aa3?=^nup~;3U^Ls?F;;-{EbQCT04M|S zlddCu4#W2nQVzFom>G}3Us(8t1#7wokoi$+Q_|*)%$UCkp3r-)z}8=K@bl>{lQ?dv-u~F_0MkuUDE6pKpDOB&FRY_IkX6Hs%%-fB^N9({8WTH$Khu zag+(C#3XZ=nv0Y$Ou?Us@r)TZXxA`$pQW!OF^Yy-9*e{M-Uv2p8C~JUYn5~t+7Or% zSt3gW;{{9&Pb|tE2wxQvDa`dMT^zlMfQvekmW=OzQ8Jef5y=BWdpq@phKb1wu`VHV zFfZT?PLd2kh8lB-M}O0l5_Ug0@4+dHq-&XrnxR;WR>TzFydDQ0(_Y$(dxP5iOU{00 z5I4<_%qwOcPdJ6|2>$?oZZzi3h9+vCjwSTm&sWkfTK@oL-o$rnp7Od>c>9#yrN2{+ z+{&)QgJ<`wM~|6d#$xip+h63Y1Fk=rS?}GQqZ-G;~+Ij_IL!o*nj zw3b)|>JPe((!GQHMD+_VhGi@VV*a4KPeo6&Hb#Qn65L((e)SVgUg=|PXI4G605k#k z41N=8&!E4U+Mwd{{{TMcA>u*oVk7X7V^asc{-zI<7>gV7KGR8i(OypsuneX3Ih9;W z&*4~@3qH(y>S0(tGJWQ3Je6tESIOICvJF>A z#`Z$f8W@{PE*PPw@OXghpF%HW^*j(!7#BAV`1F982rFu(lecjBASj<|3ri_@*#hwt z8HS@+KNlbL@`wmp4t}ST`|4i} z_PKB2W*Mas14y;T9K?PH4N=Os-HBahktG3Ej_g@Sfsc0+ESLAs-x29YfP$lMYySXJ zyQ|!!{{Vg%!@5ka48y)rS3KSTX#Hmuq1FFqX-ywqeI_C82~FGfZHy#O!3$wWScvSJgU3Hk@~ZCWb}s?qA6LEg zQ3D>hexSHs&(j7`bn1OXHA)tsLN|?!mi!(0apo`!vDUp;m?ICf@MwFVGOpAYw5<($ zXS}SaLfz&Hd*9q(!E@9B^oGRKn?U-NROpM%U0kK~xF(E;O+oWv=)p8_(PDXO>jJC9 z5x#{wN=k6cTrdk8Jw*34I>0C99ra|SdZio+y`ikcE#Y+ZNabiUt^WW=c(s>c+tuuU zyFm=f93DDe`e78td5BeJQQjj>HxcI@Bh6-7`@u;rZYhphRr)0euoXBl%3_C~yuBQf zlgkUG(k!=7h_)mLx-Od0CjYFL&HaWgo_)f-KY8^pyqV zFX&+Th4M&$#HmpwTu1@R)NtxL6nYzeAYv`EiS4KERH7taTfAmGj{(IMNu@%bN9x&i zYjBAAX8nDq0EbFRT|EK&KsF4wPr{)--R0s4rPHJ5{d-E4WT=>x5i5|(U*X-v7fyLz zYunB{PD-s(ub2U)>2ke+mL5F~AfPkK1Kl5qqz_}&s)Q6H2B_e0dnKN-*pU^r zRS$xrdz<{zFLwjEv0A_xiHe$?XE5A0yud<$5!ioRN{MMgSo44EW`G_~N2&do0eQ%g z_H~%#+`m~)BD^souHpgYvR%bi_QR5AW;LUu@YHYulM;YJFIff&CPaZcEvM#B8Iy1&N;!vyz1Vu#=XC>^)EE}GV%RU@hXfq zMJrE%{fAJ(*4?AB76lyhQ^Wj?S~0+wL4kJD6;atRvQss34z7uchnW6=%EK z>f#9TuyT4qOr``C^fLQK-#cf`AG(%H+E{#k;IxCFRH)l$;1Eu4+3zcI4%uavH&R;x zSf_?3rSP4};xzZ-{-yypReAQAe*pO3)TO%51JnJKaAJDOm2#p`0jG)O)ZYG!F8!)j zh+AmftV1Y=M1~rki6DAO&7L{|m~SW5RNuU+ zqdF*jH}MG4>QU~*B`#HwB?PDeYVjN_?Umn;K3sW<0I6!U>aqMA#eNAYc=?;JW_%fe zv27Hig0vlodd3tPZd3phu2`;5Ht}#MNibNrUyMPd!0Q$|_Ag0}!hm%^{aj)Q5x_Pb zuioQ!1-x0)$&b9Nohlpy5(B%;MX8E*ex*auz*^R1h??^h2r&}iF)|{N8xhn*EeV6O zyS%N6ra2P}21@1XbYhlW5!^ba>OVNHt{|*jQU3s0b@9>Yg7<5A3{^WyjLQ6MF=gDy zj&&z_2;uW79#Zmz10%FIFx2jb$FJ1KW75Ctq+;_Igb5xrZzcp3KK1a`E`0*Gy=+%BR=+h2n9DmAL*4rG=zg_#teC zdszN@N1Yv1J<5J%%1G;(^iSNQencRS8wTZm7jSpj`x4nf>yzw%uyJ5|J+&(sl`2%M zYB-kBS=X0D3@G%?_n9__XtV0igD4)_nomN0s&9JrFS35+Oncb)xrxPDMwRA&5}vz# z32RthIDI+wSO5S9fQc*fTZwcsz7A&>bIaSK`w?LkZLNJ}L@Ol8+v*hi$`tP3>2ie~ z?pN79peW->V7rRIQ?iT3Qb65~Y(Ou)Hc&y(_mdpzY?ptM@HobO*p!;&(Vj{ZNnWkc969EYIIV|FC~FW2S{ zHK$Q$5B5yWpeo?2m%yOyN2mkfqQQU~2XCcfZBBAo_##1?nTx@VP1o=I7^QWJ&$^Pt zSr(?h37w-_1+)E6uZd|;ST-k7mh_$(dlQma!B0~o;(Ah2z;*PTv0bA>)c*h&WD=|r z&7%WwmCk2-_&5A7@Z8pjFr>0l-@D>a+LM;xrzu87dP+Z&3`Ns7_usg$wkreu)8qygGw&q=J^2UlO-liW%14JSfb;H{M!D znqKnsLh7!`i?YYOyYbp?jrQhbvvST)d4butGVSv*Jt2`2=o*X5UfXX}d6`U75HW-l`qt*2GnDkQIIQB_+WYku(SB%w&?EPjq- zVv54<9go5DF^A<^_NVR%X`IkMOi)&PU%g9==(E#&b?p~oOFBhcB@4pp{KUxB>I*$I zdrGPc8j5VPwY$|$C$@#^2T}QnJ`j72$E#%LQ1q9@CNMb$^yK(vSUN(%z0w~U(ShsX?wnoqSEvmy3 zhkawUy|hrHP+T&{tjBCDu*bMhN$Wje*D~%bu11)s`;>!8$+P{I2f9T&2lt|&+FtzM zF-)O>>56MH>k8g3I>O6}qRz0+80jn(XR9sH@du@cekEwDl$Cw#f4{mz0{%&dQ`Q)x z;$MO-9Vd_dmNcEg57Sj z)y%0(sZqY}IUcg%{INvsn+OzHbXVJ76JoDR_NEMmM(q2<76YinhCc#neGH&)LD0+Z zsEvktxqamlxHbRUjo6(}M^LMKOWuL0&c0mxsI{{S7J0007j zmGc)`Jwcga%YPe0M^+jA$MrLT+ArCo<{noIxr5ZK9(^KZD;e?Iecbqnj$(A0L4-F@ z14_PU)$H|1=nY#BW1-lY{MIFax~YEgO^Sl48q25Ghzn2!O<|N{&7fbXU4tQR?!039 z!LUW0TuZg(30kqXk9cS{P6k86?oIV?BHXw&B9W{jKMMeDC-8}SRQ#a7Abr7@Ec&0x z9g~l_VaMPx_}V?;txbD4)O-H`u~#q;{Z8;i1aIMEUQSs@aS;M16DL`If&GlHw21I! zrsB^G@L|v3wkyTKdPLt7iBM3)yCt$AXD*~>JS!M%mKGKF$Qw(Q9w2$&;`gC0VEszh zCyCx8s@l56jAOF~nxH$ds>?@s9m<%fCNJi5wqI6nnP~Dcd`9g!mh>M;M-!2|aUukX!-a{4)DXzO4^tRhPuC#aC%f;ufrM-Fb9+ z%&#4nnuQI1}s1ma?w*@F8hjqxJ?BU(d zV{)wTwz+v%m%BR+q8~9MQqTeDH3mjFq&@q+9%_*s2o6c_7ns@-_ua_>Hh%Jqya;6ojUqHsxw$N)lNsvKLp1ZZc2mf zx|JoTiFlZQbqIV30mZP0qpVu+FSqTBx4Ri)W40~yjU zU5|pkV_43Be6Q*_P=7iifPlKL`dA~d$$b9+(lsrFM-W$a!-Tgxm+9*SD;KH2TRTQS z_70xVXwG@4sIvWG*PfRE+ElFdYy11sUmAIt?Ox>19Lr8SPae|_Cx$mW@fyz^W^ryH z0ferRRn9y_#{5M~!u6bVbdB4yyb3PtmwU_e4Cy78IgT+c%%@p_1aX4&G)s*-)TAup z_3f$33N-wfl*&vtzsRm>$NN+nctf||d%R%ynu&T0B8%vWNR}Sif5?S}^*LZ$12~jQ zltM%Ug7)}|d9Npfe)S5ANwb0A)Z9pbL=q);ovFXH*t4MeQ}Ype<0sMo0A<#gX$uFN z58r5wO}c^Sm*d0&AkY;mC+4L)q&e^#ooj9iSFVqkV?tKDSG%|H60MahH8BRQ*dAgs z$SyV6mzECfyNph@8FNl?|3^s(5!U^nrXVN|EE67ugSp3SOL8 zzTx)|Ci<7k$IN;mvXt^}UlbOBYS41_g1XF$PCxKYI>bj;GL&$3dVjcB+OSFLSpNWZ zk657&Xb|Z|4^HzE>E+8KsCuHHRJQa$RngvM;sVy@5Wt;Ws=lgPokWG^`=ElC7+=^GI*&TT`*AKc+|qv?VxA~KzPEfzY#OZl zFSv@`%YQNP19IKJSsiuFKP+PaE~O2K%Rkh-FHVl_J-G>cVf7UQw!b(1h&u}NP@ro{ z^$`C502EgldrdIvXnU|n0Cf-5&csGfR0&H&`MNzDM{-kE&w=wY-@+8WrDz`s_8*vu z?&sNIluxJ92&JdpaUg7jruOA51t*mXiSNw?caG5yC>_wrmP|$T+~^$5aR^9sSQWdN zowpl=C75X94y~z!i|YoQ&MNQB^uI7fmwNvIv&P-^{`Z_47FYb4#blVPBjieNPo!O0 ztxuDrD%)qYy$Q^#R9^4*?pjsXYMZ~AprRcZrpGZ=4)~~Q<=<&n);Qc9Jz-N8#)c87 z;D|xd=!RN4Mp$gE*DPL-vID-dk%}^JVIPY<7mTKQO{cj`uBhen?Ee6=jO@X$**+G} z(+|(@f-a|ihM$>O!#goG(cWkNL<+Lb8(*X5EJdxQzW)G%5Oq(6XtknN_TkFC{Q6wB z(SM_FtN;K90Z>{mpfdE;=L6GU5|BN_zV!N*-JvG^8n2m&X!mFyy7_{#in7a~8+=Q; zo%9vyqvz6IIhjWMio^4sE6ufxKwTc0pJ%)!+O z+`qAp(hYBW(Rt6LtW@yF{9isJ0S1JA+hB=eCsY3bjZLrtN}yj@K8+l_Lo>au->Uw! zaW+7S)>jg$CT~#(o}jm>Z$Zla(GTDaT|2Qp+`k2#wsZ)4R7_G^MEweH+>M?X9~8e3 zaN-mYJl9j}#HE9c8CNJ$pcFe8pip=dahlm{syJa8vr{mXvCT$338{2_BsK?+(konl zg!ZMu)P68ai|v^Fw>F+ynsj@Spd)4U1|t5OQv5? z+DFm%QC%mY^>WNNV$kMaVsrgPW7u8~!C`_@pwH}`Aa9NR!wx(@0bDO>eo2m)Vdd<{ z(Ds(Y7gy0CZt5EoGBdb&fr_nlnex=fNH%6)mgO8d?;h9bFw=h0oxFFAcA3n>k@k-n z#qL{p%)*;K<%U_lW-wN2>zFia)@PAWD3c@=I(|%kVTDmnUSmZ8Oy`)fM>v6fiIxCc z4j!{DBI|P!v(nM(&a}i)>cA}##XuG@z(;6`Z@1``b*pdn)?bnJHR|gwMi~aE>xfFw z=&E`)&KO54_XO!>LLRn#MuXd$-ZM|kwlCPAv#m@EeN|rMFahwytWQYU6et@_1h0@? zeJ3y1cmyY);Qs(R+}4l548Z0+ATOm0|505v)&|HnINtA?00C1Zs(Psk?>LG20OqM9+JNSo0a$rsahzj zEB2j?_<$V@RCW$N`m&>$ZM&$a+=daI{{Usm2D%GJ&HkY8cND*M9Bd;007K?eyRT_? z8g}1W)E|n#P#z=r=2W71gxxFX)LT;pVL^GSip<3u@o1;g5L0JN}o6K@CK@!GOyH`K-tDnZ{*# z#^%5sdIQ-%u?LGBp1OyArw}T!4c$hatj+`iByss8CHb7Wczzg`j)Iz3C!`$JBK8yq z$IQiebf0&ht-&7EhwUN{7hlp4%i6 zxt?xbUa_6VEg$4NC!}d}b0l-AovIcp4a5gWa}jBbj{5z}6Nuu|-f@cbo+9+zSdL>l z(804ig71)w7Uz7x(41*yDtX#J*h+P{yg_v1jS`@!baMJ`Q-d3Ywe6@>rUy6&e=!s( zuekL}E;h@s4`Q!ZSy`#){=tguh0*H@S%!j-jm0f1`z$i*r&~%VFr}H#jlJvEc_15o zI6XfOn*3r^&R~mI6r=1`SFtbb7q7T7{k%rDy{ku5viE`$d=>L81rCGtDx-1@N?&C9G;`6X4K0Q8la^d3 zq~q~W_X=<^>UB`t8PLc|9QrXA01D7fdRXJkWC#?Xo7;_IJ(hx!*lj8Hhb3U$Ox)N{ zwg#5Ml452<-XH7X9glqXObp}oJDtb`2IM-2?DUk!%pQpwarlNah%Ym-5+q0vu^W_aj?S~OCE}&y8t*Xq z?={5UBDb2UW6jLjnd2R&-*~VwanEk^TMqr_0Iwh9?lIf<{{Uv{vrufaABHG#HG8I) z%&IK=Ul32WngU^tcF) zg-gX{mAsyYemVJtP+nC&&Hci!l309Qd_gfCN%V2;HUK$e12Xywh=2=KpomhQ0-lY& z2Y3X@vp=Du(q>c$&B~%BAPlO|N;G%i__y#ovGXqrT{;{GVx?S9H!2zc9f@}+6t_%$ zh=vOG{*^2W8`%0#`Hx0<7gX37>J?b+ zw*6Q7xRokYU@9G<9bhEayuEk{E~19O@bT7BNzq;RKzlJU@JUDmed<8+)qKEg?!yd2 zIF*=VP*$LIlt5uMCC9nRS4+*B~?>)zoC1vE`a5{{z5xKuovi|@EScI!H z48IfjeOYi`ibK3&>!>go0wrzj+GtN7?iyy!u6w}JE17wY$EnNBQ{ga2^Qmoh?Jnv2oh<(V*^0bAC%e{N?!3&2xqYuP{koGT{pC9j(|1|x{kh4- z%jDbEJKS7GyLW>){BU5FtVFRdR!}WEpvFeQuaEXriM7nN#Pw)*?wt{As8tD~BX13` znis1QZLaGO8?*{r=zqS@E`Zxdp#YM_;_yp?UH<@~=4&y*h&;{@+Z9nV`)tbiBYe69 z-+V1Ht~wM0oDf(Aym~xn7ao#L#YNUyhGEmyl?$lOMQPS2R2(Y=%mHRVVED zi^>v$!`6@T5U^=M_Gy*~9xsM|l+SWx0Xs9=ZUuV5wOyoD<#FRLX@Wqcr6*A3?%!&T zc(|DSG4m@jy2{2!Ptl*f6Kw9byuOA!z)%1f13?a;drf=HWp0#f(X--J9rH8lgW@)> zx)dGW6+!Bi^9r?c3GW)3@Exk?11s2xEgx16<40$&NMax`0YNGyO1PfClV(;_4yy~? zI;nL(>UqW?KmY>(aUEhMZauE0b%CTB{{SX2J{6~e$HYXnH@Wpe@ddgIq|wWujhdYL z+a9W%9E91k8EUEc?skofqBAZaYI9D35cIiK zxalw=a|XmXe*XaCHQFV?_;aYExs@9aQOAfWkaBdDUEwRmaLjy4CI+J8a{yw>DvQnM zg1GUfJI14-aZ|-HDA^g|jXX!^%t~M&(@iHy*Trd%7#F4>*?F8+f-bA=3S~7h+c7vX z>RAT+Baz;EPIFhy#@;Ke%cbu7N4W%bLn>jGk?RdL>n$$&O!9AnDrX*Ix0~%NROgF@ z7u?KN98DOGUhytrkWUP~SKkc}XrMzw?knU>wBYjUS`(}=dUE_tVuv~s)%Wy6yqCxO z1?T}Pf^yMU;yGkjb*IYyr4i|>&;0n7vR>=y3lM)sAhO*kZh_(E9j5PtY$e9LrYivQ zP(`3yW2LkMC{M z<1egjqaLbK3~pU6(IaPuqxxVqQN15W?mtdNK&MNm+HYuWQ|au-my*Wn{dF3SUS@d= z`VbHRz)G)4%+4YI0J9ekB4@myRRAqq1i&sfHoQLC^QlEPy8Q1>#yd^jO3?0CGKuQ~ zCrFSXvrgd2<7}$RX(%2AsQK>(ZvhwYpQw57@F&f_(dd8-@1-KQUB*^wJHhx3oNo6C_E)T zBRMn`9vT?lrPHAyTO5zsQz>HaN?KUqplx*HX&9Z=DBk14N_w0^Qjp&_6$dEz%n_=5 zAg;3X$x%38jm4?T1FlVS9bd}v5L7B%4zAHHP-;}jz93O%GrBUY>oF^stA@V&_W%?? z9?Fz?gG3XOWg9gVmn`OKxG(AqHR!l}MJp$mtRa+Sg^cd}M&6E4`w@)OKzNm4-{CM0 zDr&MSe^15LVH>@7g@VlVVh0cCjk;I4QyWbk;buzn0cR4>x5$$xj;3b#K&M;GS{21+ z8?T92To+dmwwie*@l@`2X740d9I&8tj+MbJJj=a*@AqinrUx!8XK}b-D(k#{C#244 z{9hZ&8eGv5)o6R$D4;w$dJuJ>`+meK3YPCrNub}bV2JMk>Y)DsW1KHE5WJwbtD21p zbszE`7f-2)l>?!PM%3YdW7%qXcP(J%^W1AHV=zT>PvDEmu zj=)!v`ITBJ%cuN<&wG{q)-Gw@YcU64S`^QuI2%ER-$qr6Dw@93{KW5|CRBEO^@5c4 zhL4*eumhm`AQ@*_Wu@u@pP5!bU`6CE??bypH9*SkyY>0UY1o}01F2cIr)2)b<}r{h zR)Fsf*C`%>ba#4nhmJk%UaIALva{M&;#2`iW5W>OTeiP?N-DLW59#@c;CWH{4gJal z>|uD?iUpRiMim_eoip~b_Aw}xE4SjYsZqYsKvV!)xCvuLfHb3*^!jh1qol;n|sYs8fEGDW+Z=&oRYB(o5Br@i|Fzajd7jM^dR1>44@`SjHoA zKw5l_uQNzrQ@iLDpxtryscRuo8XaD;{=nY{sBtR@&9^atzPqZKdFpUQ2PtbfoDmg(dUGlyIIq2R;sjCzc|8Hk z3pDg@VSe&M8p7o|`?4!1v#M>DcHPB?9538j2mbp+6u!2>F;J*lGsK z9Ru@kh?InJ?1%@_Q1rrNgFg|VQ~+AIq6*tbg^%<6Y*9uI1BhuMSY{ZRzG5&esF@c} zrFZYMxiq{ctJ81y(_gA*ZjaRppyhLkbrs4S zNba3q%k#5afb@EQu5~G6MIfbgn`DCXC?aD}QkWJKEKrx0Gm zcsrH)gflwmkmKEe85Pu+DOQfP`Iz}7J4-JPjMNv_BIk1kK3F%A^^6sUEMUiYx@WNw zdd}_@c_}v&tIxcnV|+}FxAiR=O=_UsD$CM&i-Q-v&*&>))g}U0FcQ!G5-KiZ3H>f-GZi1 zY#zL@Lp9Kdxb=vxD0&a}6tg-x{{WE9(7v+0wH&hmwj1>`syPsZV0JO+OwgCgxBftO z9+5OE&RKfDFdIy|>iCAoLUG@L{fLS5Pwhe|zLHa1o;zcM#lE1`Wjy}oi4|@s_Tc$p zp@5nfUJk!sFpdhntinRugTMTQsUW}@6COjW3Y!4hqxsT5(8#t=EJXthD!ryYB^lp^ z>xMVttM^Pxeyu)WI`fu2$xuy~8FhJl9~*(uYh-jf9f{g*YHw1yPe>VzIZeT_^KSdJ zcX0?Z%PVgpwy#zvNM=0DG4T(G^2dtrQkYR%wslMcBrYZXYc#_th-U{1eh)V0FXnQ9OR6yj4KDdBLc7g%mhTON^fseRCzHx!|2y2t8JFudnF@M#=}Z1 zC#0q>O;_%1%B^&P1l!AgzvN6Hp;b3H1EK(FHWBF=a`OTM2Sa|WOhDN5cJB6p)0tXd zJ}Oj-@cv3w9&-XWi(8BDt2<^9=c8YIe8ny;U3-umoy=ki)zDK6mTCrj#J3QL3e$ih zs^sBA`FD2lMpC*UR0lwqA{}V_cd5*J98XAqpaRu&MiW84qpS2joBpYVDlTd%5g$f& z-T=J~d_>{C5q&THAi{fsx6lum2MNH(mR~3Z*P?tzR;(Zls>Z8eHd7C1(ZStiBcG8k zE>HU$1;U|C;Otth%h7Xxxyi~8$~u}I+Y2yKEoeW48%Fg$rNH0OQuKDm9*chvi*PV#+&DMcjd0|NZqcpG4CH>Gw)O8E=CAG? zj$pphma)ac!zK>0wM04wCR%gP`7hV?F{2Ydg`-hl5K;@1!WvCMLe+txDaO$Y1I4jA zUCkvS0k!Ae0#fcQ=?qcSTtUcNIC^pU+>Z+ zhX6m>emusmvVTOW_Dr(*05)XC$WB8Cytx+4Qrm&R-fY`&uorU+Hr&ghz&LXKN?3FB znV)_r{{StFE?`>QE0tHipY|2atKucCTtYnq7h*S{@P31s#0jR~JO`XZzze6f=ZAyd zU{ReHxPrKtQhk4YOJFXp^8}*R(ShqYHP6l?_E$Ij0#g>QLj+8a8X$o(18F$2zzQgu z8KO0aH)(Ye)C+FW5`?*K%8RC*5y4KRvOe;OVc;$6znIPB)%`#07kB1Xoa4_g6CsD& z^yYCf*2me3cT=gFT|Knxd?(40_5QVrE`*A2W!6paRvvKx{~~v1c#S^xbew z-AcQGtD1)>;$KPN427N@#d_;KpiLuc!gqmEos8IKJNq=G`4VfKW)9`_LxO=a}FT0D11THV}`HEr|-OM3w2rQaKzFg z+c;LHV(wc-T}siMp79-X)s<;^=@lqKCe@>)G1;fI5YA8bV6NCb7&OUC7~2N6wo5z@ znU<@4AXZ$g$)a$Lp>OPZ&l7xlM_owYqtYwk;`x;9WAoNmKHZ@4{CEEV$>UL~xW`!B zZnL>eY#K%x!$(3Tlot-; zgv#`R<86&!uTSpKXk`^`9wC}4^I{yW7Z-vi1a1ppX91cUzg}QA;Rilps1tu-j5y`f}zsgzuA;Z?|I#Kp!FMjGu@*j;s;UFm>40FR4M_Lc#RgWSWxZh{9|PbC^P}7ir0R=^ht)MBoPg)Nvu2b* zlB_Pv?-?hQObz1uc8F^A3R5pTLdVZ&c?iYmJ|Dj^@6B~0CmI)-DY&{un$%CE|xN8lO&yO=;LC@YetEF`w_$8pZRDWg(3A>k`0yy2Pg&jCw})*IB_?Cu(rG JG#58>|JlMyLa6`% literal 0 HcmV?d00001 diff --git a/static/src/img/img_225_b_3.jpg b/static/src/img/img_225_b_3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f40d8033aa5c1586ef92939b11678faa98a38204 GIT binary patch literal 213654 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 literal 0 HcmV?d00001 diff --git a/static/src/img/img_229_b.jpg b/static/src/img/img_229_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_229_b_2.jpg b/static/src/img/img_229_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_241_b.jpg b/static/src/img/img_241_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_241_b_2.jpg b/static/src/img/img_241_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_241_b_3.jpg b/static/src/img/img_241_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_387_b.jpg b/static/src/img/img_387_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_387_b_2.jpg b/static/src/img/img_387_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_389_b.jpg b/static/src/img/img_389_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_389_b_2.jpg b/static/src/img/img_389_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_389_b_3.jpg b/static/src/img/img_389_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_4_b.jpg b/static/src/img/img_4_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_4_b_2.jpg b/static/src/img/img_4_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_5_b.jpg b/static/src/img/img_5_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_62_b.jpg b/static/src/img/img_62_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_62_b_2.jpg b/static/src/img/img_62_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_62_b_3.jpg b/static/src/img/img_62_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_63_b.jpg b/static/src/img/img_63_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_63_b_2.jpg b/static/src/img/img_63_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_63_b_3.jpg b/static/src/img/img_63_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_65_b.jpg b/static/src/img/img_65_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_65_b_2.jpg b/static/src/img/img_65_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_65_b_3.jpg b/static/src/img/img_65_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_66_b.jpg b/static/src/img/img_66_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_66_b_2.jpg b/static/src/img/img_66_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_66_b_3.jpg b/static/src/img/img_66_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_67_b.jpg b/static/src/img/img_67_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_68_b.jpg b/static/src/img/img_68_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_69_b.jpg b/static/src/img/img_69_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_70_b.jpg b/static/src/img/img_70_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_70_b_2.jpg b/static/src/img/img_70_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_71_b.jpg b/static/src/img/img_71_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_72_b.jpg b/static/src/img/img_72_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_72_b_2.jpg b/static/src/img/img_72_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_72_b_3.jpg b/static/src/img/img_72_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_73_b.jpg b/static/src/img/img_73_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_74_b.jpg b/static/src/img/img_74_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_74_b_2.jpg b/static/src/img/img_74_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_74_b_3.jpg b/static/src/img/img_74_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_76_b.jpg b/static/src/img/img_76_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_77_b.jpg b/static/src/img/img_77_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_78_b.jpg b/static/src/img/img_78_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_79_b.jpg b/static/src/img/img_79_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_79_b_2.jpg b/static/src/img/img_79_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_79_b_3.jpg b/static/src/img/img_79_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_81_b.jpg b/static/src/img/img_81_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_81_b_2.jpg b/static/src/img/img_81_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_81_b_3.jpg b/static/src/img/img_81_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_83_b.jpg b/static/src/img/img_83_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_84_b.jpg b/static/src/img/img_84_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_85_b.jpg b/static/src/img/img_85_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_86_b.jpg b/static/src/img/img_86_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_87_b.jpg b/static/src/img/img_87_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_88_b.jpg b/static/src/img/img_88_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_90_b.jpg b/static/src/img/img_90_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_90_b_2.jpg b/static/src/img/img_90_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_90_b_3.jpg b/static/src/img/img_90_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_91_b.jpg b/static/src/img/img_91_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_92_b.jpg b/static/src/img/img_92_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_92_b_3.jpg b/static/src/img/img_92_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_93_b.jpg b/static/src/img/img_93_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_94_b.jpg b/static/src/img/img_94_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_94_b_2.jpg b/static/src/img/img_94_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_94_b_3.jpg b/static/src/img/img_94_b_3.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_96_b.jpg b/static/src/img/img_96_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_97_b.jpg b/static/src/img/img_97_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_98_b.jpg b/static/src/img/img_98_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_98_b_2.jpg b/static/src/img/img_98_b_2.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/img_99_b.jpg b/static/src/img/img_99_b.jpg old mode 100644 new mode 100755 diff --git a/static/src/img/joyn.png b/static/src/img/joyn.png old mode 100644 new mode 100755 diff --git a/static/src/img/netflix.png b/static/src/img/netflix.png old mode 100644 new mode 100755 diff --git a/static/src/img/snippets/dss_container.svg b/static/src/img/snippets/dss_container.svg old mode 100644 new mode 100755 diff --git a/static/src/img/waipu.png b/static/src/img/waipu.png old mode 100644 new mode 100755 diff --git a/static/src/info.txt b/static/src/info.txt old mode 100644 new mode 100755 diff --git a/static/src/js/ace/info.txt b/static/src/js/ace/info.txt old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ace.js b/static/src/js/ace/src-noconflict/ace.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-beautify.js b/static/src/js/ace/src-noconflict/ext-beautify.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-code_lens.js b/static/src/js/ace/src-noconflict/ext-code_lens.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-command_bar.js b/static/src/js/ace/src-noconflict/ext-command_bar.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-diff.js b/static/src/js/ace/src-noconflict/ext-diff.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-elastic_tabstops_lite.js b/static/src/js/ace/src-noconflict/ext-elastic_tabstops_lite.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-emmet.js b/static/src/js/ace/src-noconflict/ext-emmet.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-error_marker.js b/static/src/js/ace/src-noconflict/ext-error_marker.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-hardwrap.js b/static/src/js/ace/src-noconflict/ext-hardwrap.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-inline_autocomplete.js b/static/src/js/ace/src-noconflict/ext-inline_autocomplete.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-keybinding_menu.js b/static/src/js/ace/src-noconflict/ext-keybinding_menu.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-language_tools.js b/static/src/js/ace/src-noconflict/ext-language_tools.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-linking.js b/static/src/js/ace/src-noconflict/ext-linking.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-modelist.js b/static/src/js/ace/src-noconflict/ext-modelist.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-options.js b/static/src/js/ace/src-noconflict/ext-options.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-prompt.js b/static/src/js/ace/src-noconflict/ext-prompt.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-rtl.js b/static/src/js/ace/src-noconflict/ext-rtl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-searchbox.js b/static/src/js/ace/src-noconflict/ext-searchbox.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-settings_menu.js b/static/src/js/ace/src-noconflict/ext-settings_menu.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-simple_tokenizer.js b/static/src/js/ace/src-noconflict/ext-simple_tokenizer.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-spellcheck.js b/static/src/js/ace/src-noconflict/ext-spellcheck.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-split.js b/static/src/js/ace/src-noconflict/ext-split.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-static_highlight.js b/static/src/js/ace/src-noconflict/ext-static_highlight.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-statusbar.js b/static/src/js/ace/src-noconflict/ext-statusbar.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-textarea.js b/static/src/js/ace/src-noconflict/ext-textarea.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-themelist.js b/static/src/js/ace/src-noconflict/ext-themelist.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/ext-whitespace.js b/static/src/js/ace/src-noconflict/ext-whitespace.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/info.txt b/static/src/js/ace/src-noconflict/info.txt old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/keybinding-emacs.js b/static/src/js/ace/src-noconflict/keybinding-emacs.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/keybinding-sublime.js b/static/src/js/ace/src-noconflict/keybinding-sublime.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/keybinding-vim.js b/static/src/js/ace/src-noconflict/keybinding-vim.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/keybinding-vscode.js b/static/src/js/ace/src-noconflict/keybinding-vscode.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-abap.js b/static/src/js/ace/src-noconflict/mode-abap.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-abc.js b/static/src/js/ace/src-noconflict/mode-abc.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-actionscript.js b/static/src/js/ace/src-noconflict/mode-actionscript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ada.js b/static/src/js/ace/src-noconflict/mode-ada.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-alda.js b/static/src/js/ace/src-noconflict/mode-alda.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-apache_conf.js b/static/src/js/ace/src-noconflict/mode-apache_conf.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-apex.js b/static/src/js/ace/src-noconflict/mode-apex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-applescript.js b/static/src/js/ace/src-noconflict/mode-applescript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-aql.js b/static/src/js/ace/src-noconflict/mode-aql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-asciidoc.js b/static/src/js/ace/src-noconflict/mode-asciidoc.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-asl.js b/static/src/js/ace/src-noconflict/mode-asl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-assembly_arm32.js b/static/src/js/ace/src-noconflict/mode-assembly_arm32.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-assembly_x86.js b/static/src/js/ace/src-noconflict/mode-assembly_x86.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-astro.js b/static/src/js/ace/src-noconflict/mode-astro.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-autohotkey.js b/static/src/js/ace/src-noconflict/mode-autohotkey.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-basic.js b/static/src/js/ace/src-noconflict/mode-basic.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-batchfile.js b/static/src/js/ace/src-noconflict/mode-batchfile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-bibtex.js b/static/src/js/ace/src-noconflict/mode-bibtex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-c9search.js b/static/src/js/ace/src-noconflict/mode-c9search.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-c_cpp.js b/static/src/js/ace/src-noconflict/mode-c_cpp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-cirru.js b/static/src/js/ace/src-noconflict/mode-cirru.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-clojure.js b/static/src/js/ace/src-noconflict/mode-clojure.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-clue.js b/static/src/js/ace/src-noconflict/mode-clue.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-cobol.js b/static/src/js/ace/src-noconflict/mode-cobol.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-coffee.js b/static/src/js/ace/src-noconflict/mode-coffee.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-coldfusion.js b/static/src/js/ace/src-noconflict/mode-coldfusion.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-crystal.js b/static/src/js/ace/src-noconflict/mode-crystal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-csharp.js b/static/src/js/ace/src-noconflict/mode-csharp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-csound_document.js b/static/src/js/ace/src-noconflict/mode-csound_document.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-csound_orchestra.js b/static/src/js/ace/src-noconflict/mode-csound_orchestra.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-csound_score.js b/static/src/js/ace/src-noconflict/mode-csound_score.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-csp.js b/static/src/js/ace/src-noconflict/mode-csp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-css.js b/static/src/js/ace/src-noconflict/mode-css.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-csv.js b/static/src/js/ace/src-noconflict/mode-csv.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-curly.js b/static/src/js/ace/src-noconflict/mode-curly.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-cuttlefish.js b/static/src/js/ace/src-noconflict/mode-cuttlefish.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-d.js b/static/src/js/ace/src-noconflict/mode-d.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-dart.js b/static/src/js/ace/src-noconflict/mode-dart.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-diff.js b/static/src/js/ace/src-noconflict/mode-diff.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-django.js b/static/src/js/ace/src-noconflict/mode-django.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-dockerfile.js b/static/src/js/ace/src-noconflict/mode-dockerfile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-dot.js b/static/src/js/ace/src-noconflict/mode-dot.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-drools.js b/static/src/js/ace/src-noconflict/mode-drools.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-edifact.js b/static/src/js/ace/src-noconflict/mode-edifact.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-eiffel.js b/static/src/js/ace/src-noconflict/mode-eiffel.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ejs.js b/static/src/js/ace/src-noconflict/mode-ejs.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-elixir.js b/static/src/js/ace/src-noconflict/mode-elixir.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-elm.js b/static/src/js/ace/src-noconflict/mode-elm.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-erlang.js b/static/src/js/ace/src-noconflict/mode-erlang.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-flix.js b/static/src/js/ace/src-noconflict/mode-flix.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-forth.js b/static/src/js/ace/src-noconflict/mode-forth.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-fortran.js b/static/src/js/ace/src-noconflict/mode-fortran.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-fsharp.js b/static/src/js/ace/src-noconflict/mode-fsharp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-fsl.js b/static/src/js/ace/src-noconflict/mode-fsl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ftl.js b/static/src/js/ace/src-noconflict/mode-ftl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-gcode.js b/static/src/js/ace/src-noconflict/mode-gcode.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-gherkin.js b/static/src/js/ace/src-noconflict/mode-gherkin.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-gitignore.js b/static/src/js/ace/src-noconflict/mode-gitignore.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-glsl.js b/static/src/js/ace/src-noconflict/mode-glsl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-gobstones.js b/static/src/js/ace/src-noconflict/mode-gobstones.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-golang.js b/static/src/js/ace/src-noconflict/mode-golang.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-graphqlschema.js b/static/src/js/ace/src-noconflict/mode-graphqlschema.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-groovy.js b/static/src/js/ace/src-noconflict/mode-groovy.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-haml.js b/static/src/js/ace/src-noconflict/mode-haml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-handlebars.js b/static/src/js/ace/src-noconflict/mode-handlebars.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-haskell.js b/static/src/js/ace/src-noconflict/mode-haskell.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-haskell_cabal.js b/static/src/js/ace/src-noconflict/mode-haskell_cabal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-haxe.js b/static/src/js/ace/src-noconflict/mode-haxe.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-hjson.js b/static/src/js/ace/src-noconflict/mode-hjson.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-html.js b/static/src/js/ace/src-noconflict/mode-html.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-html_elixir.js b/static/src/js/ace/src-noconflict/mode-html_elixir.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-html_ruby.js b/static/src/js/ace/src-noconflict/mode-html_ruby.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ini.js b/static/src/js/ace/src-noconflict/mode-ini.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-io.js b/static/src/js/ace/src-noconflict/mode-io.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ion.js b/static/src/js/ace/src-noconflict/mode-ion.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jack.js b/static/src/js/ace/src-noconflict/mode-jack.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jade.js b/static/src/js/ace/src-noconflict/mode-jade.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-java.js b/static/src/js/ace/src-noconflict/mode-java.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-javascript.js b/static/src/js/ace/src-noconflict/mode-javascript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jexl.js b/static/src/js/ace/src-noconflict/mode-jexl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-json.js b/static/src/js/ace/src-noconflict/mode-json.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-json5.js b/static/src/js/ace/src-noconflict/mode-json5.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jsoniq.js b/static/src/js/ace/src-noconflict/mode-jsoniq.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jsp.js b/static/src/js/ace/src-noconflict/mode-jsp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jssm.js b/static/src/js/ace/src-noconflict/mode-jssm.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-jsx.js b/static/src/js/ace/src-noconflict/mode-jsx.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-julia.js b/static/src/js/ace/src-noconflict/mode-julia.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-kotlin.js b/static/src/js/ace/src-noconflict/mode-kotlin.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-latex.js b/static/src/js/ace/src-noconflict/mode-latex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-latte.js b/static/src/js/ace/src-noconflict/mode-latte.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-less.js b/static/src/js/ace/src-noconflict/mode-less.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-liquid.js b/static/src/js/ace/src-noconflict/mode-liquid.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-lisp.js b/static/src/js/ace/src-noconflict/mode-lisp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-livescript.js b/static/src/js/ace/src-noconflict/mode-livescript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-logiql.js b/static/src/js/ace/src-noconflict/mode-logiql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-logtalk.js b/static/src/js/ace/src-noconflict/mode-logtalk.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-lsl.js b/static/src/js/ace/src-noconflict/mode-lsl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-lua.js b/static/src/js/ace/src-noconflict/mode-lua.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-luapage.js b/static/src/js/ace/src-noconflict/mode-luapage.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-lucene.js b/static/src/js/ace/src-noconflict/mode-lucene.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-makefile.js b/static/src/js/ace/src-noconflict/mode-makefile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-markdown.js b/static/src/js/ace/src-noconflict/mode-markdown.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mask.js b/static/src/js/ace/src-noconflict/mode-mask.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-matlab.js b/static/src/js/ace/src-noconflict/mode-matlab.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-maze.js b/static/src/js/ace/src-noconflict/mode-maze.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mediawiki.js b/static/src/js/ace/src-noconflict/mode-mediawiki.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mel.js b/static/src/js/ace/src-noconflict/mode-mel.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mips.js b/static/src/js/ace/src-noconflict/mode-mips.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mixal.js b/static/src/js/ace/src-noconflict/mode-mixal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mushcode.js b/static/src/js/ace/src-noconflict/mode-mushcode.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-mysql.js b/static/src/js/ace/src-noconflict/mode-mysql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-nasal.js b/static/src/js/ace/src-noconflict/mode-nasal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-nginx.js b/static/src/js/ace/src-noconflict/mode-nginx.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-nim.js b/static/src/js/ace/src-noconflict/mode-nim.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-nix.js b/static/src/js/ace/src-noconflict/mode-nix.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-nsis.js b/static/src/js/ace/src-noconflict/mode-nsis.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-nunjucks.js b/static/src/js/ace/src-noconflict/mode-nunjucks.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-objectivec.js b/static/src/js/ace/src-noconflict/mode-objectivec.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ocaml.js b/static/src/js/ace/src-noconflict/mode-ocaml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-odin.js b/static/src/js/ace/src-noconflict/mode-odin.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-partiql.js b/static/src/js/ace/src-noconflict/mode-partiql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-pascal.js b/static/src/js/ace/src-noconflict/mode-pascal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-perl.js b/static/src/js/ace/src-noconflict/mode-perl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-pgsql.js b/static/src/js/ace/src-noconflict/mode-pgsql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-php.js b/static/src/js/ace/src-noconflict/mode-php.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-php_laravel_blade.js b/static/src/js/ace/src-noconflict/mode-php_laravel_blade.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-pig.js b/static/src/js/ace/src-noconflict/mode-pig.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-plain_text.js b/static/src/js/ace/src-noconflict/mode-plain_text.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-plsql.js b/static/src/js/ace/src-noconflict/mode-plsql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-powershell.js b/static/src/js/ace/src-noconflict/mode-powershell.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-praat.js b/static/src/js/ace/src-noconflict/mode-praat.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-prisma.js b/static/src/js/ace/src-noconflict/mode-prisma.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-prolog.js b/static/src/js/ace/src-noconflict/mode-prolog.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-properties.js b/static/src/js/ace/src-noconflict/mode-properties.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-protobuf.js b/static/src/js/ace/src-noconflict/mode-protobuf.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-prql.js b/static/src/js/ace/src-noconflict/mode-prql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-puppet.js b/static/src/js/ace/src-noconflict/mode-puppet.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-python.js b/static/src/js/ace/src-noconflict/mode-python.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-qml.js b/static/src/js/ace/src-noconflict/mode-qml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-r.js b/static/src/js/ace/src-noconflict/mode-r.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-raku.js b/static/src/js/ace/src-noconflict/mode-raku.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-razor.js b/static/src/js/ace/src-noconflict/mode-razor.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-rdoc.js b/static/src/js/ace/src-noconflict/mode-rdoc.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-red.js b/static/src/js/ace/src-noconflict/mode-red.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-redshift.js b/static/src/js/ace/src-noconflict/mode-redshift.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-rhtml.js b/static/src/js/ace/src-noconflict/mode-rhtml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-robot.js b/static/src/js/ace/src-noconflict/mode-robot.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-rst.js b/static/src/js/ace/src-noconflict/mode-rst.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-ruby.js b/static/src/js/ace/src-noconflict/mode-ruby.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-rust.js b/static/src/js/ace/src-noconflict/mode-rust.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sac.js b/static/src/js/ace/src-noconflict/mode-sac.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sass.js b/static/src/js/ace/src-noconflict/mode-sass.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-scad.js b/static/src/js/ace/src-noconflict/mode-scad.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-scala.js b/static/src/js/ace/src-noconflict/mode-scala.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-scheme.js b/static/src/js/ace/src-noconflict/mode-scheme.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-scrypt.js b/static/src/js/ace/src-noconflict/mode-scrypt.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-scss.js b/static/src/js/ace/src-noconflict/mode-scss.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sh.js b/static/src/js/ace/src-noconflict/mode-sh.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sjs.js b/static/src/js/ace/src-noconflict/mode-sjs.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-slim.js b/static/src/js/ace/src-noconflict/mode-slim.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-smarty.js b/static/src/js/ace/src-noconflict/mode-smarty.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-smithy.js b/static/src/js/ace/src-noconflict/mode-smithy.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-snippets.js b/static/src/js/ace/src-noconflict/mode-snippets.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-soy_template.js b/static/src/js/ace/src-noconflict/mode-soy_template.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-space.js b/static/src/js/ace/src-noconflict/mode-space.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sparql.js b/static/src/js/ace/src-noconflict/mode-sparql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sql.js b/static/src/js/ace/src-noconflict/mode-sql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-sqlserver.js b/static/src/js/ace/src-noconflict/mode-sqlserver.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-stylus.js b/static/src/js/ace/src-noconflict/mode-stylus.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-svg.js b/static/src/js/ace/src-noconflict/mode-svg.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-swift.js b/static/src/js/ace/src-noconflict/mode-swift.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-tcl.js b/static/src/js/ace/src-noconflict/mode-tcl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-terraform.js b/static/src/js/ace/src-noconflict/mode-terraform.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-tex.js b/static/src/js/ace/src-noconflict/mode-tex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-text.js b/static/src/js/ace/src-noconflict/mode-text.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-textile.js b/static/src/js/ace/src-noconflict/mode-textile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-toml.js b/static/src/js/ace/src-noconflict/mode-toml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-tsv.js b/static/src/js/ace/src-noconflict/mode-tsv.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-tsx.js b/static/src/js/ace/src-noconflict/mode-tsx.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-turtle.js b/static/src/js/ace/src-noconflict/mode-turtle.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-twig.js b/static/src/js/ace/src-noconflict/mode-twig.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-typescript.js b/static/src/js/ace/src-noconflict/mode-typescript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-vala.js b/static/src/js/ace/src-noconflict/mode-vala.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-vbscript.js b/static/src/js/ace/src-noconflict/mode-vbscript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-velocity.js b/static/src/js/ace/src-noconflict/mode-velocity.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-verilog.js b/static/src/js/ace/src-noconflict/mode-verilog.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-vhdl.js b/static/src/js/ace/src-noconflict/mode-vhdl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-visualforce.js b/static/src/js/ace/src-noconflict/mode-visualforce.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-vue.js b/static/src/js/ace/src-noconflict/mode-vue.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-wollok.js b/static/src/js/ace/src-noconflict/mode-wollok.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-xml.js b/static/src/js/ace/src-noconflict/mode-xml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-xquery.js b/static/src/js/ace/src-noconflict/mode-xquery.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-yaml.js b/static/src/js/ace/src-noconflict/mode-yaml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-zeek.js b/static/src/js/ace/src-noconflict/mode-zeek.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/mode-zig.js b/static/src/js/ace/src-noconflict/mode-zig.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/abap.js b/static/src/js/ace/src-noconflict/snippets/abap.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/abc.js b/static/src/js/ace/src-noconflict/snippets/abc.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/actionscript.js b/static/src/js/ace/src-noconflict/snippets/actionscript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ada.js b/static/src/js/ace/src-noconflict/snippets/ada.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/alda.js b/static/src/js/ace/src-noconflict/snippets/alda.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/apache_conf.js b/static/src/js/ace/src-noconflict/snippets/apache_conf.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/apex.js b/static/src/js/ace/src-noconflict/snippets/apex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/applescript.js b/static/src/js/ace/src-noconflict/snippets/applescript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/aql.js b/static/src/js/ace/src-noconflict/snippets/aql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/asciidoc.js b/static/src/js/ace/src-noconflict/snippets/asciidoc.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/asl.js b/static/src/js/ace/src-noconflict/snippets/asl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/assembly_arm32.js b/static/src/js/ace/src-noconflict/snippets/assembly_arm32.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/assembly_x86.js b/static/src/js/ace/src-noconflict/snippets/assembly_x86.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/astro.js b/static/src/js/ace/src-noconflict/snippets/astro.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/autohotkey.js b/static/src/js/ace/src-noconflict/snippets/autohotkey.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/basic.js b/static/src/js/ace/src-noconflict/snippets/basic.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/batchfile.js b/static/src/js/ace/src-noconflict/snippets/batchfile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/bibtex.js b/static/src/js/ace/src-noconflict/snippets/bibtex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/c9search.js b/static/src/js/ace/src-noconflict/snippets/c9search.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/c_cpp.js b/static/src/js/ace/src-noconflict/snippets/c_cpp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/cirru.js b/static/src/js/ace/src-noconflict/snippets/cirru.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/clojure.js b/static/src/js/ace/src-noconflict/snippets/clojure.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/clue.js b/static/src/js/ace/src-noconflict/snippets/clue.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/cobol.js b/static/src/js/ace/src-noconflict/snippets/cobol.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/coffee.js b/static/src/js/ace/src-noconflict/snippets/coffee.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/coldfusion.js b/static/src/js/ace/src-noconflict/snippets/coldfusion.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/crystal.js b/static/src/js/ace/src-noconflict/snippets/crystal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/csharp.js b/static/src/js/ace/src-noconflict/snippets/csharp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/csound_document.js b/static/src/js/ace/src-noconflict/snippets/csound_document.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/csound_orchestra.js b/static/src/js/ace/src-noconflict/snippets/csound_orchestra.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/csound_score.js b/static/src/js/ace/src-noconflict/snippets/csound_score.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/csp.js b/static/src/js/ace/src-noconflict/snippets/csp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/css.js b/static/src/js/ace/src-noconflict/snippets/css.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/csv.js b/static/src/js/ace/src-noconflict/snippets/csv.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/curly.js b/static/src/js/ace/src-noconflict/snippets/curly.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/cuttlefish.js b/static/src/js/ace/src-noconflict/snippets/cuttlefish.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/d.js b/static/src/js/ace/src-noconflict/snippets/d.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/dart.js b/static/src/js/ace/src-noconflict/snippets/dart.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/diff.js b/static/src/js/ace/src-noconflict/snippets/diff.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/django.js b/static/src/js/ace/src-noconflict/snippets/django.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/dockerfile.js b/static/src/js/ace/src-noconflict/snippets/dockerfile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/dot.js b/static/src/js/ace/src-noconflict/snippets/dot.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/drools.js b/static/src/js/ace/src-noconflict/snippets/drools.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/edifact.js b/static/src/js/ace/src-noconflict/snippets/edifact.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/eiffel.js b/static/src/js/ace/src-noconflict/snippets/eiffel.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ejs.js b/static/src/js/ace/src-noconflict/snippets/ejs.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/elixir.js b/static/src/js/ace/src-noconflict/snippets/elixir.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/elm.js b/static/src/js/ace/src-noconflict/snippets/elm.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/erlang.js b/static/src/js/ace/src-noconflict/snippets/erlang.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/flix.js b/static/src/js/ace/src-noconflict/snippets/flix.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/forth.js b/static/src/js/ace/src-noconflict/snippets/forth.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/fortran.js b/static/src/js/ace/src-noconflict/snippets/fortran.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/fsharp.js b/static/src/js/ace/src-noconflict/snippets/fsharp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/fsl.js b/static/src/js/ace/src-noconflict/snippets/fsl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ftl.js b/static/src/js/ace/src-noconflict/snippets/ftl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/gcode.js b/static/src/js/ace/src-noconflict/snippets/gcode.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/gherkin.js b/static/src/js/ace/src-noconflict/snippets/gherkin.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/gitignore.js b/static/src/js/ace/src-noconflict/snippets/gitignore.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/glsl.js b/static/src/js/ace/src-noconflict/snippets/glsl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/gobstones.js b/static/src/js/ace/src-noconflict/snippets/gobstones.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/golang.js b/static/src/js/ace/src-noconflict/snippets/golang.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/graphqlschema.js b/static/src/js/ace/src-noconflict/snippets/graphqlschema.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/groovy.js b/static/src/js/ace/src-noconflict/snippets/groovy.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/haml.js b/static/src/js/ace/src-noconflict/snippets/haml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/handlebars.js b/static/src/js/ace/src-noconflict/snippets/handlebars.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/haskell.js b/static/src/js/ace/src-noconflict/snippets/haskell.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/haskell_cabal.js b/static/src/js/ace/src-noconflict/snippets/haskell_cabal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/haxe.js b/static/src/js/ace/src-noconflict/snippets/haxe.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/hjson.js b/static/src/js/ace/src-noconflict/snippets/hjson.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/html.js b/static/src/js/ace/src-noconflict/snippets/html.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/html_elixir.js b/static/src/js/ace/src-noconflict/snippets/html_elixir.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/html_ruby.js b/static/src/js/ace/src-noconflict/snippets/html_ruby.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ini.js b/static/src/js/ace/src-noconflict/snippets/ini.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/io.js b/static/src/js/ace/src-noconflict/snippets/io.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ion.js b/static/src/js/ace/src-noconflict/snippets/ion.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jack.js b/static/src/js/ace/src-noconflict/snippets/jack.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jade.js b/static/src/js/ace/src-noconflict/snippets/jade.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/java.js b/static/src/js/ace/src-noconflict/snippets/java.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/javascript.js b/static/src/js/ace/src-noconflict/snippets/javascript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jexl.js b/static/src/js/ace/src-noconflict/snippets/jexl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/json.js b/static/src/js/ace/src-noconflict/snippets/json.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/json5.js b/static/src/js/ace/src-noconflict/snippets/json5.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jsoniq.js b/static/src/js/ace/src-noconflict/snippets/jsoniq.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jsp.js b/static/src/js/ace/src-noconflict/snippets/jsp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jssm.js b/static/src/js/ace/src-noconflict/snippets/jssm.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/jsx.js b/static/src/js/ace/src-noconflict/snippets/jsx.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/julia.js b/static/src/js/ace/src-noconflict/snippets/julia.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/kotlin.js b/static/src/js/ace/src-noconflict/snippets/kotlin.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/latex.js b/static/src/js/ace/src-noconflict/snippets/latex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/latte.js b/static/src/js/ace/src-noconflict/snippets/latte.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/less.js b/static/src/js/ace/src-noconflict/snippets/less.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/liquid.js b/static/src/js/ace/src-noconflict/snippets/liquid.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/lisp.js b/static/src/js/ace/src-noconflict/snippets/lisp.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/livescript.js b/static/src/js/ace/src-noconflict/snippets/livescript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/logiql.js b/static/src/js/ace/src-noconflict/snippets/logiql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/logtalk.js b/static/src/js/ace/src-noconflict/snippets/logtalk.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/lsl.js b/static/src/js/ace/src-noconflict/snippets/lsl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/lua.js b/static/src/js/ace/src-noconflict/snippets/lua.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/luapage.js b/static/src/js/ace/src-noconflict/snippets/luapage.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/lucene.js b/static/src/js/ace/src-noconflict/snippets/lucene.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/makefile.js b/static/src/js/ace/src-noconflict/snippets/makefile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/markdown.js b/static/src/js/ace/src-noconflict/snippets/markdown.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mask.js b/static/src/js/ace/src-noconflict/snippets/mask.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/matlab.js b/static/src/js/ace/src-noconflict/snippets/matlab.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/maze.js b/static/src/js/ace/src-noconflict/snippets/maze.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mediawiki.js b/static/src/js/ace/src-noconflict/snippets/mediawiki.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mel.js b/static/src/js/ace/src-noconflict/snippets/mel.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mips.js b/static/src/js/ace/src-noconflict/snippets/mips.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mixal.js b/static/src/js/ace/src-noconflict/snippets/mixal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mushcode.js b/static/src/js/ace/src-noconflict/snippets/mushcode.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/mysql.js b/static/src/js/ace/src-noconflict/snippets/mysql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/nasal.js b/static/src/js/ace/src-noconflict/snippets/nasal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/nginx.js b/static/src/js/ace/src-noconflict/snippets/nginx.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/nim.js b/static/src/js/ace/src-noconflict/snippets/nim.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/nix.js b/static/src/js/ace/src-noconflict/snippets/nix.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/nsis.js b/static/src/js/ace/src-noconflict/snippets/nsis.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/nunjucks.js b/static/src/js/ace/src-noconflict/snippets/nunjucks.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/objectivec.js b/static/src/js/ace/src-noconflict/snippets/objectivec.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ocaml.js b/static/src/js/ace/src-noconflict/snippets/ocaml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/odin.js b/static/src/js/ace/src-noconflict/snippets/odin.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/partiql.js b/static/src/js/ace/src-noconflict/snippets/partiql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/pascal.js b/static/src/js/ace/src-noconflict/snippets/pascal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/perl.js b/static/src/js/ace/src-noconflict/snippets/perl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/pgsql.js b/static/src/js/ace/src-noconflict/snippets/pgsql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/php.js b/static/src/js/ace/src-noconflict/snippets/php.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/php_laravel_blade.js b/static/src/js/ace/src-noconflict/snippets/php_laravel_blade.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/pig.js b/static/src/js/ace/src-noconflict/snippets/pig.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/plain_text.js b/static/src/js/ace/src-noconflict/snippets/plain_text.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/plsql.js b/static/src/js/ace/src-noconflict/snippets/plsql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/powershell.js b/static/src/js/ace/src-noconflict/snippets/powershell.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/praat.js b/static/src/js/ace/src-noconflict/snippets/praat.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/prisma.js b/static/src/js/ace/src-noconflict/snippets/prisma.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/prolog.js b/static/src/js/ace/src-noconflict/snippets/prolog.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/properties.js b/static/src/js/ace/src-noconflict/snippets/properties.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/protobuf.js b/static/src/js/ace/src-noconflict/snippets/protobuf.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/prql.js b/static/src/js/ace/src-noconflict/snippets/prql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/puppet.js b/static/src/js/ace/src-noconflict/snippets/puppet.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/python.js b/static/src/js/ace/src-noconflict/snippets/python.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/qml.js b/static/src/js/ace/src-noconflict/snippets/qml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/r.js b/static/src/js/ace/src-noconflict/snippets/r.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/raku.js b/static/src/js/ace/src-noconflict/snippets/raku.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/razor.js b/static/src/js/ace/src-noconflict/snippets/razor.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/rdoc.js b/static/src/js/ace/src-noconflict/snippets/rdoc.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/red.js b/static/src/js/ace/src-noconflict/snippets/red.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/redshift.js b/static/src/js/ace/src-noconflict/snippets/redshift.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/rhtml.js b/static/src/js/ace/src-noconflict/snippets/rhtml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/robot.js b/static/src/js/ace/src-noconflict/snippets/robot.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/rst.js b/static/src/js/ace/src-noconflict/snippets/rst.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/ruby.js b/static/src/js/ace/src-noconflict/snippets/ruby.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/rust.js b/static/src/js/ace/src-noconflict/snippets/rust.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sac.js b/static/src/js/ace/src-noconflict/snippets/sac.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sass.js b/static/src/js/ace/src-noconflict/snippets/sass.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/scad.js b/static/src/js/ace/src-noconflict/snippets/scad.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/scala.js b/static/src/js/ace/src-noconflict/snippets/scala.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/scheme.js b/static/src/js/ace/src-noconflict/snippets/scheme.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/scrypt.js b/static/src/js/ace/src-noconflict/snippets/scrypt.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/scss.js b/static/src/js/ace/src-noconflict/snippets/scss.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sh.js b/static/src/js/ace/src-noconflict/snippets/sh.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sjs.js b/static/src/js/ace/src-noconflict/snippets/sjs.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/slim.js b/static/src/js/ace/src-noconflict/snippets/slim.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/smarty.js b/static/src/js/ace/src-noconflict/snippets/smarty.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/smithy.js b/static/src/js/ace/src-noconflict/snippets/smithy.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/snippets.js b/static/src/js/ace/src-noconflict/snippets/snippets.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/soy_template.js b/static/src/js/ace/src-noconflict/snippets/soy_template.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/space.js b/static/src/js/ace/src-noconflict/snippets/space.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sparql.js b/static/src/js/ace/src-noconflict/snippets/sparql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sql.js b/static/src/js/ace/src-noconflict/snippets/sql.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/sqlserver.js b/static/src/js/ace/src-noconflict/snippets/sqlserver.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/stylus.js b/static/src/js/ace/src-noconflict/snippets/stylus.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/svg.js b/static/src/js/ace/src-noconflict/snippets/svg.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/swift.js b/static/src/js/ace/src-noconflict/snippets/swift.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/tcl.js b/static/src/js/ace/src-noconflict/snippets/tcl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/terraform.js b/static/src/js/ace/src-noconflict/snippets/terraform.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/tex.js b/static/src/js/ace/src-noconflict/snippets/tex.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/text.js b/static/src/js/ace/src-noconflict/snippets/text.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/textile.js b/static/src/js/ace/src-noconflict/snippets/textile.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/toml.js b/static/src/js/ace/src-noconflict/snippets/toml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/tsv.js b/static/src/js/ace/src-noconflict/snippets/tsv.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/tsx.js b/static/src/js/ace/src-noconflict/snippets/tsx.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/turtle.js b/static/src/js/ace/src-noconflict/snippets/turtle.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/twig.js b/static/src/js/ace/src-noconflict/snippets/twig.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/typescript.js b/static/src/js/ace/src-noconflict/snippets/typescript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/vala.js b/static/src/js/ace/src-noconflict/snippets/vala.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/vbscript.js b/static/src/js/ace/src-noconflict/snippets/vbscript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/velocity.js b/static/src/js/ace/src-noconflict/snippets/velocity.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/verilog.js b/static/src/js/ace/src-noconflict/snippets/verilog.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/vhdl.js b/static/src/js/ace/src-noconflict/snippets/vhdl.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/visualforce.js b/static/src/js/ace/src-noconflict/snippets/visualforce.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/vue.js b/static/src/js/ace/src-noconflict/snippets/vue.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/wollok.js b/static/src/js/ace/src-noconflict/snippets/wollok.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/xml.js b/static/src/js/ace/src-noconflict/snippets/xml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/xquery.js b/static/src/js/ace/src-noconflict/snippets/xquery.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/yaml.js b/static/src/js/ace/src-noconflict/snippets/yaml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/zeek.js b/static/src/js/ace/src-noconflict/snippets/zeek.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/snippets/zig.js b/static/src/js/ace/src-noconflict/snippets/zig.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-ambiance.js b/static/src/js/ace/src-noconflict/theme-ambiance.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-chaos.js b/static/src/js/ace/src-noconflict/theme-chaos.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-chrome.js b/static/src/js/ace/src-noconflict/theme-chrome.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-cloud9_day.js b/static/src/js/ace/src-noconflict/theme-cloud9_day.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-cloud9_night.js b/static/src/js/ace/src-noconflict/theme-cloud9_night.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-cloud9_night_low_color.js b/static/src/js/ace/src-noconflict/theme-cloud9_night_low_color.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-cloud_editor.js b/static/src/js/ace/src-noconflict/theme-cloud_editor.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-cloud_editor_dark.js b/static/src/js/ace/src-noconflict/theme-cloud_editor_dark.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-clouds.js b/static/src/js/ace/src-noconflict/theme-clouds.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-clouds_midnight.js b/static/src/js/ace/src-noconflict/theme-clouds_midnight.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-cobalt.js b/static/src/js/ace/src-noconflict/theme-cobalt.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-crimson_editor.js b/static/src/js/ace/src-noconflict/theme-crimson_editor.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-dawn.js b/static/src/js/ace/src-noconflict/theme-dawn.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-dracula.js b/static/src/js/ace/src-noconflict/theme-dracula.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-dreamweaver.js b/static/src/js/ace/src-noconflict/theme-dreamweaver.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-eclipse.js b/static/src/js/ace/src-noconflict/theme-eclipse.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-github.js b/static/src/js/ace/src-noconflict/theme-github.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-github_dark.js b/static/src/js/ace/src-noconflict/theme-github_dark.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-github_light_default.js b/static/src/js/ace/src-noconflict/theme-github_light_default.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-gob.js b/static/src/js/ace/src-noconflict/theme-gob.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-gruvbox.js b/static/src/js/ace/src-noconflict/theme-gruvbox.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-gruvbox_dark_hard.js b/static/src/js/ace/src-noconflict/theme-gruvbox_dark_hard.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-gruvbox_light_hard.js b/static/src/js/ace/src-noconflict/theme-gruvbox_light_hard.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-idle_fingers.js b/static/src/js/ace/src-noconflict/theme-idle_fingers.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-iplastic.js b/static/src/js/ace/src-noconflict/theme-iplastic.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-katzenmilch.js b/static/src/js/ace/src-noconflict/theme-katzenmilch.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-kr_theme.js b/static/src/js/ace/src-noconflict/theme-kr_theme.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-kuroir.js b/static/src/js/ace/src-noconflict/theme-kuroir.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-merbivore.js b/static/src/js/ace/src-noconflict/theme-merbivore.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-merbivore_soft.js b/static/src/js/ace/src-noconflict/theme-merbivore_soft.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-mono_industrial.js b/static/src/js/ace/src-noconflict/theme-mono_industrial.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-monokai.js b/static/src/js/ace/src-noconflict/theme-monokai.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-nord_dark.js b/static/src/js/ace/src-noconflict/theme-nord_dark.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-one_dark.js b/static/src/js/ace/src-noconflict/theme-one_dark.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-pastel_on_dark.js b/static/src/js/ace/src-noconflict/theme-pastel_on_dark.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-solarized_dark.js b/static/src/js/ace/src-noconflict/theme-solarized_dark.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-solarized_light.js b/static/src/js/ace/src-noconflict/theme-solarized_light.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-sqlserver.js b/static/src/js/ace/src-noconflict/theme-sqlserver.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-terminal.js b/static/src/js/ace/src-noconflict/theme-terminal.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-textmate.js b/static/src/js/ace/src-noconflict/theme-textmate.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-tomorrow.js b/static/src/js/ace/src-noconflict/theme-tomorrow.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-tomorrow_night.js b/static/src/js/ace/src-noconflict/theme-tomorrow_night.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-tomorrow_night_blue.js b/static/src/js/ace/src-noconflict/theme-tomorrow_night_blue.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-tomorrow_night_bright.js b/static/src/js/ace/src-noconflict/theme-tomorrow_night_bright.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-tomorrow_night_eighties.js b/static/src/js/ace/src-noconflict/theme-tomorrow_night_eighties.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-twilight.js b/static/src/js/ace/src-noconflict/theme-twilight.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-vibrant_ink.js b/static/src/js/ace/src-noconflict/theme-vibrant_ink.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/theme-xcode.js b/static/src/js/ace/src-noconflict/theme-xcode.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-base.js b/static/src/js/ace/src-noconflict/worker-base.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-coffee.js b/static/src/js/ace/src-noconflict/worker-coffee.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-css.js b/static/src/js/ace/src-noconflict/worker-css.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-html.js b/static/src/js/ace/src-noconflict/worker-html.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-javascript.js b/static/src/js/ace/src-noconflict/worker-javascript.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-json.js b/static/src/js/ace/src-noconflict/worker-json.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-lua.js b/static/src/js/ace/src-noconflict/worker-lua.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-php.js b/static/src/js/ace/src-noconflict/worker-php.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-xml.js b/static/src/js/ace/src-noconflict/worker-xml.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-xquery.js b/static/src/js/ace/src-noconflict/worker-xquery.js old mode 100644 new mode 100755 diff --git a/static/src/js/ace/src-noconflict/worker-yaml.js b/static/src/js/ace/src-noconflict/worker-yaml.js old mode 100644 new mode 100755 diff --git a/static/src/js/blockly_blocks.js b/static/src/js/blockly_blocks.js old mode 100644 new mode 100755 diff --git a/static/src/js/dss_crm_extended_ki_leads.js b/static/src/js/dss_crm_extended_ki_leads.js old mode 100644 new mode 100755 diff --git a/static/src/js/dss_form_submit.js b/static/src/js/dss_form_submit.js old mode 100644 new mode 100755 diff --git a/static/src/js/dss_google_map.js b/static/src/js/dss_google_map.js index 7ef788f..e4b3d9e 100755 --- a/static/src/js/dss_google_map.js +++ b/static/src/js/dss_google_map.js @@ -40,105 +40,106 @@ function initialize_map() { } infoWindow.setContent( - '

' + - '
' + - (partner_url.length ? '' + p.google_name + '' : '' + p.google_name + '
: ') + - '
' + - '
' + - '' + - '' + - '
    ' + - '
  • ' + - '
    ' + - (p.google_image ? '


    ' : '') + - '
    ' + - '
  • '+ - '
  • ' + - '
    ' + - (p.google_image_2 ? '


    ' : '') + - '
    ' + - '
  • '+ - '
  • ' + - '
' + - '
' + - '
' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + FFS + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '
Anzeigesystem' + - (p.google_typ ? '
' + p.google_typ + '' : '') + - '
Interaktiv' + - (p.google_typ_interactive ? '
' + p.google_typ_interactive + '' : '') + - '
Besucherzahl' + - (p.google_visitors ? '
' + p.google_visitors + '' : '') + - '
Anzeigetyp' + - (p.google_displaytyp ? '
' + p.google_displaytyp + '' : '') + - '
Anzeigegrösse' + - (p.google_displaysize ? '
' + p.google_displaysize + '' : '') + - '
Mögliche Werbeart 1 ' + - (p.google_displayflaechen_a ? '
' + p.google_displayflaechen_a + '' : '') + - '
Werbeart 1 Verfügbar ?' + - (p.google_displayflaechen_a_free ? '
' + p.google_displayflaechen_a_free + '' : '') + - '
Mögliche Werbeart 2' + - (p.google_displayflaechen_b ? '
' + p.google_displayflaechen_b + '' : '') + - '
Werbeart 2 Verfügbar ?' + - (p.google_displayflaechen_b_free ? '
' + p.google_displayflaechen_b_free + '' : '') + - '
Nötige Werbemittel' + - (p.google_displayfiles ? '
' + p.google_displayfiles + '' : '') + - '
Buchungscode' + - (p.google_id ? '
' + p.google_id + '' : '') + - '
' + - '
' + - '
' + - (p.google_text ? '
' + p.google_text + '' : '') + - '
' + - '
' + `
+
+ ${partner_url.length ? '' + p.google_name + '' : '' + p.google_name + '
: '} +
+
+ + +
    +
  • +
    + ${p.google_image ? '


    ' : ''} + +
    +
  • +
  • +
    + ${p.google_image_2 ? '


    ' : ''} +
    +
  • +
  • +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${FFS} + + + + + + + + +
Anzeigesystem + ${p.google_typ ? '
' + p.google_typ + '' : ''} +
Interaktiv + ${p.google_typ_interactive ? '
' + p.google_typ_interactive + '' : ''} +
Besucherzahl + ${p.google_visitors ? '
' + p.google_visitors + '' : ''} +
Anzeigetyp + ${p.google_displaytyp ? '
' + p.google_displaytyp + '' : ''} +
Anzeigegrösse + ${p.google_displaysize ? '
' + p.google_displaysize + '' : ''} +
Mögliche Werbeart 1 + ${p.google_displayflaechen_a ? '
' + p.google_displayflaechen_a + '' : ''} +
Werbeart 1 Verfügbar ? + ${p.google_displayflaechen_a_free ? '
' + p.google_displayflaechen_a_free + '' : ''} +
Mögliche Werbeart 2 + ${p.google_displayflaechen_b ? '
' + p.google_displayflaechen_b + '' : ''} +
Werbeart 2 Verfügbar ? + ${p.google_displayflaechen_b_free ? '
' + p.google_displayflaechen_b_free + '' : ''} +
Nötige Werbemittel + ${p.google_displayfiles ? '
' + p.google_displayfiles + '' : ''} +
Buchungscode + ${p.google_id ? '
' + p.google_id + '' : ''} +
+
+
+ ${p.google_text ? '
' + p.google_text + '' : ''} +
+
` ); infoWindow.open(map, marker); const slidesContainer = document.getElementById("slides-container"); diff --git a/static/src/js/dss_screenview_controller.js b/static/src/js/dss_screenview_controller.js index c5bb6be..0a60bd8 100755 --- a/static/src/js/dss_screenview_controller.js +++ b/static/src/js/dss_screenview_controller.js @@ -1,8 +1,9 @@ /** @odoo-module **/ import { Layout } from "@web/search/layout"; +import { SearchBar } from "@web/search/search_bar/search_bar"; import { useBus, useService } from "@web/core/utils/hooks"; import { useModel } from "@web/views/model"; -import { Component, onWillStart, useState} from "@odoo/owl"; +import { Component, onMounted, onWillStart, onWillUnmount, useState} from "@odoo/owl"; import { ScreenViewRenderer } from "./dss_screenview_renderer"; const { onRendered } = owl; @@ -15,6 +16,8 @@ export class ScreenViewController extends Component { this.user = useService("user"); this.viewService = useService("view"); this.ui = useService("ui"); + this.notification = useService("notification"); + this.state = useState({ showProjectFields: false }); this.resModel = this.props.resModel this.resDomain = this.props.domain // useBus(this.ui.bus, "resize", this.render); @@ -46,19 +49,139 @@ export class ScreenViewController extends Component { // ); onWillStart(async () => { - await this.model.load(); + await this.model.load(this.state.showProjectFields); }); onRendered(() => { this.env.config.setDisplayName(this.displayName()); }); + + this._boundPrintClickHandler = this._handleGlobalPrintClick.bind(this); + onMounted(() => { + document.addEventListener("click", this._boundPrintClickHandler, true); + }); + onWillUnmount(() => { + document.removeEventListener("click", this._boundPrintClickHandler, true); + }); } openView(domain, views, context) { alert('openview'); } + async onToggleProjectFields(event) { + this.state.showProjectFields = !!event.target.checked; + await this.model.load(this.state.showProjectFields); + } + + _handleGlobalPrintClick(event) { + const button = event.target && event.target.closest(".o_screenview_print_button"); + if (!button) { + return; + } + event.preventDefault(); + event.stopPropagation(); + this.onPrintClick(); + } + + onPrintClick() { + const screenviewElement = + (this.el && this.el.querySelector(".screenview_main")) || + document.querySelector(".o_action_manager .screenview_main"); + if (!screenviewElement) { + this.notification.add("Screenview-Bereich konnte zum Drucken nicht gefunden werden.", { + type: "warning", + }); + return; + } + + const rect = screenviewElement.getBoundingClientRect(); + const width = Math.max(1, Math.round(rect.width)); + const height = Math.max(1, Math.round(rect.height)); + + const clonedScreenview = screenviewElement.cloneNode(true); + + const printRoot = document.createElement("div"); + printRoot.id = "o_screenview_print_root"; + printRoot.style.position = "relative"; + printRoot.style.zIndex = "999999"; + printRoot.style.background = "#fff"; + printRoot.style.display = "block"; + printRoot.style.padding = "0"; + printRoot.style.overflow = "hidden"; + printRoot.style.margin = "0 auto"; + + const pageSizePx = { width: 1123, height: 794 }; // A4 landscape at ~96dpi + const maxWidth = pageSizePx.width - 10; + const maxHeight = pageSizePx.height - 10; + const scale = Math.min(maxWidth / width, maxHeight / height); + const scaledWidth = Math.max(1, Math.floor(width * scale)); + const scaledHeight = Math.max(1, Math.floor(height * scale)); + + printRoot.style.width = `${scaledWidth}px`; + printRoot.style.height = `${scaledHeight}px`; + + const scaledHost = document.createElement("div"); + scaledHost.style.width = `${scaledWidth}px`; + scaledHost.style.height = `${scaledHeight}px`; + scaledHost.style.overflow = "hidden"; + + clonedScreenview.style.width = `${width}px`; + clonedScreenview.style.height = `${height}px`; + clonedScreenview.style.transformOrigin = "top left"; + clonedScreenview.style.transform = `scale(${scale})`; + clonedScreenview.style.background = "#fff"; + scaledHost.appendChild(clonedScreenview); + printRoot.appendChild(scaledHost); + + const printStyle = document.createElement("style"); + printStyle.id = "o_screenview_print_style"; + printStyle.textContent = ` +@page { size: A4 landscape; margin: 2mm; } +@media print { + html, body { + margin: 0 !important; + padding: 0 !important; + background: #fff !important; + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + body.o_screenview_printing > * { + display: none !important; + } + body.o_screenview_printing #o_screenview_print_root { + display: block !important; + margin: 0 auto !important; + page-break-inside: avoid !important; + break-inside: avoid-page !important; + } +} + `; + + const cleanup = () => { + const root = document.getElementById("o_screenview_print_root"); + const style = document.getElementById("o_screenview_print_style"); + if (root) { + root.remove(); + } + if (style) { + style.remove(); + } + document.body.classList.remove("o_screenview_printing"); + }; + + cleanup(); + document.head.appendChild(printStyle); + document.body.appendChild(printRoot); + document.body.classList.add("o_screenview_printing"); + window.addEventListener("afterprint", cleanup, { once: true }); + setTimeout(() => { + window.print(); + setTimeout(cleanup, 1200); + }, 50); + } + displayName() { return "DigitalSignage Projekt Vertraege - ScreenView "; } @@ -66,4 +189,4 @@ export class ScreenViewController extends Component { }; ScreenViewController.template = "dss.screenview"; -ScreenViewController.components = { Layout, ScreenViewRenderer }; +ScreenViewController.components = { Layout, SearchBar, ScreenViewRenderer }; diff --git a/static/src/js/dss_screenview_model.js b/static/src/js/dss_screenview_model.js index 5bca432..9fc54db 100755 --- a/static/src/js/dss_screenview_model.js +++ b/static/src/js/dss_screenview_model.js @@ -31,16 +31,16 @@ export class ScreenViewModel { // this.domain = [] // } - async load() { + async load(includeProjectFields = false) { //The keeplast protect against concurrency call console.log(this); - await this.keepLast.add(this.loaddata(this)); //this.loaddata(records)); + await this.keepLast.add(this.loaddata(includeProjectFields)); //this.loaddata(records)); } /** * @protected */ - async loaddata(data) { + async loaddata(includeProjectFields = false) { var newrecords = []; var nullrecord = {}; var x = 0; @@ -63,16 +63,90 @@ export class ScreenViewModel { newrecords[0] = nullrecord; x=1; const { length, records } = await this.orm.webSearchRead('dss.contracts', this.domain, [],{}); + + const contractIds = records.map((record) => record.id); + const stempelByContract = {}; + if (contractIds.length) { + const binaries = await this.orm.searchRead( + 'dss.binaries', + [['binary_contract', 'in', contractIds]], + ['binary_contract', 'binary_id', 'binary_name', 'binary_filename', 'binary_mediatype_name'], + {} + ); + for (const binary of binaries) { + const contractField = binary.binary_contract; + const contractId = Array.isArray(contractField) ? contractField[0] : contractField; + if (!contractId) { + continue; + } + const haystack = [ + binary.binary_id, + binary.binary_name, + binary.binary_filename, + binary.binary_mediatype_name, + ] + .filter(Boolean) + .join(' ') + .toLowerCase(); + if (haystack.includes('stempel')) { + stempelByContract[contractId] = true; + } + } + } + + let projectFieldRecords = []; + if (includeProjectFields) { + projectFieldRecords = await this.orm.searchRead( + 'dss.advertisefields', + [ + ['project', '=', this.domain[0][2]], + ['contract', '=', false], + ['is_btn', '=', true], + ], + [ + 'id', + 'uuid', + 'btn_pos_x', + 'btn_pos_y', + 'btn_pos_w', + 'btn_pos_h', + 'btn_image_bin', + 'btn_fieldname', + 'feldname', + 'project', + ], + {} + ); + } + for (const rawRecord of records) { + const hasStempelBinary = !!stempelByContract[rawRecord.id]; + const personName = [rawRecord.client_short_vorname, rawRecord.client_short_name] + .filter(Boolean) + .join(' '); + const clientName = [rawRecord.client_short_company, personName] + .filter(Boolean) + .join('\n'); + const addressLines = [ + rawRecord.client_short_strasse, + [rawRecord.client_short_plz, rawRecord.client_short_ort].filter(Boolean).join(' '), + ] + .filter(Boolean) + .join('\n'); + const customerAddress = [clientName, addressLines] + .filter(Boolean) + .join('\n\n'); for (const feld of rawRecord.werbe_feld_selected) { const feldrecords = await this.orm.searchRead('dss.advertisefields', [['id','=',feld],['is_btn','=',true]], [],{}); if (feldrecords.length > 0) { var frecord = {} frecord.id=rawRecord.id+'_'+feldrecords[0].id; frecord.werbe_feld_selected_btn_pos_x=feldrecords[0].btn_pos_x*scale_faktor; - frecord.werbe_feld_selected_btn_pos_y=feldrecords[0].btn_pos_y*scale_faktor ; + frecord.werbe_feld_selected_btn_pos_y=feldrecords[0].btn_pos_y*scale_faktor; frecord.werbe_feld_selected_btn_pos_w=feldrecords[0].btn_pos_w*scale_faktor; frecord.werbe_feld_selected_btn_pos_h=feldrecords[0].btn_pos_h*scale_faktor; + frecord.original_btn_width=feldrecords[0].btn_pos_w; + frecord.original_btn_height=feldrecords[0].btn_pos_h; frecord.werbe_feld_selected_btn_img=feldrecords[0].btn_image_bin; frecord.uuid = rawRecord.uuid; frecord.contractid = rawRecord.id; @@ -83,12 +157,47 @@ export class ScreenViewModel { frecord.client_short_strasse = rawRecord.client_short_strasse; frecord.client_short_plz = rawRecord.client_short_plz; frecord.client_short_ort = rawRecord.client_short_ort; + frecord.has_stempel_binary = hasStempelBinary; + frecord.screenview_placeholder_text = hasStempelBinary && customerAddress + ? customerAddress + : feldrecords[0].btn_fieldname; + frecord.record_model = 'dss.contracts'; + frecord.record_id = rawRecord.id; frecord.key=rawRecord.id+'_'+feldrecords[0].id; newrecords[x] = frecord; x++; } } } + + for (const fieldRecord of projectFieldRecords) { + const projectField = { + id: `project_${fieldRecord.id}`, + key: `project_${fieldRecord.id}`, + uuid: fieldRecord.uuid, + contractid: false, + record_model: 'dss.advertisefields', + record_id: fieldRecord.id, + werbe_feld_selected_btn_pos_x: fieldRecord.btn_pos_x * scale_faktor, + werbe_feld_selected_btn_pos_y: fieldRecord.btn_pos_y * scale_faktor, + werbe_feld_selected_btn_pos_w: fieldRecord.btn_pos_w * scale_faktor, + werbe_feld_selected_btn_pos_h: fieldRecord.btn_pos_h * scale_faktor, + original_btn_width: fieldRecord.btn_pos_w, + original_btn_height: fieldRecord.btn_pos_h, + werbe_feld_selected_btn_img: fieldRecord.btn_image_bin, + shortwerbe_feld_selected: fieldRecord.btn_fieldname || fieldRecord.feldname, + screenview_placeholder_text: fieldRecord.btn_fieldname || fieldRecord.feldname, + client_short_company: '', + client_short_name: '', + client_short_vorname: '', + client_short_strasse: '', + client_short_plz: '', + client_short_ort: '', + has_stempel_binary: false, + }; + newrecords[x] = projectField; + x++; + } this.records = newrecords; this.recordsLength = newrecords.length; diff --git a/static/src/js/dss_screenview_renderer.js b/static/src/js/dss_screenview_renderer.js index a0e0970..0aab6b6 100755 --- a/static/src/js/dss_screenview_renderer.js +++ b/static/src/js/dss_screenview_renderer.js @@ -1,6 +1,6 @@ /** @odoo-module **/ import { useService } from "@web/core/utils/hooks"; -import { useEnv, Component, markup, onWillStart,onMounted,onWillUnmount, useRef, xml } from "@odoo/owl"; +import { useEnv, Component, markup, onWillStart, onWillUpdateProps, onMounted, onWillUnmount, useRef, xml } from "@odoo/owl"; import { registry } from "@web/core/registry"; import { browser } from "@web/core/browser/browser"; @@ -18,6 +18,9 @@ export class ScreenViewRenderer extends Component { onWillStart(async () => { await this.willStart(this.props) }); + onWillUpdateProps(async (nextProps) => { + await this.willStart(nextProps); + }); } @@ -28,16 +31,21 @@ export class ScreenViewRenderer extends Component { // Event-Handler für den Click //_handleClick(event) { - handleClick() { + handleClick(event) { if (event.target.classList.contains("clickcontainer")) { console.log("Div clicked!", event.target); console.log(event.target.dataset.uuid); console.log(event.target.dataset.id); + const recordModel = event.target.dataset.model || 'dss.contracts'; + const recordId = Number.parseInt(event.target.dataset.id, 10); + if (!recordId) { + return; + } this.action.doAction({ type: 'ir.actions.act_window', - res_model: 'dss.contracts', - res_id: parseInt(event.target.dataset.id), - resId: parseInt(event.target.dataset.id), + res_model: recordModel, + res_id: recordId, + resId: recordId, views: [[false, "form"]], view_mode: "form", target: "current", @@ -45,23 +53,15 @@ export class ScreenViewRenderer extends Component { }} async render_Screen(props) { - var meins = ""; - var divele = ""; - var templates = [] - var templates = ['MainSection']; - console.log('1!!'+JSON.stringify(props)) - console.log(this); - console.log(this.max_h); - var maxx = props.records[0].max_w; - var maxy = props.records[0].max_h; - var width = window.innerWidth-140; - var scale_faktor = (width / maxx) - var height = Math.round((maxy+40) * scale_faktor) - props.screenwidth = width + 40 - props.scale = scale_faktor - props.screenheight = height + 100 - props.records.resId = false - console.log('1!! - '+props); + if (!props.records || !props.records.length) { + props.screenwidth = 0; + props.screenheight = 0; + return; + } + const frameMeta = props.records[0] || {}; + props.screenwidth = frameMeta.screenwidth || frameMeta.max_w || 0; + props.screenheight = frameMeta.screenheight || frameMeta.max_h || 0; + props.scale = frameMeta.scale || 1; } } diff --git a/static/src/js/dss_trigger_condition_view_blocks.js b/static/src/js/dss_trigger_condition_view_blocks.js old mode 100644 new mode 100755 index 153587b..ca90213 --- a/static/src/js/dss_trigger_condition_view_blocks.js +++ b/static/src/js/dss_trigger_condition_view_blocks.js @@ -739,6 +739,38 @@ export async function generateblocks(Blockly,pythonGenerator) { colour : 230, output : 'Number', }, + { + // The type is like the "class name" for your block. It is used to construct + // new instances. E.g. in the toolbox. + type: 'dss_value_number_multiply', + // The message defines the basic text of your block, and where inputs or + // fields will be inserted. + message0: '%1 (Zahl) * %2 (Zahl)', + args0: [ + // Each arg is associated with a %# in the message. + // This one gets substituted for %1. + { + // The type specifies the kind of input or field to be inserted. + type: 'input_value', + // The name allows you to reference the field and get its value. + name: 'Number1', + check: 'Number', + // The options are the values that will be shown in the dropdown. + + }, + { + // The type specifies the kind of input or field to be inserted. + type: 'input_value', + // The name allows you to reference the field and get its value. + name: 'Number2', + check: 'Number', + // The options are the values that will be shown in the dropdown. + + } + ], + colour : 230, + output : 'Number', + }, { // The type is like the "class name" for your block. It is used to construct // new instances. E.g. in the toolbox. @@ -1709,16 +1741,20 @@ export async function generateblocks(Blockly,pythonGenerator) { Blockly.Python.forBlock['dss_trigger_type_contract_feld_selector'] = function(block) { let code=''; let valuetable = block.getFieldValue('TriggerTable');; - let valueFeld = block.getFieldValue('TriggerFeld');; - console.log('Debug : ',block.parentBlock_.type); - if ((block.parentBlock_.type == 'dss_trigger_type')) { - code = '"'+String(valuetable) + '","'+String(valueFeld)+'"'; - } else { - if (window._isdataset) { - code = 'trigger.GetValueData(self,DataSet,'+valueFeld+')'; - } else { - code = 'trigger.GetValue(self,"' + String(valuetable) + '","'+String(valueFeld)+'")'; - } + let valueFeld = block.getFieldValue('TriggerFeld');; + if (block.parentBlock_ != null) { + if (block.parentBlock_.hasOwnProperty('type')) { + console.log('Debug : ',block.parentBlock_.type); + if ((block.parentBlock_.type == 'dss_trigger_type')) { + code = '"'+String(valuetable) + '","'+String(valueFeld)+'"'; + } else { + if (window._isdataset) { + code = 'trigger.GetValueData(self,DataSet,'+valueFeld+')'; + } else { + code = 'trigger.GetValue(self,"' + String(valuetable) + '","'+String(valueFeld)+'")'; + } + } + } } return code; }; @@ -2107,6 +2143,13 @@ export async function generateblocks(Blockly,pythonGenerator) { let code = '('+innerstatement_Number1+' + '+innerstatement_Number2+')'; return code; } + + Blockly.Python.forBlock['dss_value_number_multiply'] = function(block) { + let innerstatement_Number1 = Blockly.Python.statementToCode(block, 'Number1'); + let innerstatement_Number2 = Blockly.Python.statementToCode(block, 'Number2'); + let code = '('+innerstatement_Number1+' * '+innerstatement_Number2+')'; + return code; + } Blockly.Python.forBlock['dss_data_set_var'] = function(block) { let name = block.getFieldValue('name'); diff --git a/static/src/js/dss_trigger_condition_view_controller.js b/static/src/js/dss_trigger_condition_view_controller.js index 07d4bfe..e5cf2f9 100755 --- a/static/src/js/dss_trigger_condition_view_controller.js +++ b/static/src/js/dss_trigger_condition_view_controller.js @@ -174,15 +174,13 @@ export class Trigger_Condition_View_Controller extends Component { // ); onWillStart(async () => { - await loadJS("https://unpkg.com/blockly/blockly_compressed.js"); - //await loadJS("./src/js/blockly/blockly_compressed.js"); - await loadJS("https://unpkg.com/blockly/blocks_compressed.js"); - await loadJS("https://unpkg.com/blockly/javascript_compressed.js"); - await loadJS("https://unpkg.com/blockly/python_compressed.js"); - //await loadJS("https://unpkg.com/blockly/msg/js/de.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/blockly_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/blocks_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/javascript_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/python_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/msg/en.js"); await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/msg/de.js"); //await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/plugins/block-plus-minus/src/list_create.js"); - await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/msg/de.js"); await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/ace/src-noconflict/ace.js"); await this.model.load(); }); @@ -191,6 +189,62 @@ export class Trigger_Condition_View_Controller extends Component { //await this.model.load(); //alert('mounted'); console.log(Blockly); + + // Some Blockly message bundles miss newer ARIA keys. Add safe fallbacks + // and guard toolbox aria-label generation so inject() cannot crash. + const ensureBlocklyAriaFallbacks = () => { + if (!Blockly || !Blockly.Msg) { + return; + } + if (!Blockly.Msg.__dssMsgProxyApplied) { + const rawMsg = Blockly.Msg; + Blockly.Msg = new Proxy(rawMsg, { + get(target, prop, receiver) { + if (prop === "__dssMsgProxyApplied") { + return true; + } + const value = Reflect.get(target, prop, receiver); + return value === undefined || value === null ? String(prop) : value; + }, + }); + } + const defaults = { + WORKSPACE_ARIA_LABEL: "Blockly Workspace", + COLLAPSE_BLOCK: "Collapse block", + EXPAND_BLOCK: "Expand block", + COLLAPSE_ALL: "Collapse all blocks", + EXPAND_ALL: "Expand all blocks", + }; + Object.keys(defaults).forEach((key) => { + if (!Blockly.Msg[key]) { + Blockly.Msg[key] = defaults[key]; + } + }); + + const patchCategory = (proto) => { + if (!proto || typeof proto.updateAriaLabel !== "function" || proto.__dssAriaPatched) { + return; + } + const original = proto.updateAriaLabel; + proto.updateAriaLabel = function () { + try { + return original.apply(this, arguments); + } catch (err) { + const fallbackName = (this.toolboxItemDef_ && this.toolboxItemDef_.name) || "Toolbox"; + if (this.htmlDiv_) { + this.htmlDiv_.setAttribute("aria-label", fallbackName); + } + console.warn("Fallback aria label used for toolbox category", err); + } + }; + proto.__dssAriaPatched = true; + }; + + patchCategory(Blockly.ToolboxCategory && Blockly.ToolboxCategory.prototype); + patchCategory(Blockly.CollapsibleToolboxCategory && Blockly.CollapsibleToolboxCategory.prototype); + }; + + ensureBlocklyAriaFallbacks(); class dss_trigger_type_contract_selector_Field extends Blockly.Field { constructor(value, validator) { super(value, validator); @@ -721,10 +775,15 @@ export class Trigger_Condition_View_Controller extends Component { this.setOnChange(async function(changeEvent) { // This function is calledwhen the block changes. // You can use it to update the block's appearance or behavior. - if ((changeEvent.name == "DatasatzTabelle") && (changeEvent.type == "change")) { + if ( + (changeEvent.name == "DatasatzTabelle") && + (changeEvent.type == "change") && + (changeEvent.element == "field") && + (changeEvent.blockId == this.id) + ) { //console.log('onchange: '+JSON.stringify(changeEvent)); var Block = this.workspace.getBlockById(changeEvent.blockId); - setBlockValue_dataset(this); + await setBlockValue_dataset(Block); }; }); }); @@ -735,10 +794,15 @@ export class Trigger_Condition_View_Controller extends Component { this.setOnChange(async function(changeEvent) { // This function is called when the block changes. // You can use it to update the block's appearance or behavior. - if ((changeEvent.name == "TriggerTable") && (changeEvent.type == "change")) { + if ( + (changeEvent.name == "TriggerTable") && + (changeEvent.type == "change") && + (changeEvent.element == "field") && + (changeEvent.blockId == this.id) + ) { //console.log('onchange: '+JSON.stringify(changeEvent)); var Block = this.workspace.getBlockById(changeEvent.blockId); - setBlockValue(Block); + await setBlockValue(Block); }; }); }); @@ -977,6 +1041,10 @@ export class Trigger_Condition_View_Controller extends Component { kind: 'block', type: 'dss_value_number_add' }, + { + kind: 'block', + type: 'dss_value_number_multiply' + }, ] }, @@ -1078,7 +1146,15 @@ export class Trigger_Condition_View_Controller extends Component { // You can use it to update the block's appearance or behavior. //console.log('change: ',changeEvent); if (changeEvent.type == "change") { - document.getElementById("isCodeUptodate").checked=false; + const autoCodeCheckbox = document.getElementById("isautocodecreate"); + if (autoCodeCheckbox && autoCodeCheckbox.checked) { + Blockly.Python.init(Blockly.getMainWorkspace()); + const autoCode = Blockly.Python.workspaceToCode(Blockly.getMainWorkspace()); + document.getElementById("codeArea").value = autoCode; + document.getElementById("isCodeUptodate").checked = true; + } else { + document.getElementById("isCodeUptodate").checked=false; + } if ((changeEvent.name == "TriggerTable") && (changeEvent.element == "field")) { //console.log('change - Rebuild Data : ',changeEvent); var Block = this.props.workspace.getBlockById(changeEvent.blockId); diff --git a/static/src/js/dss_trigger_condition_view_helper.js b/static/src/js/dss_trigger_condition_view_helper.js old mode 100644 new mode 100755 index 94047d9..434a71d --- a/static/src/js/dss_trigger_condition_view_helper.js +++ b/static/src/js/dss_trigger_condition_view_helper.js @@ -1,6 +1,52 @@ /** @odoo-module **/ +function applyDropdownOptions(fieldBlock, options) { + if (!fieldBlock) { + return; + } + + if (typeof fieldBlock.setOptions === 'function') { + fieldBlock.setOptions(function() { + return options; + }); + notifyProgrammaticFieldUpdate(fieldBlock); + return; + } + + // Blockly compatibility fallback (older/newer builds without setOptions). + if ('menuGenerator_' in fieldBlock) { + fieldBlock.menuGenerator_ = options; + if (typeof fieldBlock.getOptions === 'function') { + fieldBlock.getOptions(false); + } + notifyProgrammaticFieldUpdate(fieldBlock); + } +} + +function notifyProgrammaticFieldUpdate(fieldBlock) { + if (!fieldBlock || typeof fieldBlock.getSourceBlock !== 'function') { + return; + } + + const block = fieldBlock.getSourceBlock(); + if (!block) { + return; + } + + const BlocklyRef = (typeof Blockly !== 'undefined') + ? Blockly + : ((typeof window !== 'undefined' && window.Blockly) ? window.Blockly : null); + if (!BlocklyRef || !BlocklyRef.Events || typeof BlocklyRef.Events.BlockChange !== 'function') { + return; + } + + const fieldName = fieldBlock.name || 'field'; + const mutationTag = 'options_updated'; + BlocklyRef.Events.fire(new BlocklyRef.Events.BlockChange(block, 'mutation', fieldName, '', mutationTag)); +} + + export async function setBlockValue(Block) { var TableBlock = Block.getField('TriggerTable'); @@ -17,14 +63,12 @@ export async function setBlockValue(Block) { 'tablename': TableValue, }, }); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element[3]),String(element[0])]); - }); - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element[3]),String(element[0])]); + }); + applyDropdownOptions(FeldBlock, options); }; } @@ -45,14 +89,12 @@ export async function setBlockValue_dataset(Block) { 'tablename': TableValue, }, }); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element[3]),String(element[0])]); - }); - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element[3]),String(element[0])]); + }); + applyDropdownOptions(FeldBlock, options); }; } @@ -67,14 +109,12 @@ export async function setBlock_MarkerValue(Block) { if (records && records.length > 0) { // Wandelt das erste gefundene Objekt in JSON um und gibt es aus //console.log('Foundtrigger JSON:', JSON.stringify(records[0])); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element['markername']),String(element['id'])]); - }) ; - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element['markername']),String(element['id'])]); + }) ; + applyDropdownOptions(FeldBlock, options); } else { console.log('no marker records Found'); }; @@ -90,14 +130,12 @@ export async function setBlock_MailValues(Block) { if (records && records.length > 0) { // Wandelt das erste gefundene Objekt in JSON um und gibt es aus // console.log('Foundtrigger JSON:', JSON.stringify(records[0])); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element['name']),String(element['id'])]); - }) ; - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element['name']),String(element['id'])]); + }) ; + applyDropdownOptions(FeldBlock, options); } else { console.log('no mail.template records Found'); }; @@ -114,14 +152,12 @@ export async function setBlock_PartnerValue(Block) { if (records && records.length > 0) { // Wandelt das erste gefundene Objekt in JSON um und gibt es aus // console.log('Foundtrigger JSON:', JSON.stringify(records[0])); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element['commercial_company_name'])+', '+String(element['name']),String(element['id'])]); - }) ; - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element['commercial_company_name'])+', '+String(element['name']),String(element['id'])]); + }) ; + applyDropdownOptions(FeldBlock, options); } else { console.log('no marker records Found'); }; @@ -137,14 +173,12 @@ export async function setBlock_MediaTypesValue(Block) { if (records && records.length > 0) { // Wandelt das erste gefundene Objekt in JSON um und gibt es aus // console.log('Foundtrigger JSON:', JSON.stringify(records[0])); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element['medianame'])+', '+String(element['mediatype']),String(element['id'])]); - }) ; - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element['medianame'])+', '+String(element['mediatype']),String(element['id'])]); + }) ; + applyDropdownOptions(FeldBlock, options); } else { console.log('Media Type records Found'); }; @@ -162,14 +196,12 @@ export async function setBlock_DataTableValue(Block) { if (records && records.length > 0) { // Wandelt das erste gefundene Objekt in JSON um und gibt es aus console.log('Foundtrigger JSON:', JSON.stringify(records[0])); - FeldBlock.setOptions(function() { - var options = []; - records.forEach(element => { - //console.log('Element: '+JSON.stringify(element)); - options.push([String(element['name'])+' ('+String(element['model'])+')',String(element['id'])]); - }) ; - return options; - }); + var options = []; + records.forEach(element => { + //console.log('Element: '+JSON.stringify(element)); + options.push([String(element['name'])+' ('+String(element['model'])+')',String(element['id'])]); + }) ; + applyDropdownOptions(FeldBlock, options); } else { console.log('Model records Found'); }; @@ -249,12 +281,10 @@ export async function generateaction(rpc,mainWorkspace,action_element,nextconnec actionblock_emailsubblock_1.initSvg(); actionblock_emailsubblock_1.render(); var field = actionblock_emailsubblock_1.getField('PartnerFeld') - field.setOptions(function() { - var options = []; - options.push([String('Partner auswählen ...'),String(0)]); - options.push([String(action_element.email_fix_email),String(action_element.email_fix_email)]); - return options; - }) ; + var options = []; + options.push([String('Partner auswaehlen ...'),String(0)]); + options.push([String(action_element.email_fix_email),String(action_element.email_fix_email)]); + applyDropdownOptions(field, options); //await setBlock_PartnerValue(actionblock_emailsubblock_1); field.setValue(String(action_element.email_fix_email)); } else { diff --git a/static/src/js/dss_trigger_condition_view_renderer.js b/static/src/js/dss_trigger_condition_view_renderer.js index b71df55..5ce4043 100755 --- a/static/src/js/dss_trigger_condition_view_renderer.js +++ b/static/src/js/dss_trigger_condition_view_renderer.js @@ -18,15 +18,13 @@ export class Trigger_Condition_View_Renderer extends Component { //alert('render '+JSON.stringify(this.props)) onWillStart(async () => { - await loadJS("https://unpkg.com/blockly/blockly_compressed.js"); - //await loadJS("./src/js/blockly/blockly_compressed.js"); - await loadJS("https://unpkg.com/blockly/blocks_compressed.js"); - await loadJS("https://unpkg.com/blockly/javascript_compressed.js"); - await loadJS("https://unpkg.com/blockly/python_compressed.js"); - //await loadJS("https://unpkg.com/blockly/msg/js/de.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/blockly_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/blocks_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/javascript_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/python_compressed.js"); + await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/msg/en.js"); await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/msg/de.js"); //await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/plugins/block-plus-minus/src/list_create.js"); - await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/blockly/msg/de.js"); //await loadJS("https://verwaltung.logumedia.de/DigitalSignage/static/src/js/ace/src-noconflict/ace.js"); await this.willStart(this.props) }); @@ -120,26 +118,48 @@ export class Trigger_Condition_View_Renderer extends Component { async handleSaveClick() { console.log('Save Click',this.props.workspace); - Blockly.Events.disable() - var blocklySave = Blockly.serialization.workspaces.save(Blockly.getMainWorkspace()); - console.log('Save : ',blocklySave); - var selectedValue = document.getElementById("SelectName").value - var selectedAktiv = document.getElementById("isactive").checked - const triggersy = await rpc.query({ - model: 'dss.triggertypes', - method: 'UpdateBlockTrigger', - kwargs: { - 'triggername': selectedValue, - 'blockcode': JSON.stringify(blocklySave), - 'blockcommand': document.getElementById("codeArea").value, - 'blockcommand_uptodate': document.getElementById("isCodeUptodate").checked, - 'triggertable': document.getElementById("Datatable").value, - 'triggeraktiv': selectedAktiv, - } - }); - Blockly.Events.enable() - Blockly.getMainWorkspace().clear(); - Blockly.serialization.workspaces.load(blocklySave, Blockly.getMainWorkspace()); + Blockly.Events.disable(); + try { + var blocklySave = Blockly.serialization.workspaces.save(Blockly.getMainWorkspace()); + console.log('Save : ',blocklySave); + var selectedValue = document.getElementById("SelectName").value + var selectedAktiv = document.getElementById("isactive").checked + var autoCodeElement = document.getElementById("isautocodecreate"); + var selectedAutoCode = autoCodeElement ? autoCodeElement.checked : false; + const saveKwargs = { + 'triggername': selectedValue, + 'blockcode': JSON.stringify(blocklySave), + 'blockcommand': document.getElementById("codeArea").value, + 'blockcommand_uptodate': document.getElementById("isCodeUptodate").checked, + 'triggertable': document.getElementById("Datatable").value, + 'triggeraktiv': selectedAktiv, + 'triggerautocode': selectedAutoCode, + }; + + try { + await rpc.query({ + model: 'dss.triggertypes', + method: 'UpdateBlockTrigger', + kwargs: saveKwargs, + }); + } catch (error) { + // Backward compatibility: old server code may not yet accept triggerautocode. + // Retry once without the new parameter regardless of error shape/text. + console.warn('Primary trigger save failed, retrying without triggerautocode', error); + const fallbackKwargs = { ...saveKwargs }; + delete fallbackKwargs.triggerautocode; + await rpc.query({ + model: 'dss.triggertypes', + method: 'UpdateBlockTrigger', + kwargs: fallbackKwargs, + }); + } + + Blockly.getMainWorkspace().clear(); + Blockly.serialization.workspaces.load(blocklySave, Blockly.getMainWorkspace()); + } finally { + Blockly.Events.enable(); + } } @@ -244,18 +264,22 @@ export class Trigger_Condition_View_Renderer extends Component { }); console.log('Selected value from dropdown:', selectedValue,' - ',triggersy); const mainWorkspace = Blockly.getMainWorkspace(); - - if (mainWorkspace) { - console.log('Workspace clear '+mainWorkspace); - mainWorkspace.clear(); + if (!mainWorkspace || typeof mainWorkspace.clear !== "function") { + console.warn("Blockly workspace is not ready yet. Change event skipped."); + return this.props.records; } + console.log('Workspace clear '+mainWorkspace); + mainWorkspace.clear(); + this.props.isActive = (triggersy.trigger_active) ? true : false this.props.isblockonly = (triggersy.trigger_is_block_config) ? true : false this.props.isCodeUptodate=triggersy.trigger_block_command_uptodate + this.props.isAutoCodeCreate=(triggersy.trigger_auto_code_create) ? true : false document.getElementById("isactive").checked = this.props.isActive; document.getElementById("isblockonly").checked = this.props.isblockonly + document.getElementById("isautocodecreate").checked = this.props.isAutoCodeCreate document.getElementById("Save").removeAttribute("disabled"); document.getElementById("Saveas").removeAttribute("disabled"); @@ -478,6 +502,10 @@ export class Trigger_Condition_View_Renderer extends Component { } else { Blockly.Events.disable(); const workspace = Blockly.getMainWorkspace(); + if (!workspace || typeof workspace.clear !== "function") { + console.warn("Blockly workspace is not ready yet. Block config load skipped."); + return this.props.records; + } console.log('Load Blockly : ',workspace); workspace.clear(); var blockload = triggersy.trigger_block_raw_config; diff --git a/static/src/js/info.txt b/static/src/js/info.txt old mode 100644 new mode 100755 diff --git a/static/src/js/kilead_hook.js b/static/src/js/kilead_hook.js old mode 100644 new mode 100755 diff --git a/static/src/js/navbar_ai_button.js b/static/src/js/navbar_ai_button.js new file mode 100755 index 0000000..4151f3a --- /dev/null +++ b/static/src/js/navbar_ai_button.js @@ -0,0 +1,298 @@ +/** @odoo-module **/ + +import { _t } from "@web/core/l10n/translation"; +import { Dialog } from "@web/core/dialog/dialog"; +import { patch } from "@web/core/utils/patch"; +import { useService } from "@web/core/utils/hooks"; +import { NavBar } from "@web/webclient/navbar/navbar"; + +const { Component, useEffect, useRef, useState } = owl; + +class AIAgentDialog extends Component { + setup() { + this.rpcService = useService("rpc"); + this.actionService = useService("action"); + this.rootRef = useRef("root"); + this.openTableTarget = this.openTableTarget.bind(this); + this.openTableUrl = this.openTableUrl.bind(this); + this.state = useState({ + draft: "", + nextId: 2, + sending: false, + fullscreen: false, + prompts: [], + messages: [ + { + id: 1, + author: "ai", + text: _t("Hallo, ich bin dein AI Agent. Wie kann ich dir helfen?"), + }, + ], + }); + + useEffect( + (isFullscreen) => { + const modalDialog = this.rootRef.el && this.rootRef.el.closest(".modal-dialog"); + if (!modalDialog) { + return; + } + modalDialog.classList.toggle("o_ai_agent_fullscreen_dialog", isFullscreen); + return () => { + modalDialog.classList.remove("o_ai_agent_fullscreen_dialog"); + }; + }, + () => [this.state.fullscreen] + ); + + this.loadPromptHistory(); + } + + async loadPromptHistory() { + try { + const history = await this.rpcService("/digitalsignage/ai_agent/history", { limit: 20 }); + if (history && history.items && history.items.length) { + const mapped = history.items.map((item) => ({ + id: this.state.nextId++, + author: item.role === "assistant" ? "ai" : "user", + text: item.content || "", + })); + if (mapped.length) { + this.state.messages = mapped; + } + } + + const promptResult = await this.rpcService("/digitalsignage/ai_agent/prompts", { limit: 20 }); + this.state.prompts = (promptResult && promptResult.prompts) || []; + } catch (error) { + // Keep default welcome message if history/prompts cannot be loaded. + } + } + + updateDraft(ev) { + this.state.draft = ev.target.value; + } + + onKeydown(ev) { + if (ev.key === "Enter" && !ev.shiftKey) { + ev.preventDefault(); + this.sendMessage(); + } + } + + sendMessage() { + return this._sendMessage(); + } + + toggleFullscreen() { + this.state.fullscreen = !this.state.fullscreen; + } + + selectPrompt(ev) { + const value = ev.target.value || ""; + if (value) { + this.state.draft = value; + } + } + + async _sendMessage() { + if (this.state.sending) { + return; + } + + const text = this.state.draft.trim(); + if (!text) { + return; + } + + this.state.messages.push({ + id: this.state.nextId++, + author: "user", + text, + }); + this.state.draft = ""; + this.state.sending = true; + + try { + const payloadMessages = [ + { + role: "user", + content: text, + }, + ]; + const result = await this.rpcService("/digitalsignage/ai_agent/chat", { + messages: payloadMessages, + }); + + const openedUrl = result && result.open_table && result.open_table.url; + const openAction = result && result.open_table && result.open_table.open_action; + const openTable = result && result.open_table; + + const replyText = (result && result.reply) || _t("Keine Antwort erhalten."); + const replyWithDebugUrl = openedUrl + ? replyText + "\n\nDebug URL: " + openedUrl + : replyText; + + this.state.messages.push({ + id: this.state.nextId++, + author: "ai", + text: replyWithDebugUrl, + openUrl: openedUrl || null, + openAction: openAction || null, + openTable: openTable || null, + openLabel: (openTable && openTable.open_label) || (openedUrl || openAction ? _t("Liste öffnen") : null), + }); + + // For explicit navigation tools (e.g. open_contract_form), open immediately. + if (openTable && openTable.auto_open) { + await this.openTableTarget(openTable || null, openAction || null, openedUrl || null); + } + } catch (error) { + const backendMessage = + (error && error.data && (error.data.message || error.data.debug)) || + (error && error.message) || + null; + this.state.messages.push({ + id: this.state.nextId++, + author: "ai", + text: + backendMessage || + _t("Fehler beim Abruf der AI-Antwort. Bitte pruefe die OpenAI-Konfiguration."), + }); + } finally { + this.state.sending = false; + } + } + + _openFilteredTable(openTable) { + const targetUrlFromBackend = openTable && openTable.url; + const model = openTable && openTable.model; + const recordIds = (openTable && openTable.record_ids) || []; + const domain = recordIds.length ? [["id", "in", recordIds]] : (openTable && openTable.domain) || []; + const actionId = openTable && openTable.action_id; + const menuId = openTable && openTable.menu_id; + const viewType = (openTable && openTable.view_type) || "tree"; + if (!model) { + return; + } + + const params = new URLSearchParams(); + if (actionId) { + params.set("action", String(actionId)); + } + if (menuId) { + params.set("menu_id", String(menuId)); + } + params.set("model", model); + params.set("view_type", viewType); + params.set("domain", JSON.stringify(domain)); + if (recordIds.length) { + params.set("record_ids", JSON.stringify(recordIds)); + } + + const useBackendUrl = !recordIds.length && (!domain || !domain.length); + const rawTargetUrl = useBackendUrl && targetUrlFromBackend ? targetUrlFromBackend : ("/web#" + params.toString()); + const targetUrl = rawTargetUrl.startsWith("http") + ? rawTargetUrl + : window.location.origin + rawTargetUrl; + window.open(targetUrl, "_blank", "noopener,noreferrer"); + } + + openTableUrl(url) { + if (!url) { + return; + } + const targetUrl = url.startsWith("http") ? url : window.location.origin + url; + window.open(targetUrl, "_blank", "noopener,noreferrer"); + if (this.props && this.props.close) { + this.props.close(); + } + } + + openTableTarget(openTable, openAction, openUrl) { + if (openAction) { + const result = this.actionService.doAction(openAction); + if (this.props && this.props.close) { + this.props.close(); + } + return result; + } + if (openTable && (openTable.record_ids || openTable.domain || openTable.url)) { + const result = this._openFilteredTable(openTable); + if (this.props && this.props.close) { + this.props.close(); + } + return result; + } + if (openUrl) { + return this.openTableUrl(openUrl); + } + } +} + +AIAgentDialog.components = { Dialog }; +AIAgentDialog.template = "DigitalSignage.AIAgentDialog"; + +patch(NavBar.prototype, "DigitalSignage.NavBarAIButton", { + setup() { + this._super.apply(this, arguments); + this.dialogService = useService("dialog"); + this.actionService = useService("action"); + this.rpcService = useService("rpc"); + this.notificationService = useService("notification"); + this.contractGoInput = useRef("contractGoInput"); + }, + + onClickAIButton() { + this.dialogService.add(AIAgentDialog, {}); + }, + + onContractGoKeydown(ev) { + if (ev.key === "Enter") { + ev.preventDefault(); + this.onContractGoClick(); + } + }, + + async onContractGoClick() { + const inputEl = this.contractGoInput && this.contractGoInput.el; + const number = inputEl ? (inputEl.value || "").trim() : ""; + if (!number) { + this.notificationService.add(_t("Bitte eine Nummer eingeben."), { type: "warning" }); + return; + } + try { + const result = await this.rpcService("/digitalsignage/ai_agent/open_contract", { + contract_auto_id: number, + }); + if (!result || !result.found) { + const msg = (result && (result.message || result.error)) || _t("Kein Vertrag/Projekt gefunden."); + const type = result && result.error ? "danger" : "warning"; + this.notificationService.add(msg, { type }); + console.warn("[ContractGo] Vertrag/Projekt nicht gefunden:", number); + return; + } + if (result.message) { + this.notificationService.add(result.message, { type: "success" }); + } + const openAction = result.open_table && result.open_table.open_action; + const openUrl = result.open_table && result.open_table.url; + if (openAction) { + await this.actionService.doAction(openAction); + if (inputEl) { inputEl.value = ""; } + return; + } + if (openUrl) { + const targetUrl = openUrl.startsWith("http") + ? openUrl + : window.location.origin + openUrl; + if (inputEl) { inputEl.value = ""; } + window.location.href = targetUrl; + return; + } + this.notificationService.add(_t("Keine Oeffnungsaktion vorhanden."), { type: "warning" }); + } catch (e) { + this.notificationService.add(_t("Fehler beim Oeffnen des Eintrags."), { type: "danger" }); + console.error("[ContractGo] Fehler beim Oeffnen des Vertrags:", e); + } + }, +}); diff --git a/static/src/js/phone_center_action.js b/static/src/js/phone_center_action.js new file mode 100755 index 0000000..5bf7acf --- /dev/null +++ b/static/src/js/phone_center_action.js @@ -0,0 +1,1297 @@ +/** @odoo-module **/ + +import { registry } from "@web/core/registry"; +import { Component, onWillStart, useState } from "@odoo/owl"; +import { useService } from "@web/core/utils/hooks"; + +function buildSafeUrl(mode, rawValue) { + const value = (rawValue || "").trim(); + if (!value) { + return "about:blank"; + } + if (mode === "maps") { + return `https://www.google.com/maps?q=${encodeURIComponent(value)}&output=embed`; + } + if (/^https?:\/\//i.test(value)) { + return value; + } + if (value.startsWith("//")) { + return `https:${value}`; + } + return `https://${value}`; +} + +function buildWebsiteUrl(rawValue) { + const value = (rawValue || "").trim(); + if (!value) { + return ""; + } + if (/^https?:\/\//i.test(value)) { + return value; + } + if (value.startsWith("//")) { + return `https:${value}`; + } + return `https://${value}`; +} + +function preferHttps(urlValue) { + const url = String(urlValue || "").trim(); + if (!url) { + return ""; + } + if (window.location.protocol === "https:" && /^http:\/\//i.test(url)) { + return url.replace(/^http:\/\//i, "https://"); + } + return url; +} + +function formatDate(date) { + return date.toISOString().slice(0, 10); +} + +function formatDateTimeLocal(date) { + const pad = (value) => String(value).padStart(2, "0"); + return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad(date.getMinutes())}`; +} + +function buildPhoneLinks(rawPhone) { + const raw = String(rawPhone || ""); + const chunks = raw.split(/[\n,;/|]+/).map((item) => item.trim()).filter(Boolean); + const uniq = []; + const seen = new Set(); + for (const chunk of chunks) { + const normalized = chunk.replace(/[^\d+]/g, ""); + if (!normalized || seen.has(normalized)) { + continue; + } + seen.add(normalized); + uniq.push({ + label: chunk, + href: `tel:${normalized}`, + }); + } + return uniq; +} + +function buildBadContactFallback(reason, contact) { + const company = (contact && contact.company) || "-"; + const city = (contact && contact.city) || "-"; + const phone = (contact && contact.phone) || "-"; + return { + summary: `Einschaetzung: ${reason}. Kontakt: ${company} (${city}), Telefon ${phone}. Empfehlung: zuerst Wiedervorlage oder weitere Recherche, sonst verwerfen.`, + actions: ["reschedule", "research", "keep", "discard"], + }; +} + +export class PhoneCenterAction extends Component { + setup() { + this.orm = useService("orm"); + this.notification = useService("notification"); + const now = new Date(); + + this.state = useState({ + projects: [], + contacts: [], + writers: [], + events: [], + profile: { + viewMode: "callcenter", + viewModeLabel: "Callcenter", + canSeeAllProjects: false, + assignedProjectIds: [], + }, + projectId: null, + contactId: null, + writerId: null, + centerViewMode: "research", + calendarProvider: "internal", + googleCalendarUrl: "https://calendar.google.com/calendar/embed?ctz=Europe%2FBerlin", + calendarYear: now.getFullYear(), + calendarMonth: now.getMonth(), + calendarDays: [], + calendarTitle: "", + selectedDate: null, + selectedEventId: null, + editMode: false, + contactInfo: { + company: "", + name: "", + phone: "", + email: "", + website: "", + city: "", + address: "", + rating: "", + source: "", + verified: false, + verifiedAt: "", + analysis: "", + }, + classification: "", + classificationNote: "", + contactWebsiteHref: "", + contactPhones: [], + showBadContactModal: false, + badContactReason: "", + badContactSummary: "", + badContactActions: [], + isAnalyzingBadContact: false, + showNoInterestModal: false, + noInterestPartner: "nicht_bekannt", + browserMode: "website", + browserQuery: "", + browserUrl: "about:blank", + locationQuery: "", + locationFound: false, + locationLat: null, + locationLng: null, + radiusKm: 20, + radiusCirclePx: 90, + industryQuery: "", + minEntriesForResearch: 8, + companyProvider: "google_places", + aiProvider: "openai", + companyOptions: [], + hasSearchedCompanies: false, + searchBlocked: false, + radiusMax: 2000, + projectQueries: [], + selectedQueryId: null, + showNewQueryForm: false, + selectedQueryType: "query", + selectedCompanyLineId: null, + selectedCompanyOptionId: null, + queryModelAvailable: true, + queryModelWarningShown: false, + mapOverlayUrl: "", + showMapOverlay: false, + showRescheduleModal: false, + rescheduleAt: "", + rescheduleDays: 7, + rescheduleReason: "", + eventForm: { + title: "", + startDate: "", + endDate: "", + note: "", + }, + }); + + onWillStart(async () => { + await this.loadProfile(); + await this.loadSearchConfig(); + await this.loadProjects(); + this.rebuildCalendar(); + }); + } + + async loadSearchConfig() { + const cfg = await this.orm.call("dss.settings", "phonecenter_get_search_config", []); + this.state.minEntriesForResearch = Number(cfg.min_entries || 8); + this.state.companyProvider = cfg.company_provider || "google_places"; + this.state.aiProvider = cfg.ai_provider || "openai"; + this.state.radiusMax = Number(cfg.radius_max || 2000); + } + + async loadProfile() { + const profile = await this.orm.call("res.users", "get_phone_center_profile", []); + const labels = { + callcenter: "Callcenter", + projectmanagement: "Projektmanagement", + aussendienst: "Aussendienst", + administrator: "Administrator", + }; + this.state.profile = { + viewMode: profile.view_mode || "callcenter", + viewModeLabel: labels[profile.view_mode] || "Callcenter", + canSeeAllProjects: Boolean(profile.can_see_all_projects), + assignedProjectIds: profile.assigned_project_ids || [], + }; + } + + async loadProjects() { + const domain = this.state.profile.canSeeAllProjects + ? [] + : [["id", "in", this.state.profile.assignedProjectIds]]; + + this.state.projects = await this.orm.searchRead( + "dss.projects", + domain, + ["projektname", "standort_ort"], + { order: "projektname asc", limit: 300 } + ); + } + + _resetContactState() { + this.state.contactInfo = { + company: "", + name: "", + phone: "", + email: "", + website: "", + city: "", + address: "", + rating: "", + source: "", + verified: false, + verifiedAt: "", + analysis: "", + }; + this.state.contactWebsiteHref = ""; + this.state.contactPhones = []; + this.state.showNoInterestModal = false; + this.state.noInterestPartner = "nicht_bekannt"; + this.state.badContactSummary = ""; + this.state.badContactActions = []; + this.state.badContactReason = ""; + this.state.showBadContactModal = false; + } + + async onProjectChange(ev) { + const projectId = Number(ev.target.value) || null; + this.state.projectId = projectId; + this.state.contactId = null; + this.state.writerId = null; + this.state.centerViewMode = "research"; + this.state.calendarProvider = "internal"; + this.state.googleCalendarUrl = "https://calendar.google.com/calendar/embed?ctz=Europe%2FBerlin"; + this.state.contacts = []; + this.state.writers = []; + this.state.events = []; + this.resetEventForm(); + this._resetContactState(); + this.state.companyOptions = []; + this.state.hasSearchedCompanies = false; + this.state.searchBlocked = false; + this.state.projectQueries = []; + this.state.selectedQueryId = null; + this.state.selectedQueryType = "query"; + this.state.showNewQueryForm = false; + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + this.state.mapOverlayUrl = ""; + this.state.showMapOverlay = false; + + if (!projectId) { + this.rebuildCalendar(); + return; + } + + await this.loadProjectQueries(projectId); + + const contracts = await this.orm.searchRead( + "dss.contracts", + [["project", "=", projectId]], + [ + "contract_name", + "client", + "contact_company_name", + "contact_name", + "contact_telefon", + "contact_email", + "contact_web", + "contact_city", + "client_short_website", + "contract_writer", + "start_date", + "calc_end_date", + "contract_remark", + ], + { order: "id desc", limit: 500 } + ); + + this.state.contacts = contracts.map((contract) => ({ + id: contract.id, + label: contract.contract_name || `Vertrag ${contract.id}`, + source: contract, + })); + + if (!this.state.profile.canSeeAllProjects && contracts.length) { + this.applyContactInfo(contracts[0]); + } + + const writerMap = new Map(); + for (const contract of contracts) { + if (contract.contract_writer && contract.contract_writer[0]) { + writerMap.set(contract.contract_writer[0], { + id: contract.contract_writer[0], + name: contract.contract_writer[1], + }); + } + } + this.state.writers = [...writerMap.values()]; + if (this.state.writers.length) { + this.state.writerId = this.state.writers[0].id; + this.loadEventsFromContracts(); + await this.updateGoogleCalendarUrl(); + } else { + this.rebuildCalendar(); + await this.updateGoogleCalendarUrl(); + } + } + + setCenterViewResearch() { + this.state.centerViewMode = "research"; + } + + setCenterViewCalendar() { + this.state.centerViewMode = "calendar"; + } + + async onCalendarProviderChange(ev) { + this.state.calendarProvider = ev.target.value === "google" ? "google" : "internal"; + await this.updateGoogleCalendarUrl(); + } + + async updateGoogleCalendarUrl() { + if (this.state.calendarProvider !== "google") { + return; + } + + const writerId = Number(this.state.writerId || 0); + if (!writerId) { + this.state.googleCalendarUrl = "https://calendar.google.com/calendar/embed?ctz=Europe%2FBerlin"; + return; + } + + let email = ""; + let calendarId = ""; + try { + const users = await this.orm.read("res.users", [writerId], ["email", "login", "partner_id"]); + const user = (users && users[0]) || {}; + email = (user.email || user.login || "").trim(); + const partnerId = user.partner_id && user.partner_id[0]; + if (partnerId) { + const partners = await this.orm.read("res.partner", [partnerId], ["google_calendar_id"]); + const partner = (partners && partners[0]) || {}; + calendarId = String(partner.google_calendar_id || "").trim(); + } + } catch (error) { + email = ""; + calendarId = ""; + } + + const sourceCalendar = calendarId || email; + if (!sourceCalendar) { + this.state.googleCalendarUrl = "https://calendar.google.com/calendar/embed?ctz=Europe%2FBerlin"; + return; + } + + this.state.googleCalendarUrl = `https://calendar.google.com/calendar/embed?src=${encodeURIComponent(sourceCalendar)}&ctz=Europe%2FBerlin`; + } + + async loadProjectQueries(projectId) { + const queryRows = await this.callQueryModel("get_project_queries", [projectId], []); + this.state.projectQueries = queryRows || []; + } + + async onSelectSavedQuery(ev) { + const rawValue = String(ev.target.value || "").trim(); + if (!rawValue) { + this.state.selectedQueryId = null; + this.state.selectedQueryType = "query"; + this.state.companyOptions = []; + this.state.searchBlocked = false; + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + return; + } + + if (rawValue.startsWith("reschedule:")) { + const projectId = Number(rawValue.split(":")[1] || this.state.projectId || 0); + await this.loadRescheduleDetails(projectId); + return; + } + + const queryId = Number(rawValue) || null; + if (!queryId) { + return; + } + await this.loadSavedQueryDetails(queryId); + } + + async loadSavedQueryDetails(queryId) { + const details = await this.callQueryModel("get_query_details", [queryId], { ok: false }); + if (!details || !details.ok) { + this.notification.add("Suchanfrage konnte nicht geladen werden.", { type: "warning" }); + return; + } + + const query = details.query || {}; + this.state.selectedQueryId = Number(query.id || queryId); + this.state.selectedQueryType = "query"; + this.state.locationQuery = query.location_query || ""; + this.state.radiusKm = Number(query.radius_km || 20); + this.state.industryQuery = query.industry_query || ""; + this.state.companyOptions = details.companies || []; + this.state.searchBlocked = !Boolean(query.can_repeat); + this.state.hasSearchedCompanies = true; + this.state.showNewQueryForm = false; + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + this.updateRadiusCircle(); + } + + async loadRescheduleDetails(projectId) { + const details = await this.callQueryModel("get_reschedule_details", [projectId], { ok: false }); + if (!details || !details.ok) { + this.notification.add("Wiedervorlagen konnten nicht geladen werden.", { type: "warning" }); + return; + } + + this.state.selectedQueryId = details.query?.id || `reschedule:${projectId}`; + this.state.selectedQueryType = "reschedule"; + this.state.companyOptions = details.companies || []; + this.state.searchBlocked = false; + this.state.hasSearchedCompanies = true; + this.state.showNewQueryForm = false; + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + } + + showCreateNewQuery() { + this.state.showNewQueryForm = true; + this.state.selectedQueryId = null; + this.state.selectedQueryType = "query"; + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + this.state.companyOptions = []; + this.state.searchBlocked = false; + } + + async callQueryModel(method, args = [], fallback = null) { + try { + const result = await this.orm.call("dss.phonecenter.query", method, args); + this.state.queryModelAvailable = true; + return result; + } catch (error) { + const msg = String((error && (error.message || error.data?.message || error.data?.debug)) || ""); + if (msg.includes("has no attribute")) { + // Method not yet deployed on all workers: keep model available and let caller decide fallback. + return fallback; + } + if ( + msg.includes("dss.phonecenter.query") + || msg.includes("KeyError") + || msg.includes("RPC_ERROR") + ) { + this.state.queryModelAvailable = false; + this.state.projectQueries = []; + this.state.selectedQueryId = null; + this.state.selectedQueryType = "query"; + this.state.showNewQueryForm = true; + if (!this.state.queryModelWarningShown) { + this.notification.add("Query-Speicher noch nicht verfuegbar. Suche laeuft temporaer ohne gespeicherte Anfragen.", { type: "warning" }); + this.state.queryModelWarningShown = true; + } + return fallback; + } + throw error; + } + } + + onContactChange(ev) { + const contactId = Number(ev.target.value) || null; + this.state.contactId = contactId; + const match = this.state.contacts.find((item) => item.id === contactId); + if (!match) { + return; + } + this.applyContactInfo(match.source); + } + + applyContactInfo(source) { + const website = source.contact_web || source.client_short_website || ""; + this.state.contactInfo = { + company: source.contact_company_name || source.client?.[1] || "", + name: source.contact_name || "", + phone: source.contact_telefon || "", + email: source.contact_email || "", + website, + city: source.contact_city || "", + address: "", + rating: "", + source: "vertrag", + verified: true, + verifiedAt: "", + analysis: "", + }; + this.state.contactWebsiteHref = buildWebsiteUrl(website); + this.state.contactPhones = buildPhoneLinks(this.state.contactInfo.phone); + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + this.state.badContactSummary = ""; + this.state.badContactActions = []; + + if (website) { + this.openWebsiteInBrowser(website); + } else { + this.state.browserQuery = `${this.state.contactInfo.company || ""} ${this.state.contactInfo.city || ""}`.trim(); + this.state.browserMode = "maps"; + this.state.browserUrl = buildSafeUrl(this.state.browserMode, this.state.browserQuery); + } + this.state.mapOverlayUrl = ""; + this.state.showMapOverlay = false; + } + + async findLocation() { + const query = (this.state.locationQuery || "").trim(); + if (!query) { + this.notification.add("Bitte zuerst einen Ort eingeben.", { type: "warning" }); + return; + } + + try { + const result = await this.orm.call("dss.settings", "phonecenter_check_location", [query]); + if (!result || !result.found) { + this.state.locationFound = false; + this.state.locationLat = null; + this.state.locationLng = null; + this.notification.add("Ort wurde nicht gefunden.", { type: "warning" }); + return; + } + this.state.locationFound = true; + this.state.locationLat = result.lat; + this.state.locationLng = result.lng; + this.state.browserMode = "maps"; + this.state.browserQuery = result.address || query; + this.state.mapOverlayUrl = ""; + this.state.showMapOverlay = false; + this.autoAdjustMapZoom(); + this.updateRadiusCircle(); + this.loadBrowser(); + } catch (error) { + this.state.locationFound = false; + this.state.locationLat = null; + this.state.locationLng = null; + this.notification.add("Ort konnte nicht geprueft werden.", { type: "danger" }); + } + } + + onRadiusInput() { + this.updateRadiusCircle(); + this.autoAdjustMapZoom(); + if (this.state.locationFound) { + this.state.browserMode = "maps"; + this.state.browserQuery = this.state.locationQuery || this.state.browserQuery; + this.loadBrowser(); + } + } + + autoAdjustMapZoom() { + const radius = Number(this.state.radiusKm || 20); + let zoom = 12; + if (radius >= 800) { + zoom = 6; + } else if (radius >= 400) { + zoom = 7; + } else if (radius >= 200) { + zoom = 8; + } else if (radius >= 100) { + zoom = 9; + } else if (radius >= 50) { + zoom = 10; + } else if (radius >= 25) { + zoom = 11; + } + if (this.state.locationLat && this.state.locationLng) { + this.state.browserUrl = `https://www.google.com/maps?q=${this.state.locationLat},${this.state.locationLng}&z=${zoom}&output=embed`; + } + } + + updateRadiusCircle() { + const base = Number(this.state.radiusKm || 0); + const pixel = Math.max(40, Math.min(760, base * 0.45)); + this.state.radiusCirclePx = pixel; + } + + searchCompanies() { + return this._searchCompanies(); + } + + async _searchCompanies() { + if (!this.state.projectId) { + this.notification.add("Bitte zuerst ein Projekt waehlen.", { type: "warning" }); + return; + } + + if (!this.state.selectedQueryId && !this.state.showNewQueryForm) { + this.notification.add("Bitte alte Suchanfrage waehlen oder Neue Anfrage starten.", { type: "warning" }); + return; + } + + if (this.state.selectedQueryType === "reschedule" && !this.state.showNewQueryForm) { + this.notification.add("Wiedervorlagen sind nur eine Ansicht. Fuer neue Suche bitte Anfrage waehlen oder Neue Anfrage starten.", { type: "warning" }); + return; + } + + if (this.state.searchBlocked) { + this.notification.add( + `Naechste Suche erst ab ${this.state.minEntriesForResearch} Eintraegen in der Liste moeglich.`, + { type: "warning" } + ); + return; + } + + const branch = (this.state.industryQuery || "").trim(); + if (!branch) { + this.notification.add("Bitte eine Branche eingeben.", { type: "warning" }); + return; + } + + try { + if (!this.state.queryModelAvailable) { + const payload = { + industry: branch, + location_query: (this.state.locationQuery || this.state.contactInfo.city || "").trim(), + lat: this.state.locationLat, + lng: this.state.locationLng, + radius_km: Number(this.state.radiusKm || 20), + current_options: this.state.companyOptions, + }; + const result = await this.orm.call("dss.settings", "phonecenter_search_companies", [payload]); + this.state.companyOptions = result.companies || []; + this.state.minEntriesForResearch = Number(result.min_entries || this.state.minEntriesForResearch || 8); + this.state.searchBlocked = Boolean(result.search_blocked); + this.state.hasSearchedCompanies = true; + if (!this.state.companyOptions.length) { + this.notification.add("Keine Unternehmen gefunden.", { type: "warning" }); + } else { + this.notification.add(`${this.state.companyOptions.length} Unternehmen in der Liste.`, { type: "success" }); + } + return; + } + + let queryId = this.state.selectedQueryId; + if (!queryId) { + const created = await this.callQueryModel("create_query", [{ + project_id: this.state.projectId, + location_query: (this.state.locationQuery || "").trim(), + radius_km: Number(this.state.radiusKm || 20), + industry_query: branch, + }], { ok: false }); + if (!created || !created.ok || !created.query) { + this.notification.add((created && created.message) || "Anfrage konnte nicht erstellt werden.", { type: "warning" }); + return; + } + queryId = created.query.id; + this.state.selectedQueryId = Number(queryId); + this.state.showNewQueryForm = false; + await this.loadProjectQueries(this.state.projectId); + } + + const repeatInfo = await this.callQueryModel("can_repeat_query", [queryId], { ok: false, can_repeat: false }); + if (!repeatInfo.ok || !repeatInfo.can_repeat) { + this.state.searchBlocked = true; + this.notification.add("Vorhandene Such-Eintraege muessen erst abgearbeitet werden.", { type: "warning" }); + return; + } + + const payload = { + industry: branch, + location_query: (this.state.locationQuery || this.state.contactInfo.city || "").trim(), + lat: this.state.locationLat, + lng: this.state.locationLng, + radius_km: Number(this.state.radiusKm || 20), + current_options: this.state.companyOptions, + }; + const result = await this.orm.call("dss.settings", "phonecenter_search_companies", [payload]); + const saved = await this.callQueryModel("save_query_results", [queryId, result.companies || []], { ok: false }); + if (!saved || !saved.ok) { + this.notification.add("Suchergebnisse konnten nicht gespeichert werden.", { type: "warning" }); + return; + } + + this.state.companyOptions = saved.companies || []; + this.state.minEntriesForResearch = Number(result.min_entries || this.state.minEntriesForResearch || 8); + this.state.searchBlocked = !Boolean((saved.query || {}).can_repeat); + this.state.hasSearchedCompanies = true; + await this.loadProjectQueries(this.state.projectId); + if (!this.state.companyOptions.length) { + this.notification.add("Keine Unternehmen gefunden.", { type: "warning" }); + } else { + this.notification.add(`${this.state.companyOptions.length} Unternehmen in der Liste.`, { type: "success" }); + } + } catch (error) { + this.notification.add("Unternehmenssuche fehlgeschlagen.", { type: "danger" }); + } + } + + onCompanySelect(ev) { + return this._onCompanySelect(ev); + } + + async _onCompanySelect(ev) { + const selectedId = ev.target.value; + if (!selectedId) { + this.state.selectedCompanyOptionId = null; + this.state.selectedCompanyLineId = null; + return; + } + this.state.selectedCompanyOptionId = selectedId; + const company = this.state.companyOptions.find((option) => option.id === selectedId); + if (!company) { + return; + } + this.state.selectedCompanyLineId = company.line_id || null; + + try { + const detailsResult = await this.orm.call("dss.settings", "phonecenter_get_company_details", [{ company }]); + if (!detailsResult || !detailsResult.ok || !detailsResult.company) { + this.notification.add("Unternehmensdetails konnten nicht verifiziert werden.", { type: "warning" }); + return; + } + + const details = detailsResult.company; + const mapQuery = details.address || `${details.name || company.name || ""} ${details.city || this.state.locationQuery || ""}`.trim(); + const mapUrl = this._buildMapEmbedUrl(details, mapQuery); + + this.state.contactInfo = { + company: details.name || company.name || "", + name: "", + phone: details.phone || "", + email: details.email || "", + website: details.website || "", + city: details.city || this.state.locationQuery || "", + address: details.address || "", + rating: details.rating || "", + source: details.source || "api", + verified: Boolean(details.verified), + verifiedAt: details.verified_at || "", + analysis: details.analysis || "", + }; + this.state.contactWebsiteHref = buildWebsiteUrl(details.website || ""); + this.state.contactPhones = buildPhoneLinks(this.state.contactInfo.phone); + this.state.badContactSummary = ""; + this.state.badContactActions = []; + + if (details.website) { + this.openWebsiteInBrowser(details.website); + this.state.mapOverlayUrl = mapUrl; + this.state.showMapOverlay = Boolean(mapUrl); + } else { + this.state.browserMode = "maps"; + this.state.browserQuery = mapQuery; + this.state.browserUrl = mapUrl; + this.state.mapOverlayUrl = ""; + this.state.showMapOverlay = false; + } + + this.notification.add("Unternehmensdetails verifiziert geladen.", { type: "success" }); + } catch (error) { + this.notification.add("Unternehmensdetails konnten nicht geladen werden.", { type: "danger" }); + } + } + + async onWriterChange(ev) { + this.state.writerId = Number(ev.target.value) || null; + this.loadEventsFromContracts(); + await this.updateGoogleCalendarUrl(); + } + + _buildMapEmbedUrl(details, fallbackQuery) { + const lat = details && details.lat; + const lng = details && details.lng; + if (lat !== undefined && lat !== null && lng !== undefined && lng !== null) { + return `https://www.google.com/maps?q=${encodeURIComponent(`${lat},${lng}`)}&z=15&output=embed`; + } + const mapsUrl = (details && details.google_maps_url) || ""; + if (mapsUrl.includes("google.")) { + const query = (details && details.address) || fallbackQuery || mapsUrl; + return buildSafeUrl("maps", query); + } + return buildSafeUrl("maps", (details && details.address) || fallbackQuery || ""); + } + + closeMapOverlay() { + this.state.showMapOverlay = false; + } + + openWebsiteInBrowser(rawWebsite) { + const original = (rawWebsite || "").trim(); + const safeUrl = preferHttps(buildWebsiteUrl(original)); + this.state.browserMode = "website"; + this.state.browserQuery = safeUrl || original; + if (!safeUrl) { + this.state.browserUrl = "about:blank"; + return; + } + this.state.browserUrl = safeUrl; + } + + openMapOverlay() { + if (this.state.mapOverlayUrl) { + this.state.showMapOverlay = true; + } + } + + loadEventsFromContracts() { + const writerId = this.state.writerId; + if (!writerId) { + this.state.events = []; + this.rebuildCalendar(); + return; + } + + const rawEvents = this.state.contacts + .map((contact) => contact.source) + .filter((contract) => contract.contract_writer && contract.contract_writer[0] === writerId && contract.start_date) + .map((contract) => ({ + id: contract.id, + title: contract.contract_name || `Vertrag ${contract.id}`, + startDate: contract.start_date, + endDate: contract.calc_end_date || contract.start_date, + note: contract.contract_remark || "", + })); + + this.state.events = rawEvents; + this.rebuildCalendar(); + } + + rebuildCalendar() { + const year = this.state.calendarYear; + const month = this.state.calendarMonth; + const first = new Date(year, month, 1); + const startWeekday = (first.getDay() + 6) % 7; + const lastDay = new Date(year, month + 1, 0).getDate(); + const eventCountPerDay = new Map(); + + for (const event of this.state.events) { + const start = event.startDate ? String(event.startDate).slice(0, 10) : ""; + if (!start) { + continue; + } + const day = Number(start.slice(8, 10)); + const m = Number(start.slice(5, 7)) - 1; + const y = Number(start.slice(0, 4)); + if (y === year && m === month) { + eventCountPerDay.set(day, (eventCountPerDay.get(day) || 0) + 1); + } + } + + const names = ["Januar", "Februar", "Maerz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]; + this.state.calendarTitle = `${names[month]} ${year}`; + + const days = []; + for (let i = 0; i < startWeekday; i++) { + days.push({ key: `e-${i}`, day: 0, count: 0, cssClass: "inactive" }); + } + for (let day = 1; day <= lastDay; day++) { + const dateText = `${year}-${String(month + 1).padStart(2, "0")}-${String(day).padStart(2, "0")}`; + const selected = this.state.selectedDate === dateText; + days.push({ + key: dateText, + day, + count: eventCountPerDay.get(day) || 0, + dateText, + cssClass: selected ? "selected" : "", + }); + } + while (days.length % 7 !== 0) { + days.push({ key: `x-${days.length}`, day: 0, count: 0, cssClass: "inactive" }); + } + + this.state.calendarDays = days; + } + + onCalendarDayClick(ev) { + const dateText = ev.currentTarget.dataset.dateText || ""; + if (!dateText) { + return; + } + this.state.selectedDate = dateText; + const dayEvent = this.state.events.find((event) => event.startDate === dateText); + if (dayEvent) { + this.state.selectedEventId = dayEvent.id; + this.state.eventForm = { + title: dayEvent.title, + startDate: dayEvent.startDate, + endDate: dayEvent.endDate, + note: dayEvent.note || "", + }; + this.state.editMode = false; + } + this.rebuildCalendar(); + } + + setClassification(value) { + this.state.classification = value; + } + + setClassificationKeinInteresse() { + this.setClassification("kein_interesse"); + this.state.showNoInterestModal = true; + this.state.noInterestPartner = "nicht_bekannt"; + } + + setClassificationKeinGuterKontakt() { + this.setClassification("kein_guter_kontakt"); + this.state.showBadContactModal = true; + this.state.badContactReason = ""; + } + + setClassificationRueckruf() { + this.setClassification("rueckruf"); + this.openRescheduleModal(); + } + + setClassificationEmailVersenden() { + this.setClassification("email_versenden"); + } + + setClassificationTermin() { + this.setClassification("termin"); + } + + closeBadContactModal() { + this.state.showBadContactModal = false; + } + + onBadContactReasonInput(ev) { + this.state.badContactReason = ev.target.value || ""; + } + + async submitBadContactReason() { + const reason = (this.state.badContactReason || "").trim(); + if (!reason) { + this.notification.add("Bitte Grund fuer 'kein guter Kontakt' eingeben.", { type: "warning" }); + return; + } + + this.state.isAnalyzingBadContact = true; + try { + const review = await this.orm.call("dss.settings", "phonecenter_review_bad_contact", [{ + reason, + note: this.state.classificationNote || "", + contact: this.state.contactInfo, + }]); + if (!review || !review.ok) { + this.notification.add((review && review.message) || "Analyse konnte nicht erstellt werden.", { type: "warning" }); + return; + } + + this.state.badContactSummary = review.summary || ""; + this.state.badContactActions = review.actions || []; + this.state.classificationNote = this.state.classificationNote + ? `${this.state.classificationNote}\n[Kein guter Kontakt] ${reason}` + : `[Kein guter Kontakt] ${reason}`; + this.state.showBadContactModal = false; + } catch (error) { + const msg = String((error && (error.message || error.data?.message || error.data?.debug)) || ""); + const fallback = buildBadContactFallback(reason, this.state.contactInfo); + this.state.badContactSummary = fallback.summary; + this.state.badContactActions = fallback.actions; + this.state.classificationNote = this.state.classificationNote + ? `${this.state.classificationNote}\n[Kein guter Kontakt] ${reason}` + : `[Kein guter Kontakt] ${reason}`; + this.state.showBadContactModal = false; + + if (msg.includes("phonecenter_review_bad_contact") || msg.includes("AttributeError")) { + this.notification.add("LLM-Analyse auf diesem Server noch nicht verfuegbar, Fallback-Empfehlungen geladen.", { type: "warning" }); + } else { + this.notification.add("LLM-Analyse fehlgeschlagen, Fallback-Empfehlungen geladen.", { type: "warning" }); + } + } finally { + this.state.isAnalyzingBadContact = false; + } + } + + async applyRecommendedAction(ev) { + const action = (ev.currentTarget.dataset.action || "").trim(); + if (!action) { + return; + } + + if (action === "reschedule") { + this.openRescheduleModal(); + return; + } + + const decisionLabels = { + reschedule: "Wiedervorlage", + discard: "Komplett verwerfen", + research: "Weitere Recherchen", + keep: "Zunaechst behalten", + }; + + if (action === "discard" && (!this.state.queryModelAvailable || !this.state.selectedCompanyLineId)) { + this.notification.add("Verwerfen ist nur bei gespeicherten Query-Kontakten moeglich.", { type: "warning" }); + return; + } + + const currentLineId = this.state.selectedCompanyLineId; + try { + if (this.state.queryModelAvailable && currentLineId) { + const result = await this.callQueryModel("apply_contact_decision", [ + currentLineId, + action, + this.state.badContactReason || "", + this.state.badContactSummary || "", + ], { ok: false }); + + if (!result || !result.ok) { + if (action === "discard") { + this._removeCompanyFromDropdown(currentLineId); + await this._loadNextCompanyAfterRemoval(); + } + this.notification.add("Backend-Entscheidungsmethode nicht verfuegbar. Aktion lokal angewendet.", { type: "warning" }); + return; + } + + if (action === "discard") { + this._removeCompanyFromDropdown(currentLineId); + if (this.state.selectedQueryId) { + await this._reloadCurrentBucket(); + await this.loadProjectQueries(this.state.projectId); + } + await this._loadNextCompanyAfterRemoval(); + } else if (this.state.selectedQueryId) { + await this._reloadCurrentBucket(); + await this.loadProjectQueries(this.state.projectId); + } + } + } catch (error) { + if (action === "discard") { + this._removeCompanyFromDropdown(currentLineId); + await this._loadNextCompanyAfterRemoval(); + this.notification.add("Verwerfen lokal angewendet (Backend noch nicht aktualisiert).", { type: "warning" }); + return; + } + this.notification.add("Entscheidung konnte serverseitig nicht gespeichert werden.", { type: "danger" }); + return; + } + + this.notification.add(`Empfehlung gesetzt: ${decisionLabels[action] || action}.`, { type: "success" }); + } + + closeNoInterestModal() { + this.state.showNoInterestModal = false; + } + + onNoInterestPartnerChange(ev) { + this.state.noInterestPartner = ev.target.value || "nicht_bekannt"; + } + + async confirmNoInterestPartner() { + const partnerMap = { + entscheider: "Entscheider", + geschaeftsfuehrer: "Geschaeftsfuehrer", + mitarbeiter: "Mitarbeiter", + werbeabteilung: "Werbeabteilung", + nicht_bekannt: "nicht bekannt", + }; + const partner = this.state.noInterestPartner || "nicht_bekannt"; + const label = partnerMap[partner] || "nicht bekannt"; + + this.state.classificationNote = this.state.classificationNote + ? `${this.state.classificationNote}\n[Kein Interesse] Anrufpartner: ${label}` + : `[Kein Interesse] Anrufpartner: ${label}`; + + const currentLineId = this.state.selectedCompanyLineId; + if (this.state.queryModelAvailable && currentLineId) { + await this.callQueryModel("apply_contact_decision", [ + currentLineId, + "discard", + `Anrufpartner: ${label}`, + this.state.classificationNote || "", + ], { ok: false }); + } + + this._removeCompanyFromDropdown(currentLineId); + await this._loadNextCompanyAfterRemoval(); + this.state.showNoInterestModal = false; + this.notification.add("Kontakt als abgeschlossen markiert.", { type: "success" }); + } + + openRescheduleModal() { + if (!this.state.selectedCompanyLineId) { + this.notification.add("Bitte zuerst ein Unternehmen aus der Liste waehlen.", { type: "warning" }); + return; + } + const baseDays = Math.max(1, Number(this.state.rescheduleDays || 7)); + const target = new Date(Date.now() + baseDays * 24 * 60 * 60 * 1000); + this.state.rescheduleDays = baseDays; + this.state.rescheduleAt = formatDateTimeLocal(target); + this.state.rescheduleReason = ""; + this.state.showRescheduleModal = true; + } + + closeRescheduleModal() { + this.state.showRescheduleModal = false; + } + + onRescheduleDaysInput(ev) { + const days = Math.max(1, Number(ev.target.value || 1)); + this.state.rescheduleDays = days; + const target = new Date(Date.now() + days * 24 * 60 * 60 * 1000); + this.state.rescheduleAt = formatDateTimeLocal(target); + } + + onRescheduleAtInput(ev) { + this.state.rescheduleAt = ev.target.value || ""; + } + + onRescheduleReasonInput(ev) { + this.state.rescheduleReason = ev.target.value || ""; + } + + async confirmReschedule() { + const currentLineId = this.state.selectedCompanyLineId; + if (!currentLineId) { + this.notification.add("Kein Kontakt fuer Wiedervorlage ausgewaehlt.", { type: "warning" }); + return; + } + + if (!this.state.queryModelAvailable) { + this.notification.add("Wiedervorlage benoetigt den Query-Speicher. Bitte spaeter erneut versuchen.", { type: "warning" }); + return; + } + + const rescheduleAt = (this.state.rescheduleAt || "").trim(); + if (!rescheduleAt) { + this.notification.add("Bitte Zeitpunkt fuer die Wiedervorlage angeben.", { type: "warning" }); + return; + } + + const summary = [ + this.state.rescheduleReason || "", + `Wiedervorlage bis: ${rescheduleAt}`, + `Zeitraum: ${Number(this.state.rescheduleDays || 0)} Tag(e)`, + ].filter(Boolean).join("\n"); + const result = await this.callQueryModel("apply_contact_decision", [ + currentLineId, + "reschedule", + `Wiedervorlage bis ${rescheduleAt}`, + summary, + ], { ok: false }); + const saved = Boolean(result && result.ok); + + if (!saved) { + this.notification.add("Wiedervorlage konnte nicht gespeichert werden.", { type: "warning" }); + return; + } + + this._removeCompanyFromDropdown(currentLineId); + await this._loadNextCompanyAfterRemoval(); + await this.loadProjectQueries(this.state.projectId); + await this._reloadCurrentBucket(); + this.state.showRescheduleModal = false; + this.notification.add("Kontakt wurde bis zur Wiedervorlage aus der Liste entfernt.", { type: "success" }); + } + + async _reloadCurrentBucket() { + if (!this.state.selectedQueryId) { + return; + } + if (this.state.selectedQueryType === "reschedule") { + await this.loadRescheduleDetails(this.state.projectId); + return; + } + + const queryId = Number(this.state.selectedQueryId) || null; + if (queryId) { + await this.loadSavedQueryDetails(queryId); + } + } + + _removeCompanyFromDropdown(lineId) { + if (!lineId) { + return; + } + this.state.companyOptions = this.state.companyOptions.filter((item) => item.line_id !== lineId); + if (this.state.selectedCompanyLineId === lineId) { + this.state.selectedCompanyLineId = null; + this.state.selectedCompanyOptionId = null; + } + } + + async _loadNextCompanyAfterRemoval() { + const next = this.state.companyOptions[0]; + if (!next) { + this.state.selectedCompanyOptionId = null; + this.state.selectedCompanyLineId = null; + return; + } + await this._onCompanySelect({ target: { value: next.id } }); + } + + loadBrowser() { + this.state.browserUrl = buildSafeUrl(this.state.browserMode, this.state.browserQuery); + } + + openInNewTab() { + const url = buildSafeUrl(this.state.browserMode, this.state.browserQuery); + window.open(url, "_blank", "noopener,noreferrer"); + } + + prevMonth() { + if (this.state.calendarMonth === 0) { + this.state.calendarMonth = 11; + this.state.calendarYear -= 1; + } else { + this.state.calendarMonth -= 1; + } + this.rebuildCalendar(); + } + + nextMonth() { + if (this.state.calendarMonth === 11) { + this.state.calendarMonth = 0; + this.state.calendarYear += 1; + } else { + this.state.calendarMonth += 1; + } + this.rebuildCalendar(); + } + + enableEdit() { + if (!this.state.selectedEventId) { + this.notification.add("Bitte zuerst einen Termin aus dem Kalender auswaehlen.", { type: "warning" }); + return; + } + this.state.editMode = true; + } + + async saveEvent() { + if (!this.state.selectedEventId) { + return; + } + const eventId = this.state.selectedEventId; + await this.orm.write("dss.contracts", [eventId], { + contract_name: this.state.eventForm.title, + start_date: this.state.eventForm.startDate || false, + calc_end_date: this.state.eventForm.endDate || false, + contract_remark: this.state.eventForm.note || "", + }); + + const localEvent = this.state.events.find((event) => event.id === eventId); + if (localEvent) { + localEvent.title = this.state.eventForm.title; + localEvent.startDate = this.state.eventForm.startDate; + localEvent.endDate = this.state.eventForm.endDate; + localEvent.note = this.state.eventForm.note; + } + + this.state.editMode = false; + this.state.selectedDate = this.state.eventForm.startDate || this.state.selectedDate; + this.rebuildCalendar(); + this.notification.add("Termin wurde gespeichert.", { type: "success" }); + } + + resetEventForm() { + this.state.eventForm = { + title: "", + startDate: formatDate(new Date()), + endDate: formatDate(new Date()), + note: "", + }; + this.state.selectedDate = null; + this.state.selectedEventId = null; + this.state.editMode = false; + } +} + +PhoneCenterAction.template = "DigitalSignage.PhoneCenterAction"; + +registry.category("actions").add("dss_phone_center_action", PhoneCenterAction); diff --git a/static/src/scss/navbar_ai_button.scss b/static/src/scss/navbar_ai_button.scss new file mode 100755 index 0000000..d6525a5 --- /dev/null +++ b/static/src/scss/navbar_ai_button.scss @@ -0,0 +1,50 @@ +.o_ai_agent_fullscreen_dialog { + width: 96vw; + max-width: 96vw; + margin: 1vh auto; +} + +.o_ai_agent_fullscreen_dialog .modal-content { + min-height: 96vh; +} + +.o_ai_agent_dialog { + display: flex; + flex-direction: column; +} + +.o_contract_go_widget { + .o_contract_go_input { + width: 110px; + border-radius: 0; + padding-left: 10px; + padding-right: 10px; + color: #fff; + background-color: transparent; + border-color: rgba(255, 255, 255, 0.5); + + &::placeholder { + color: rgba(255, 255, 255, 0.6); + } + + &:focus { + background-color: transparent; + color: #fff; + border-color: #fff; + box-shadow: none; + } + } + + .o_contract_go_button { + width: 32px; + height: 32px; + border-radius: 50%; + padding: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.7rem; + font-weight: 600; + flex-shrink: 0; + } +} diff --git a/static/src/scss/phone_center_action.scss b/static/src/scss/phone_center_action.scss new file mode 100755 index 0000000..4a77b25 --- /dev/null +++ b/static/src/scss/phone_center_action.scss @@ -0,0 +1,501 @@ +.o_dss_phone_center { + height: 100%; + display: flex; + flex-direction: column; + gap: 12px; + padding: 12px; + background: linear-gradient(120deg, #f4f7fb 0%, #eef4ef 100%); +} + +.o_dss_phone_center__topbar { + display: grid; + gap: 12px; + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.o_dss_phone_center__topbar--callcenter { + grid-template-columns: repeat(2, minmax(0, 1fr)); + align-items: end; +} + +.o_dss_phone_center__topbar--callcenter_bottom { + grid-template-columns: 1fr; +} + +.o_dss_phone_center__field { + display: flex; + flex-direction: column; + gap: 6px; +} + +.o_dss_phone_center__field label { + font-weight: 600; + font-size: 12px; + color: #264653; +} + +.o_dss_phone_center select, +.o_dss_phone_center input, +.o_dss_phone_center textarea, +.o_dss_phone_center button { + border: 1px solid #b9c6cd; + border-radius: 8px; + padding: 8px; + font-size: 13px; + background: #ffffff; +} + +.o_dss_phone_center button { + cursor: pointer; + background: #1d3557; + color: #ffffff; + border-color: #1d3557; +} + +.o_dss_phone_center button.secondary { + background: #ffffff; + color: #1d3557; +} + +.o_dss_phone_center__layout { + flex: 1; + min-height: 0; + display: grid; + gap: 12px; + grid-template-columns: minmax(280px, 1fr) minmax(680px, 2.4fr); +} + +.o_dss_phone_center__col { + min-height: 0; + display: grid; + gap: 12px; +} + +.o_dss_phone_center__col--left, +.o_dss_phone_center__col--right { + grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); +} + +.o_dss_phone_center__col--center { + grid-template-rows: minmax(0, 1fr); +} + +.o_dss_phone_center__panel { + min-height: 0; + border: 1px solid #d8e2dc; + border-radius: 10px; + background: rgba(255, 255, 255, 0.95); + box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05); + display: flex; + flex-direction: column; + padding: 10px; + gap: 10px; +} + +.o_dss_phone_center__panel_title { + display: flex; + align-items: center; + justify-content: space-between; + font-weight: 700; + color: #264653; +} + +.o_dss_phone_center__info_grid { + display: grid; + grid-template-columns: 1fr; + gap: 8px; + font-size: 13px; +} + +.o_dss_phone_center__info_grid div { + display: flex; + justify-content: space-between; + gap: 8px; +} + +.o_dss_phone_center__phone_links { + display: inline-flex; + gap: 6px; + flex-wrap: wrap; + justify-content: flex-end; +} + +.o_dss_phone_center__phone_links a { + color: #0a5ea8; + text-decoration: underline; + font-weight: 600; +} + +.o_dss_phone_center__hint { + margin-top: auto; + font-size: 12px; + color: #61717a; +} + +.o_dss_phone_center__analysis { + border: 1px solid #d8e2dc; + border-radius: 8px; + background: #f8fbff; + padding: 8px; + font-size: 12px; + color: #243b53; +} + +.o_dss_phone_center__analysis p { + margin: 4px 0 0; +} + +.o_dss_phone_center__search_block { + margin-top: 8px; + border-top: 1px dashed #d2dbe0; + padding-top: 10px; + display: grid; + gap: 8px; +} + +.o_dss_phone_center__inline_fields { + display: grid; + grid-template-columns: 1fr auto; + gap: 8px; +} + +.o_dss_phone_center__muted { + font-size: 11px; + color: #657580; +} + +.o_dss_phone_center__classification { + display: grid; + gap: 8px; + grid-template-columns: repeat(2, minmax(0, 1fr)); +} + +.o_dss_phone_center__classification button.active { + background: #2a9d8f; + border-color: #2a9d8f; +} + +.o_dss_phone_center__panel--bottom textarea { + min-height: 120px; + resize: vertical; +} + +.o_dss_phone_center__recommendations { + border: 1px solid #d8e2dc; + border-radius: 8px; + padding: 8px; + background: #f8fbff; + font-size: 12px; + color: #243b53; +} + +.o_dss_phone_center__recommendations p { + margin: 6px 0; +} + +.o_dss_phone_center__recommendation_actions { + display: grid; + gap: 6px; +} + +.o_dss_phone_center__browser_toolbar { + display: grid; + gap: 8px; + grid-template-columns: 150px 1fr auto auto; +} + +.o_dss_phone_center__browser_wrap { + min-height: 0; +} + +.o_dss_phone_center__panel_header_main { + margin: -10px -10px 0; + padding: 10px; + border-bottom: 1px solid #d8e2dc; + background: linear-gradient(135deg, #eef5f8 0%, #f5faf5 100%); + border-radius: 10px 10px 0 0; +} + +.o_dss_phone_center__panel_header_sub { + margin: 0 -10px; + padding: 10px; + background: #edf3fb; + border-top: 1px solid #d7e2ee; + border-bottom: 1px solid #d7e2ee; +} + +.o_dss_phone_center__panel_switch { + display: inline-flex; + gap: 8px; +} + +.o_dss_phone_center__panel_switch--icons button { + min-width: 38px; + width: 38px; + height: 34px; + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0; +} + +.o_dss_phone_center__panel_switch--icons button i { + font-size: 14px; +} + +.o_dss_phone_center__panel_switch button.active { + background: #2a9d8f; + color: #ffffff; + border-color: #2a9d8f; +} + +.o_dss_phone_center__iframe { + border: 1px solid #d2dbe0; + border-radius: 8px; + width: 100%; + min-height: 0; + flex: 1; + background: #ffffff; +} + +.o_dss_phone_center__map_wrap { + position: relative; + min-height: 0; + flex: 1; + display: flex; +} + +.o_dss_phone_center__map_overlay_toggle { + position: absolute; + top: 10px; + right: 10px; + z-index: 6; +} + +.o_dss_phone_center__map_overlay { + position: absolute; + top: 10px; + right: 10px; + width: 46%; + max-width: 420px; + height: 52%; + max-height: 320px; + border: 1px solid #d2dbe0; + border-radius: 10px; + background: #ffffff; + box-shadow: 0 10px 24px rgba(0, 0, 0, 0.22); + z-index: 7; + overflow: hidden; + display: flex; + flex-direction: column; +} + +.o_dss_phone_center__map_overlay_head { + display: flex; + align-items: center; + justify-content: space-between; + padding: 6px 8px; + background: #f4f8fb; + border-bottom: 1px solid #d2dbe0; + font-size: 12px; + font-weight: 600; + color: #1d3557; +} + +.o_dss_phone_center__map_overlay_head button { + width: 28px; + height: 28px; + padding: 0; +} + +.o_dss_phone_center__map_overlay_iframe { + width: 100%; + height: 100%; + border: 0; +} + +.o_dss_phone_center__modal_backdrop { + position: fixed; + inset: 0; + background: rgba(15, 23, 42, 0.45); + z-index: 90; + display: flex; + align-items: center; + justify-content: center; +} + +.o_dss_phone_center__modal { + width: calc(100% - 24px); + max-width: 520px; + background: #ffffff; + border-radius: 10px; + box-shadow: 0 18px 36px rgba(0, 0, 0, 0.24); + padding: 12px; + display: grid; + gap: 10px; +} + +.o_dss_phone_center__modal textarea { + min-height: 120px; + resize: vertical; +} + +.o_dss_phone_center__modal_actions { + display: flex; + justify-content: flex-end; + gap: 8px; +} + +.o_dss_phone_center__map_circle { + position: absolute; + border: 2px solid rgba(220, 38, 38, 0.65); + background: rgba(220, 38, 38, 0.15); + border-radius: 999px; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + pointer-events: none; +} + +.o_dss_phone_center__calendar_toolbar { + display: grid; + gap: 8px; + grid-template-columns: 1fr; +} + +.o_dss_phone_center__calendar_toolbar--top { + grid-template-columns: 1fr 1fr; +} + +.o_dss_phone_center__calendar_settings { + display: flex; + flex-direction: column; + gap: 6px; +} + +.o_dss_phone_center__calendar_settings label { + font-size: 12px; + font-weight: 600; + color: #264653; +} + +.o_dss_phone_center__calendar_split { + min-height: 0; + flex: 1; + display: grid; + gap: 10px; + grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); +} + +.o_dss_phone_center__calendar_area, +.o_dss_phone_center__event_area { + min-height: 0; + border: 1px solid #d8e2dc; + border-radius: 10px; + background: #ffffff; + padding: 10px; + display: flex; + flex-direction: column; + gap: 8px; +} + +.o_dss_phone_center__month_switch { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} + +.o_dss_phone_center__month_switch button { + width: 34px; + height: 34px; + padding: 0; +} + +.o_dss_phone_center__calendar_grid { + display: grid; + gap: 6px; + grid-template-columns: repeat(7, minmax(0, 1fr)); + overflow: auto; +} + +.o_dss_phone_center__calendar_grid button { + min-height: 52px; + text-align: left; + font-size: 11px; + background: #f6f9fc; + color: #1f2933; + border-color: #d9e3ea; +} + +.o_dss_phone_center__calendar_grid button.selected { + border-color: #2a9d8f; + box-shadow: 0 0 0 1px #2a9d8f; +} + +.o_dss_phone_center__calendar_grid button.inactive { + background: #f2f4f6; + color: #a0aab3; +} + +.o_dss_phone_center__calendar_grid .day_no { + font-weight: 700; +} + +.o_dss_phone_center__calendar_grid .day_count { + margin-top: 2px; + font-size: 10px; +} + +.o_dss_phone_center__event_form { + display: grid; + gap: 6px; + grid-template-columns: 1fr; + overflow: auto; +} + +.o_dss_phone_center__event_form textarea { + min-height: 110px; + resize: vertical; +} + +@media (max-width: 1400px) { + .o_dss_phone_center__topbar, + .o_dss_phone_center__topbar--callcenter, + .o_dss_phone_center__topbar--callcenter_bottom { + grid-template-columns: 1fr; + } + + .o_dss_phone_center__layout { + grid-template-columns: 1fr; + grid-template-rows: auto auto; + } + + .o_dss_phone_center__col--left { + grid-template-rows: minmax(220px, auto) minmax(220px, auto); + } + + .o_dss_phone_center__browser_toolbar { + grid-template-columns: 1fr; + } + + .o_dss_phone_center__inline_fields { + grid-template-columns: 1fr; + } + + .o_dss_phone_center__calendar_toolbar--top, + .o_dss_phone_center__calendar_split { + grid-template-columns: 1fr; + } + + .o_dss_phone_center__iframe { + min-height: 380px; + } + + .o_dss_phone_center__map_overlay { + width: calc(100% - 20px); + right: 10px; + left: 10px; + height: 44%; + } +} diff --git a/static/src/scss/style.scss b/static/src/scss/style.scss index c2b485d..501b582 100755 --- a/static/src/scss/style.scss +++ b/static/src/scss/style.scss @@ -98,7 +98,8 @@ .screenview_main { background-color:#000000; - padding:20px; + padding:0; + position:relative; float:left; } @@ -115,6 +116,53 @@ height:100%; } + .screenview_img_placeholder { + background-color: #fff8cc; + color: #2f2a1c; + text-align: center; + padding: 6px; + border: 1px solid #e8df9a; + position: relative; + } + + .screenview_img_placeholder_text { + font-size: 12px; + line-height: 1.2; + font-weight: 600; + word-break: break-word; + white-space: pre-wrap; + } + + .screenview_field_name { + position: absolute; + top: 4px; + left: 4px; + font-size: 10px; + font-weight: 700; + color: #2f2a1c; + background-color: rgba(255, 248, 204, 0.8); + padding: 2px 4px; + border-radius: 2px; + pointer-events: none; + max-width: 80%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .screenview_field_size { + position: absolute; + bottom: 4px; + left: 4px; + font-size: 10px; + font-weight: 700; + color: #2f2a1c; + background-color: rgba(255, 248, 204, 0.8); + padding: 2px 4px; + border-radius: 2px; + pointer-events: none; + } + .o_dark_panel { background-color: #000000; position: fixed; diff --git a/static/src/xml/dss_screenview_controller.xml b/static/src/xml/dss_screenview_controller.xml index e053e75..a6fb7c4 100755 --- a/static/src/xml/dss_screenview_controller.xml +++ b/static/src/xml/dss_screenview_controller.xml @@ -3,6 +3,27 @@ + +
+
+ + +
+ + +
+
diff --git a/static/src/xml/dss_screenview_renderer.xml b/static/src/xml/dss_screenview_renderer.xml index d6092e2..de620ac 100755 --- a/static/src/xml/dss_screenview_renderer.xml +++ b/static/src/xml/dss_screenview_renderer.xml @@ -5,20 +5,29 @@
- - + + + -
- - -
-
-
-
-
+
+ +
+ + + +
+ +
+ +
+
+
+
+
-
+
+
diff --git a/static/src/xml/dss_trigger_condition_view_renderer.xml b/static/src/xml/dss_trigger_condition_view_renderer.xml index d2f768f..5cf3753 100755 --- a/static/src/xml/dss_trigger_condition_view_renderer.xml +++ b/static/src/xml/dss_trigger_condition_view_renderer.xml @@ -44,6 +44,8 @@ + +
diff --git a/static/src/xml/form_button.xml b/static/src/xml/form_button.xml index 47db1c2..48bdd9c 100755 --- a/static/src/xml/form_button.xml +++ b/static/src/xml/form_button.xml @@ -5,6 +5,7 @@ +
+ + + + + + +
+
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ + +
+ +
+ + +
+
+ AI Agent schreibt... +
+ + + + +
+
+
+ diff --git a/static/src/xml/phone_center_action.xml b/static/src/xml/phone_center_action.xml new file mode 100755 index 0000000..d1371ed --- /dev/null +++ b/static/src/xml/phone_center_action.xml @@ -0,0 +1,351 @@ + + + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+ + +
+
+ +
+ +
+ + +
+
+
+ + +
+
+ +
+ + +
+
+
+ +
+
+ + + Naechste Suche erst ab Eintraegen in der Liste moeglich. +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+
+
Kontaktinformationen
+
+
Firma
+
Name
+
+ Telefon + + + + + + - +
+
Email
+
+
Ort
+
Adresse
+
Rating
+
Quelle
+
+
+ Analyse +

+

+ +
+ Verifiziert via am . +
+
+
+
Kontakt klassifizieren
+
+ + + + + +
+
+ LLM-Einschaetzung +

+

+ + + +
+
+ +
+
+ +
+
+
+
+ Recherche + Kalenderansicht +
+ + +
+
+
+ + +
+
+ + + + +
+
+
+ + +
+
+ Maps + +
+ +
+
+
+
+
+ + +
+
+
+ + +
+
+ + +
+
+
+ + +
+
+
+ + + +
+
+ + + +
+
+
+
+ Termin-Details + + +
+
+ + + + + + + + +
+
+
+
+ + + + +
+
+
+
+ +
+
+
Warum kein guter Kontakt?
+ +
+ + +
+
+
+ +
+
+
Kein Interesse: Wer war der Anrufpartner?
+ +
+ + +
+
+
+ +
+
+
Wiedervorlage planen
+ + + + + + +
+ + +
+
+
+
+
+
diff --git a/temp/temp.temp b/temp/temp.temp index 2b7b2b0e02b702d0d53c502b5d017eac71517dd6..c3ddbf564c0c68ff2e1e88b805ad12fe1f80181f 100755 GIT binary patch literal 180720 zcmeEv3p|s3|Nk{}h(d?0q*z5Yq$4ReHfc_U&Dlzl(om68#m!dkQcFp6Qdo|2EFw|T z**U{dI;b3S2o-bKZ2sTNp}Oy<-~ac2p8xOpJ@<1ztJmz>%ywPh>$A`2{ds@hpU*Y+ zV(c9>)6~$!5JDgj&_(bc8hZs9K-h(fN{aKbN{f}$)v&8|cI)eCY3T&oJDTi{pk28b zP79+ma@!v>(wZ{qVWndgO}(74v9YTU!4K|OJAZ5#eiMY6y1I_0j=#RX|8P=R((vE? zZ|ngyYnu4+ndV5u5=dkg0yzsY_5{K}5JC*>Exf~%{}3WbQ896eX_8XY!3*+cLLvwx zQbZIfCMGHhUL6E}4~fnao4t6AzW5xHv&52vsI^BUu1{0il>HEGS@T(W-7fEAl2UW$ z$<3Evx@GGB6_=Loy

IVTF$N9yxaMA3JM=Re)9BLNoiSmZ5_M5q4CAb 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 ?=%~J*` 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�kH5Q5?54nSdQq5H=eO+RpD1+og5S9r!Vg#9 zU-f?5sV4uZwymnn@hko@K}yU%ylRd4HZ$j)s_!%o3?AW_v$@NYgV&^3Op@a11sk=< zNi)j&d+SW$9YwQ(X8zW?*^;nmVE$;<;+zg(wcf8sF%qd&@aG%Y;4)0hrz#z@U`jmD z=YrKooF(T{`58|YLzfIcM^p=IR2q>rHNC{OqSXoxG{k4-YT+Dg1ShVFiEzoLg(&W< z>5Ph^2W7qatAdhH|F7rf-{oiQiE=05_!H$oCUvtam2vn~0pEo1o!?avgeZ4(QU6)t zV!>+m^)Ob_SCYymA>E_@_G_21pckjrKPkbpf$%|k*0?-OiS>U092HjfD+nXUW52~_ zE3oDv@M3UewY@4)#gM%Djx3fgXZ?T%W#bWKRr}iIET>=UfIz!AmuOE?*hlt4Epxb9 zw|!5LeN*Ve�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

p0*HLx+qRg5sCoz3$*9s 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 literal 305046 zcmeFYbzGFq`!BvrcZh_9AP5Ku?9!dm-IBU23oNz3E*;W}N{e)N2uevCfJiq;OSjS` z!dZ-`zR&rc@2}4J=QFPt+%t1uQ}3C%-q$sA@5QH!IRK4VT}Y5$T^`YGl3cPTel zCowlSxRsa{)QTS_2odFmh(H9m1)w4zZc(t60JjK42n4kfv4UEQqI(1YR{g4u<7agc zZxD6ZyanM7!xk6$3Ud}L2JzEsY zS&Ww#>dpgqMnQQHt~R_*Fb^aYVFg3-{*p)jkVm2Ad7%hLX9N=6kP#eZtM3YdJHf1E z9c&P;=%gbYs)6nV1U;AswFAt_24#CqAjrxI;s|rPtl65$5#j{5MvFip4mQ?ETL_<^kkw_4cbRx;Z>mK- zRpGy)79yHh-OG3<>rF+xMIG?`8qLml0%14Q8Dgb!+2*f+A^EGXH-Ge%59;t=rvT~z zfjgq*F~~3bS!ino6+^*M4lslg%n9ZSLBq}jcZAr$;OH0D2vM#Y~IthMW7H!TZA(&pAe4-510vZIm!1f7XdGb2Q0wD$8;Izc15C- z0{lE6)ITb^2Y0eY1itx!C*tP{`J+x7cbMzt3|RlH`vQ)H+c-f`Zmuv-4J6FLn&k)n zlDt1!`@gk6eiY&PqdL1kH$qT0)Xmkwll?FC|5(v~O8hMQYu*2vXjS;Tri;QES&(P* z&8_ZZu-Ll+t9SuJmrP=NoJ!&0@}HG*{I4qgV;%mg)?btG!J%E#`F#Vr?ehhfA# z87#UXoR-ge^b%4O1^=?*000o#uf_9oq4PoiWyAk5V)O#y{d~EA21AUAzGeeOZqnQc zGRBbv1>uN-g0OC6VqyR>Fvut)F4#+125VW>G@-)R8PY+-IQX1l%3(*uKp-JD0OSTH z1mWXg8erj2U>N9uSwJ@~69g2rKW9?U3yFd`BAHa2pa@rI#E;bpW&qJ$3K3FV{VAmH z>V`xy>A_sx;ZPV7%nV|>e2qzQ?bm8>MOe8({}fYvi{ldE=|P;BR1wHOU3h?yGStkI?cIIc3Vc!m9-e0cH?Q9?T1kNbK6F20y;A|_qI_W!=L9jm*O;;HI_qBPQ=1e!0TuLV>05OeIS#yeq? z-=;0H{!pEp3YUK}U_;mNxi^R7EpMLA`%3kkd(F_W0aIPcbr(?#OdtT569jyUM&uEQ z2t5T16hPnw76u3aBDqYFUZ$`xF>nLWSfkUdSkxfOU!d~>fkZfXTsS~%Y+Ot%P+;Vx z025YV7$`6p6d3S_6b2>;33B-@iGcxv5kZX+ZcJ$QVsb*Dn4Dp*j&Rhac10nW+>kIP zlr0>|q>f&)PUwXEC5>9cp=kBXgeDG{Gl~g<{7V^2FSI<2$>Enc#Ksi{L-PlU2V{QP zA4V)gkUmH^Q#(^LO#K%NI@`m!p{@=*NH0eSdXZkP6kaIgo-jlZ$`1iSh55l?VF8d3 z#L5aR$`9tVgn})heEinD>gYZoQS!R#Jm}IO;ol=z3b4Tvh>su71bpGNojqM+tm#+%4qq+ZFa-CtKMS`%OfVE_Teb>3I2q>zK3 z;NO{pZ+^Z~sdnI%AHEtl^GKC)qhpG~CkB3v)NIAkOxVKhqy~$YvpgW2DGxPum#p~N z32hTkQ$39>D>jor<@V-;y40sS8%;YFfb+vCt`UV=MSAavifaY_L~PXhgE4uzn^Si} z8~ol8Fq3rw-&_28}Sm047CJZonMaadcW-6L(PX7|*qiw!j3LZ2@f#;GbEJ5P*9Z5c?YkSW=e7qj&gc%Dha9ljCv|dJZ+<>MsNs4rqSZ#~VE#OHTy(!;(Y}2WG?7?|_kcj! zt>R<}w8XUHL(jgfij#sgi0m(%pQ?Uikkoge(`dqqb7J>GSTC9h$C^_9xf=?HyHJWn zFWE-h=qA4d8|zfC)dzvAAySbd7)mSq-EB0bflF#7pc!ID)jT^}`;fx;q2+H=cXwv} zNWY)%;5h6oPRPhnsK$2tQ$IaWd&@T(5r-9i(-UY)D$)30$EAVG7$*-<& zM1?i_KH7x0A?5E<_MWA=DyeyLv-z9B; zg}`7w(LZQI0E|wG{HBfnLu?j=@n7{n#-;wpKwtCIT)6|4tX{PLOP83|`09@Dc zWX%nb3NLt7@yKf8Fx)-x(EmA~CXW@e93y6fx4oqxaR7LP}4V`tx1fYhPO# z-Uoiz!89M&GrNxFW5xunL0bQg_5HE!7FWmp?4yKeV)>+l z`t!XNc$!^kTs(N^hQd`^eM;;M42)f~%~xV>{i1|vQ54WM`>K0#z_AC97|jix3#iCp z-Sbi`4-3`05ON+axAYxX+uAHr-#sAvh&eH`&>pPs$S*r~EP34OEli>wmTq-UJW(|O z#-wqq2Q+J;f>p1EuznLNUd>jJ-MWW@h`z6`)C&)ka+v6Iq2qbbKnZuopyjg6CW;@O zrPtVX>r2+qP%(XzLU+$D`B-y5+=+I0OGdc(D$SukNrpWgqrrg|X#=-#?sjItQuODL zIdUmxj?g z(HAjOo~PP;p-=J6mV%p}>wi+A(tkOZdFI!f-ZS@`{{+zd2LfHWRLnp44-bTcCO-56 z0SW#j5gyQO5NGDCOt!F_zg;Obf&5`;@cxLoqW6Oh-w$&58+ih8KvyrTVZ|Z_5&l7o zKwOZ~WiAtzHb@hs{zpEVE~P<|zsUpxNCm!Z5sCKRJUl%9(xf9C3FSpo8LuD+koTL6t^};A+*Edc@Pe&Fv!NdR1I6rvGrFRMUY5o-V)W^@_FbhCzVEjfr z)6Mb>xQKa&?@sMRo(2FW&ianVEWO$I^%NbBxN$J+DSrd=t`?%hvC zh2?A1s1frrrAuQ0ePg&dNU8}Y{L(LOkbjFRy-oOmqP0iueMegT4x8(AN)M?L^lz1q zQ`#y$6_lIoWFSEL?xiTDy-#Rn=H^n=*NuA1{7HfH?j4Jc^#k4SzJ{M0zY1HQ>dQsC z?ph1G&J~dBB)HS`AkyCZay!k9u35s8g=Zb=s`;<9(dslUWme7_oVAE03Uy5$eUUNm zI^(fus;XWV*L(3Q>ga7ykG86(evKZ5FK3F^SxCqG_{3~3HaWG5V+xg^_(p&1t4|p{ z;&Tc=H+>QOzWbUIQ$&VEIX0$r^X>vKZ&4L*co%E2%eP*|R|aR$Ox#5IW2gHe33z#{ znWQI5FK^y`xm@?s$nK7^^9{>o6?=_$yW^;|>1cNG4qEFOoV@kidzy+IZTv2+rR5xT zv^T}TN|ReAFJC{J==T^wv~mwwOjc&Puh-iY2fpR>ItV@dQkq6Wwr@<`vk{I_>7=^% zF$@4T{KUklF3^lvO1w$)i1*VNB%P4@v!(9QbVH6c+7Hr4qO#y9BuXD)k2c`~v!Lz} z2V)XrP!Nd$2<`l!)i25Ky5Sy|kIp`;UNvokT|L>$eaob$EQ>w` zVY=)sntQ=N95z7^ntT6XUVb5vC>ZpcdGGxFPUo*D5>LNdwosi|ZIL>$csv$#a%wm2F+Y3x!Y2$>)sSdIGsnOPVSlAgUbKsL zOybdsIp!aZ$)9SA$vrE_$%Qfs6;E82dplQ1`tCK#znRxx5qhd?i#WdCo%7L#hrGio zn_Zg!#j&BfRD-OSjt&us;J4nz!~+G!|4yJS{J=+`z)-Ya{pIhVZG4(vMDWADzdS;N zqUZI8*J=KT6h@fNZ@Pe7zDDx=Rgm}hr2m?8C4s-r_^%27IS-f9jh<~Zx1d1xF8j-f zbr*#8Y%ttNdVJRd>UGX;FBAZhDLKA?0)X@)kpHbb*?i8wIDmk(m>p zI7q_Ua@BOVUX$3p_f#*(9uQS{@E)M1y3o}3QvB9Vk7Kg(I`NIYV6uTq0_ro_QRdc| zGCuVk%D~M6k6XtRgW^dwvIe=S>ycX1g&F#GrP&<2CHOQinPZ2C*=6q-FRX8>XdI)u z8jw()8Yfr1ii->L! zYjMT~ePGJxBq(i#EvvL;zlz&?s`gBrvx{^nJc?^fyfyv$(P`_BbC`3;46cyZB<>a< z-u=CYSZvZ}91j9Rh>qaV{znk4YdD?1)wiyGiXp;YR{2@w+OChgqU`GMqXdR0AKDee zFaePcJ?Y(6`Dr7D<^6pRjd1LsGGzk8F>Nu_>V*U99q$IJ=kz(HENq@jA6C`pPHF~g zK^&M`3GmB=w4Z+r<<3Gi+R)El$yast(yR&8q||z@V_cl?bS50!dK}bP%Y5V+j z?|^Uo*yw0|Me|3A->UP6U!o-NOEn6Dg#T2HA|NnW;J0f0->9YkSB^-PCwPb;QP#Ct zLh&tqsoP|ZqAjXQhdNE;MFjD)>ZIqvxAnK=?Z~49srek_icjcXiXrE+&Wjo?cxWY9 z3O~(WIbhx(%uabeQLx1tWI{A4cpUT1W|2WT@99u+YN-4<@U==nD{zJ(*hZcMXv#5lp*r!nE z*4!d-g$e5ZKHq*-wHlM2kG=vHh=SM2HuvL&Y3=GAhVX_XKOka(R%Ogh)pFq}-z56) z7P@c<8U&3$lfZtxLV1;voQ#vZJ#c`>a8F>R}d5RxPDacm2NqJ^Cic{F&$7d7yVlGNyQnuYUOyr`Z z-MjNH82{PhCl{_|2UF$ukND2Om6`srzaZ9b4&^H&RjCIkSkHB=pSQ6fS zM&;k?9RybH-|S?5yFN^3ZLS(Zr)Sq48#^zb|3Q&s+#!;L=c_Cz(0W9H^}u*Wsy7f` z5MpxNp~`PPkty|RK;KhQpy+Pjt);Tyo%(wz0Z%x(H|c8ZnV@>V9T9Uh-x>d_Bl0Kf z{VS>c)mYygTL>C-F}G5m<*|`osZT7UC)N5p>jA@lcm!yVI2;=)*&;N?k{;1^tA#YLlexnMY zKgX3McXt6bH4}cU7RZ0l)BmvT5iRI}R!fQ*4sv_-OQ<>&o@E}tKs2ar|8c*c-!A0l z(d!KfI_0QkwVnz84iAXP`3*d6irV3Gg@q_Cl_0PEu+x!s+UM7%H*RBdukX4Z>S0O= zbhXw}KbSa4gOa^}L)7uco?JI5#5bcrIDJ`mpZeWfEE=u>CA-HpK2A@sAKX0z1Y_>r ztteZ&Ho+wQZlI=y(RKI#<7*-5)&z}>c@_>;I=Tm%Dx%O0(rs@qTLPP**nh8!#g3Z1|xy~zonFB(^ z9KmdJ?&Q%VaS1`OS6^8zc$C7GifLspT3Bm^E3<=cZ?oEz#dJTCe90TZmXdaUF11Bj zdiU1jCj%t6U(JFUl0Igfe;|8xbYt?vxR?52*{JjZC}0hAhT`s^@ctBAtES!9K-`C- zD`>0)d z3XtFbM#CM0?BAS-zqme`fde4gU#9}ZKzvLv@!vcl5dEL;u)(C4_cVX;UO-%b5yl__ z(}QS1=mTf0t78xAy*Qv5weNUU^Qm-DU7zy;_CUOUR)qy-#$u{ww)%V{3!K$0l>)wT zw7+HMm*G!V_XQZxbL)}m`5S!n+4rAL83ym=DEM}l z@1o*!ZJg5=znwv_C?8l*kYCW`@&W^-g1(Q#<|4twpv4AYU2T{}vieN2WVdUE zo6nw+hZd$h0si|z%74A<3jq9=7Bb0yXYmRBZuDQQY(!+%>FZV|(V4Y5aOQ@h| zW>;dzp9OlcdFX$C=>aPEynA%-Tj{L{|J3H1ELsvU{J60c!8ezvk!7J_6ja0hnDcNC z{{3B7QgiP5*Y4of`q& z+j#5d(!ut9e6oT3RomSqDOql{3bsZ6)R6mjTos zc$&>ouf8_yuzy^15avo1Mh3;Fo1ktayFWSMKQpwQue~F$C4(9FST60)&p?=Cv%(y z<+z#0#o`Ihlz0tY1ky$I_n)(r>^j?-WjfY2$;3ou24R0kpGBOY{|?aS5z{}d?W^X~ z8nWhm4>FyDJBLr9cKVx(p`QP=xc?6w!Czh|qfK!14Kj$I4MVe7TnNp4FbI1d;Es*;~lZSJIFOLh3RkU6F%c?FZpg`K*U94avlgqi`1u# zt)%6&&KsuRucxAAiFQq`-Yq*Gy8DdA#d7v7Yy=5wvS zD`AG)?IYJhY2qxjafb?@xdAMaqv+L@B>YJHEen)n~(9 zgw4t8{Ogv~=m;laRO7J-mtn1ym&cP=^Nin2%EjiG45>1d|{nc0pxw8 zAtL@R$fPZ$tWdj_5&CReLaqeQ2%0z*L^`M1NqeKDE43TBxFr+E0L*I=N1 z7c$`2!~Ktvl+Jli+xJTL_s1AIdX1%$1^MeU8pztq@5~)lX8TW$i&U9~xqs-9Bjmjn zpw~-{9k*gd-(Ou?UpItWU61z@=g?Mi3A*C60IaR}B07deU^L>W(jj$A5!NfzqmC(@ zvF@?Cw87S5?zW5}NRg8{?()FKs5sLd^PyAhX>}8YwQC;W=?zaSSrfUIhn~FFM{N_6 z_sJgK_s$?^wS=&a9T>%;Y#=`s zTB6q}jepmYIm<2Mf&U=z|0@EA#z25f(gn5xn?yuC|DEWz^0bL-RihJ@8EW#^ z+^rY7-W&H{K$$pB?Wt|CTkMJhO&l5v2pPq5zMhnzoz83RcVmOJ`WlT_NL!K%d#Vi+ zDY&_K_`u(u#ADsHY%eEIgx_&RZFzp$ym&kE!4GM*sd4C;6!5Jwcs+eS!FZXoP&Blv zwXK}qPM7(YYa!s5z{xqrnh5;ZpSs|MALcDShd28 zJB8e+KEi7e*{c)3=@46ivEXWACxY~Ryl+?2PH>p_fJIe_OvIzyq-w`GUT-Jbv zOMpv=kBx^ei%tT_v2K8`V9V+-Q;;!1Tmt#7f?~2>$?00M@Z-q58*mMx6x5!J%^sB3 zi@PcCY^UNqG`MAGA$J>Dc_-w4jy{UjO$e9D*-F76G*9>nx?>m^ScGUmfA$*)Ajcp> zSI;D?69bZQ-bUA-^@4!3D3X9BslL3DEP(*J)UD{ zmB||yX}JpXi_6TMUK)cfonA|SAlu}cZ`H)&80_7~&V_g~5mcfi?r*zR*q$PmV7$iP zHO|s8O|>38JwN87Y1-^uy7rXJZ*y;~J7hDIT!EZ9T z2K3}6_zYu81J_<=0I~rz0A(!909_F+EG)wSlzAqoSR2e0+*@XowSQP2*=*KszpS{n zB+x9+iDb|;GP-F~j%m82>tW%p`ikX)X7Pl1d|iF@lUrRZqRG2%upx@)t>MPHC;RMP zdA`HfXXF2E(0}9sKP_rB2oAp;EL3?X1E5xfDQXo0AoY<+=MU`UdA{5-5?E0-HEZx< z$+v^Ytp}t!8Dc?9!yEz7zuO36ln$|>GcT&4nR zB6f3+@-X6M#illuM=0Z-o*JZGDP1_+weyo=`eUH~79mxO7SI(GtH_T@rhM#ng8@-= zpc{ZYVovd}^uzV4GV_%_c~$M6nYzYWBW1&^p5;e(7Ke=Z^>;%!Df{4>*GEK;iX6j` z({nOk7m^V0xzn|Ctz1K4*}dnvo%Iu9Na3M)+IM0B%%ThFxMX%j+HqNf0dAR66r=T* zoq_BGUXDNE>P~iC{~VLZfXsd^Q^-fIc*R{T z;<`=Gu}q~~hRQQ$H#6P*01VgOVuW_K=ZN;Li?yKg)r`xHoBKU-#j57Bu(Iy6n(Yp% z=YHjrsbTP49?d9c^O)Y-nb;|!oe=S_Z|T@CLpS|Wb8j(AiIZ$7zIu=4?lakT!JvTX z^;3E!EX$`1Zo@4Ky4a&A0N}G*B@<9SQy)WFnF$v&p8eV#8V(m`GS)O>qRF*x+8g-r zV58276AD(jS(}+d@uw*!ONuWy@(P@8R3meIJB8WBCNzr*N3e>8`%HWlu8kyC&Diy( z(IV36H1Gd0#D9y>=damStv354>6jI0r^(_in2`|XIV)l-4SZagg)JU3_HHhdmp*ge zLmjkiTo)L>#o^e_a}W0{riP0QdM`B_Cf4!3jyfEN(?H$z4r(>~9m?j1eRxtq2+FUHDuKph#o z7RNci#Lhoh<)oA%J}>ieeUUxi&_i)AxcS!l{O9KpW2P^}pFP{)k?^lYEC--LzyYS` z_j5Z0-XT*89TuU~uEdhDdm;5Vba10>?p<$tK_}9Oq#k2+)uGCo)*Rf!_`Ja}uDpTC zb+Qkq@s2fi6Doa0Ur$=>m0O>?tr;>MU2IA`>6)ipQ$|NeoW0|90kDbJ`f{?H@A64h zDz>NXK&xV3=H`yvE0)Nb{Ik=CO*{NsZ3&dK++a)dlt}G-0 zMv5*0pKF;GSxQ$=waEYh18k}*L0AoA!UqXv?Y%FUANN)nt7*0}^CDQErxJ1-MdpmK zSxssxeoc)uF!=~ulkBT%vG*;!#~UzlZDea(|a;#5HPVdvqfd)qV%t>TDA;@CPvv%;ibPHEglT`8$!Deq;nQxaw}cL z)8MV4N;Gn}-J~^ne7!!UdUo`?Ig-5oOZSUVdv$wOb=np6N&T z*YhxF>eSV=S6}Pc+Y~3FWOF3fckI)oq)kEUdp_<_(i=<2gX36UEX36kF5H|Y2aDPF zeLN)jip&W#o>v@Y_Z4wVjf+@o%=@+={vHEW?M_jZiWrXs@G*g-^|NGFZWYxXu}LD0 zxd>b>49-ZQ$OvU%nVQ4|f~G9$M)huOdcyco>A~tGk72UQ>t_FAV~1t$D5223*JTC; zHpq!(F;Nv35>Z2MGbP>fJL%jRT*!>FDJAs~Z^AxRgC{1RPi3cf-lFlqh{VDLnh;cY zC>C+d&;oJjX)Q;Cl>Y`44Qbl`b@RR&(((=qVMCP4@{=C1APd*8(ym70d^&akCHi)^ z-POH~kEOLd*^+#Wo1|IV=+9Fe>%LHja;&enh{!Gn+x6!FqF7REXi$dfD5*XIVW;bv zobl}=HQRnqUrSd|$ej$1B_Dk84a-|S3(s-^z=J++Xhe@R-~28We3*=Rm@At#vXa5O zQIzT*pl=y$rep%ZC*lXZS0uS&$zUYD(mQ80kl&VTf>6v4S7nZ^)0l79#2`C3Z0dW} z?S9MDsIyO#D%oW_ov1CkNBFTp_=*x&Ugw&?IF+w!_IT@l@jhn=B8@uyirM&#-xp}< zjV2d+$=U0FgW;bEOf8nRl17U~X)O+TGIv>`P^0M#hoNobQ0e3-R-NiA)k>x+M!HoG zM9k^hZLv!9R!T2lbCEkZDTD_nKNORH5<8>uPSAdW-<&+w(6QM=t4y`r=xKx%fSo0w z0I_%e!G_enQpIh1{f+#|{#T`7c1*A{hKN8&8oNptIEYOC@Z;bbbH_7r-28LTz4H?A z-gke_RT=<*-;COLP?Ob;L1MbmOp~Bjoi;dsTyL%s6}mbuR7|F8gzcJUHSe9S1g+aJ zSPg1RKO@q-S}uimMdy|g?TrjQomJL&SxzzC5@=88&Bh_GtI@&~qw8YoRZFk~MEUY1 z47kx30K=12&8aUl!kRlL<#loFzC?`__|8cLg|@Qkp;a^?_ss(XLt&4#`_@eMKohJI2`dx+nlUI{oi!6F47l0R&&3bD$Urj`9 zKot&7n7&Eu+v5^Y4;oJ3BxV-wk7h0ga7Dtj$0_;GVAlvKkp zduRUwkfO4+&=aH*(}6PraGEM6c>3=8V8Ee@s(tvv75U+%q3DvmS;m2RDVv7zvH%+8 zo_&(J(ZnV`R3*yla}4-8<$CQy35~s^XH#4XwI&_0SJOkO3P%}mx$>qCZ>>?V)$hD4 zm*i|Ex|uW5jTljp&?&{+Qx9tF97uCVlwxQs%K>ka$Ja&Xjma&2hpe4!Uk-nsaZJkY z&1C!qplxFxv2+2DjSK-zg}&4ZN~MnOQnH~mki1cRcWd677-NuPE+T5!N&g3I!N=0( zD-Y<_?`}QyZ(J6LZpqfm$eZ!GRagdn{QS*vxt?cU+n7oM^+esHViBRYjeogHN{PQi=u&u~|Re7#3ddvH&ky#7}-9Gat-w6_= zJ)c8T5nLR_OVMCMh$3e!yrrVfgH|ehve#TaL>E4G*b(S-@?8mMv*t6xtW&ehNVW&x zSh&nk@cqn5eTD&Njhm$E3%oh8HnASo7&8E;|t)YRJtfnL^s z4H);GnQj3@u&{q;V&O*Zqi3CWb^dVW>FSD!d&=Tg;?la$^Y&|4?Pm8IMC_ZIeS8)M z&!kN*01N0352smKjaMAKw7>iNuFNbynM`6&;>8$M8}wY;A{5d!sk;}P|NXP~uGy*n z_v@-`PzEhR55>(i<% z8Zq3ec>0Mp(0nN1HxU2&Bt+o8mhRY8`1)~T*NuVitT`l-ZYOs`AXRASrXBn7sX#gD zK)*!#H(Z{N1HgeNlA^n$qH3VF01 zB!OWAkAla@U6`)auiPlpaQ#wrGON0ZM5M!!-1z1+%0s@a1T<`;aIy4U!&oFed3_(W z44N^iKgyER8n(J~#hBA>33aP#fy}pO2CKBbmo(&sxM*bP=oih06r-h^MsbcJ6U|7C z7j(}QydH}z@hR`AcSqeKoc~u`erIB|Kg?W_s-0ZY9vC%8@NMA13k3Yn@FX1Q)1P-18Qw?y}T2NtAddT}@wCs6OK|vB5d*)=J|n$m`R$@CffBt0es|MxrsX@=B2+Yo9&4uYH1WI< zFtFd-Z&>^i-IXoR9fx*NB4Hb1Z;ZGJom50it|xt56VzlZK$6%wKl3c?4IJVZ!OtHT zNYsgiaj8$W2YXkuzdDx+?|itr!~A+@pwz%r)SRogla|eDrmnxtQWV=oOR;Ko-8+}$ z=XTK0yh&nwof>ahy8cD{x)L-lCw6j- zOKo2971N_RvF?uAwDdk?;W}7>m0#d#pMK*PheQ4TrPy7oW9^|BK79kDvCdxr0oO?* z4{Xn)ME(gFqs?8dL1zF^IsuyMlOwd?c$Yyhan&cv{B`esH80_0zeJScSbJ5va?;|H z?!oT0l1ENYH~hv&B(GbKwL9!3Jybk6*_%biQkP3b_^xSdGiWrm*c-(RaPdA*fiV&A?~e} z6T++LMzSe$ng3_7pP_b=|FQ!Big#_OLTB-ZmiUJf3G_1F7@+Nh{4sxz$$IAlwfV6` zMOW+l5psJ@hT&Ki<8p3L&HbGckL_-xjbN9yWQ_WOOX$9fW2R+fY-ehZNN2i>9#S{@{+dUB&)Q z6@^3W;XHv)RY9zJMj{y=DRX`HZ*AX3uBi3Y_t_+EfghSTJRGe&IZu7VYudP}4H5Nt ztE`g@(b)IxWGq=|{o3^|@IW_|^1Z?1(8lzR+uzx3AbDBnpCkn4Iaifg_a(h>-I2ME zs`|1gHO4=vBhbut&|5#=eSlVSHii?fFNXrlQkyi+{o

`Y&O^v^_aLmP#$ONRUj4 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

c*`~Crl{Ec6-RrS-W zq_lPHNyrjxAk0!mDdp5a7gP0nV9q#1H>|V$+JH9&%`528O|KmF;w-{y5(o8UIM;ea znBJORG~7+{{_WhlmhN_)3*Cexb^^ za1o!7$qgqm+mxQdST1*nKbyqplxlhYjLwy>^{l&7y4$Zq?lxvUt62>H@~uyrqOB}? zR@Wl;0h&q|o1Q#p2FJImxv=3C|5bwnxoSR-KQ)ca?nljBaQHdJsas*YkCW(^fs=jfF>|CT>rP)K9 zvB|2vJZ*yFZ-j=7cGf6AUhJ_@6{N5{n7CTFcQ+#Tq?Yr};B58+=4Run)(So_iH7K0 zLoN^`_!#k+hyzTzoSE`o)GxBFnnM6tY6J?{O2-@-QM1zx{MDFQwYRAjelVTdb$~|~ z@Wr(QhzGW)3VSSW??13MXYL9Y%|IAD#H8Oaze53+L;K>KUcqB$^zq)e$7I9u3g--1 z%bf*rbh__ZH7>d9WKb1e?}OXd`BzP|#&o)R74?I4(LR3EQDz+EPQ`m@@;jhQ!Dw&O z%(%G)dBT1k9fZ^#ZRrS7$ENQ_rDs%D;>1c1C2rzohUbY1Ft4VC3)K1NVzkbZDwu|+ zJ!+q{&6HN*YHW9}Y-4roMi-)DO?-JnTYb!0CCs~{$_57kos3S(?5wx%Kkk41$@9WE z{OGJ(dQpsv57PoMa=DA-8+>xSyUna9O09y6o_t=T=G2vVAJfYMfkZ}5nUP_QS1>pc zZF0QH!vCm3Bfyx5k;u|Tdt>3Q3h_Bp(MG4kS|px^YL|YckIeeT!O%T&MrwL09&{d zaZY(M z1V2Giz5183kEd@kv0@bw6WMyGbxJlUAf2IA%WNnRDn;n!cl_hzEjiLM{^Fc#$a?A6 ze&>^n$XC(3CwNHV3-B{e2@LA}&4+yx{8QzeT)tAuic+bz8-Ep~C}IYsV3;q(lq*H>~FW z=YYWd#<$Iy!4B_pCZ&lJ$T`%vZAYg}wLjtBo=#lhw~p1^wq7TWIkQ8w69d!NZ6;_l ze=k31R^4rFEG8HC($O~ungDeq*X1>h=3M~LrQ)%(f99rh#yR;|0MwHvU&1IC zo-wBooKLo;004nfl!tX04#mO>8cgP2`A7+j(9I;DIp7@jg9)TDE95FkKh*&U6i`NB zVF2_KRx};}fJKh|IVY-yR4|<#PMk0RAoYS!HW>gQkv-GC0R&=6BI&|$FQiB*TivbT zKm4fUAf&JU^=`mj0OZrZFa8yvoc`rgXez}L9*2r6We6A2Z7+SjXI;@hHf@}(x7B&E zQ~4qdNcy!=)dW>dWle73tM3DU)@2%K?Bxf#*F)*8Hy6}CR2i1$uFyE>+i z{9PIWRcu3~L4Z+Xo=Onu?LW$HJ zMGCwF7kuIxKbv<6{fRRh?m_WxOPXr0(L5QxF#ll7C~*Ca%f8=)BiuKKTe*3&=;+9X zHTh6h5ND&v{wl8vfbyMTTzE`~9TYfk-yYuu`=b?ey6N2Asz$q2(PQcr@eENOaTi2wVXMh;E=xXfDlftr0TQaQfH|Wn z5Aoog&_ZhJF;jRAOCi+@c@Qc_rboj{`6qyM@pG%5l!9e20^F+v-vH?LFh3W^bOGKltjdR%qI36{*Dt0mx!E|pxN z+reU38xg}L#!gMI{Ke2=}8KX|kyzn>{T$PbcQnS#@Aj_EtBQ#H;>P#%=dZ(b9aiMF6cpfL?UK#3$cNZ}fG%p-|%%6cf zI4G(fqf27)iq8ws5-Pp1bqcR(vZ&)(6+8YPioqsqzdpBIvO+REXJCVLBy3V|0#L`v zKDAw+n_Nu(>#1klZi}yt0U%?%!Y}P#34jv;oG<*NZ(dmEhscHxvgI#Jv9MNsT8{}G@#A8hQpkyJAR1$%zDtsNI9xEFl#OzR)rlUfhFb=7k|*rX2#Kl={_0s!qq zH2GrP!D*D;0sA9{VCB@zs~ml9-q+j8y>86u3sNJT87MMGVJDR2?<>w#YTbm&;qBX( z%y9l087titkcrK*9{^HhEH0e&1xX|^nj*_lZZ+R5ye!gkbtC{B(L}WPn1`<2R!B2~hzJd`fQ83;K~ceqvD~yazkE z`!Izp_D7cRzci2rInt#{WoGKV_IaFFMnSrZ&{s%kk>CGqto!rJLE2KQ^snXeZS3l! z19&Cqdf;)8WB_Svu}=RlvEWDWLmWGNRx>N?E5rPu8PnhTyz>z4_!Jf5-(9J7H-|n9 zf`4dL-MUEjUH$`*+JpZCXt?=9cC%ZF5J^;x`$K?Hb@-s{Nav4i5e#~4QI@$u4pco9 z3zuY?7?wrf&YrZ~+u3M(pL9I;`V}~e8N-d@6ZNuG_9`{>@QLC6L+l&B<4t9r58&Ri=)2NxL-i&;EA- zTKZhkj2Y3JGzKm03tyb|=#C?EK#D8fHqIGu(AQxn_aDZB_>rG5A6MMk8oNCX?+cgL zkH(}UBUkpQ&#Ol_+r3(@}puYUlhrayi=Sd_d?|GPJ)mIlC32B5~7n1V#^&M^tZp7O z2ie>=e|lw@y~?s_w>po#2mrY3+S@P{F0UMaecG+J?4Nq~Be0!73u<@^d?yt=n;#)v z)}NP2_DSwo*$a>^6*cj{13muu-l*B*3%3ppaT5Y`%PNnG9x<)?LJro0P zzDrV{{(Woyb{PAwdGP%`on88|ueuc^w`Hm(;E&x)de(&Q;)$<2GK8-PeYuEj0kI}&G260nxcT?P!g$DEJg&)e*dGgnSE`E*zXm(r zsu#GIsEJn0LvH(+9^x+TxB~vuL;$4TL6EgdJh*@eKT_K-hPmqO zdaoH<1C9Qp8GYBF~JR~*Io zIk7T~6f{_6TctWG@({*{_eza5n~iX56MzP~M*h*d9vaRLou8Ns3DpMRr=TuvZR#qL zSeWA3=}`mmcngxjVdALXap)Z83 zWggwT&{6oO|2-UAcxo<@dm65Jb`|WpuI{}{+~hT*K9*jmjm%Z0X@a{&pWdDo^I5&p zk$e{L;NuSNrK}Ia@o+8ne}3rz(Irnp+Rn+@d)-3Q;Z!xq9YRM#6*Ob8uILyK}@j;?CR| z+^JTEp=c)TBv1y`plPjKEd8IN{Qq)cLq+orm48LBdPdb7Z(BDmaTCAb$6^&rc4zN% zmw9^L`XK+y1HsE)P%|iJS;>kyF3f=%HVli@cv+$i-Xhx?tkv9 z`?zHFGj6W@nNBIao~>%$_GoQ!tos%0kEVUPmY}OE$oo|5>eK(ViYV!|0Xz9u4KpY1 zId@OX_qzrk5B$38%8+IcyF69=0}Y#p05tvUAi(ozLf3Hc@V}fW0pvqGjfDl2^>Am*wh2X$9l}l` zPGP5rE7SAI$tFMB_FuF=XvGct+S_iNpSe{6YZ5ndf+Pbc;Ai(c zKm|l)yN8x$EvVYwtC~?8#=z zJJ0*fJMT0R@K{`^c+yqN7N!kuSJcgJvtFLBUof;^=83i}ECosu5W=>7P$=`=LBpdfUgkL-L09rZ zJOHtz_!b((onw|EvZ(6x%2CJu8$<)=mG=O@jmj$jx@frU%+?w=@zfNW=VJNPQt0se zeB>G`#sa$t*ql)SzpI0CR<*$}g%N+pYeyM@T{fC&ZrQpm9?7VokwYu zOoK7Y{J)?CYN>Q;?j8=8KQP}9aUW`qxukzQM7^d%N9~+|ejep*&9qOyFKZk4cnp6R zy6fZqL4E~(8EV+}OVksbEF&(&SQWYBQ=}nLE*}JzI)md|*6JzrwgkFOpdeWElaCW2 zW8mw&XNP(BCcavN_jVhmQ`14>?~Bgr4Mn z9V7NEXXo59$J5a7O)YLtY=!1&+Im??kNPHI9S-#X-xI9%K`a%$IF{MY z&v-&%)xBToXU~;p-Wbr=+Qw%^yF~WYD8TAz@T?^;N13KN-xJ?2#xPz7|GU~R46+bu zTwD-`+L;7- z4>`us6IbX-Fvs^+y1`v&-oHx!-#s0cs|EPRzGA$5o%40|{&zX>X=E(cKmQQ0D;@tt z{UMH-BVn72`e-qTc8gVrW2^S_0d_<-#F%SBryht;L>3M4hfphcmFKPRv zkSB3ygM19lck!#~IuK{>_kW971ajO5X)fX#@m6)Y4FJrb5B?{*J@~xAv5%2y`0_pY zeA3q&0FC&_KhyEK{$`F{#OeQ|fWHqz_*eXw^xY5RrhBL<$aBCm0$JYV;MO!wt$w7F zREfJS?eX{LR7JyMZHiJ$n#!9FnoHjo2kEz@YAF7FG2c8(G~y4z%{X}UPd8wmT9`YS z+9bjtI~wl7Jei5+6jtkQsK=S7hRz?7xyW-pyD(7#(Q(nN$BapX3`?EFxC?N11|Fp9 zb2c(F@AFNau>DLkWNKi;S>=3}3f3)|DB^ZCoGi7wm7t@o1qRx{QVIUZP*m+lRb1G)x#G|X2u1l zvwB55VFsEdsS{z()Jsdaf3PcVo}XcY^QIx5Ej)SlEU}S#%^`j=YLOlw&{$D{wi1vQ z=|s2?=X)zw8d2D&?0b1-u5DA^r5^(IKhU)Q>dBxYjl*?>KKjJ{^@aptV9ZN$n2-jhBrlQLYcE*Hr@b!U@cw zBBP<}7JNz_JgqnN)|a%Hf<)y}0SQVv&IO)O7$hr=(^#TJyiqE*nL|HR@F*|Otk`dC z=k$EskduzZLPAQwXV|#K>c`>Vs0I#erOjXSZkoPO%Ixoq!EB;u0;PlQan?o&_rL6Y z`8pUkFr!i2aB;6`fk>tx{6*F%)>8l8Q8lks&tkDgXI--W9|BmA=CwG^^#Ys5r|>8j zGoX5Qo>KjT<#~G|Ml>$lWHp@RVQxMpX<0F0`NyxQ$>j41!mODd1>-quHanljX9=xE z{D;mobj9OlO{?e;(skNBTP?L0pi|La`5%Ef(T9y89F}uS8zmQNZy9o@l;t@zeMxxP zs7PRh*3%0_V!W~0sb+DsQ-n8eRYup``h~YVJ9meb7%i`4S+1>*K!lcX{Tlss#P;uh0q?v*rjsOq@py$`hZp#WcA?4w$jU)|ABSh>mW zeZH9Wu9B>*8-OARM-qD&-`j^A#Q8ChZ2Q*r4*Rq9#*y>CwbCU%q8@%P((@}Zam6jF44@yFLJZ&VX|O(fJ&K|%MEuh z&_%$|P>B$k3(|wQrUk1-()f}#QMModA+Xu__B$@I`bD?>& zygGEtXQiw@thejpWewWFnAv~OdC&c+8_K>rJ~OVw8$9%gZ9m1-yI-p93gwvBspNXy z-8*|l$7;1_9{Re*`}F@+bfmiG@{!n!-bIy`=RIg7v+$${7GFuXqZfNdf;!pjYQM^f zGQ0Z?dHMLTZocA;l3jCejred>HXQ_%V1Bj0In;{ueumF>+bMW(XkrK0Pnrk$FLu#N~tuV>-hE4hjAO8U++d(y@@x7^t zDGw|AvAdh*h1sp;=QF)Tg`av>#He1l-n<##m-GClD|%~YmW$Sy!aH7}l6Got%;rqB zuU(mnVVXvdv{0M?5oZuys_I7q0D(Y;WW*jS@EDL%pR|YSAl^Cq`iNqCoHXGz|0elG zUDE#_Q8G)Oqz#+r1_jFE8){;ey$}%q9XI6ChO$`Pv~06?D>5SsMrTxsA$*hv24g>=6Y+OR zoX1eKMU?<*y=Tg~d6TLr_ZcJ-iQn3S7vLC>htjsZhvNBeKO`R4rvAG*sYx?pM4+o4*lJGF(2|(0X&!o|K9YpI%LA!UPS0# zYnxw%XY+f>+M`e1p45Ux^$oDvF4h_asm>SHcYQwJ_*4T?5c%e*_;70GVHZOL73r=q zo3D+_LT=Yl0a-Q?88PU7Zla<|7zdt-_Y?I{h%-giOeoa37 zNg`7cY&CZjvUQUux)+kQ(d7A5I6-c47JDl*B!H=h4_cwl)7ZCK) z?etl_yp&|=0DJ%HYDcZuL(~*IBLyrj5}dW&vA`1zdR7MwaZY2 zMe)v>TWng+glbvW*i|!ayiOMByZX@YcQ1B9;)%*F#D`r__j1BT3S?|n`fS>Za5`BJ4D5le;@k2;RLKgek7JFeRoyQ09AOKOYT-Xa%RQz+4-w6gS_90y4G%Y& zB4(3=fWa|2L$s?=W@oMVP2r&*#fU*5%x&(XfOpaY`;HB*^#k=C(05O?Stmwm&+IG$ zd(Ba3h^Bp0TNYNxTK3St=T}F z3To(}m()s(OR)YWQ_Nm{thx-fE94IWA4fy9!n*o!0FBTC5-t5@Tl*CI3Z3us&7Gc} z;tep2$^L_@yurcZgB=eh(^{BMO4cK=Wr?V;0yI@9H^+Z-w(Cd#i|J0+`z|r!c$p3Y z(QGQiOWu}BOF!X+f7Ibc(1^>6D-nj15Tk(7Kmr5;fv!Zx#>TYge3!jp)K&;0nj+(n zDwQ@&b9LlDsO{dTG$kl%xFP( zM~0luTS2zz8<;ESt#olUdDH$MlcpENK@Eh5udqQB(Wn87e$QLF;&;}+@j6-tF=ZLm zi}vL>{UkSf+qa!V&$lxc*@rEAXi1joZg+FX@z(LZl3bZso>;$536NL`00ROUYXUYP z-_zE(dz2qZOUo*PfDnj(m>4Gt=&l-F<8HW3EIx>zRCu@V7AeO}l;th$I9@)!h&w!o z;;s)v+LsP9u3GWvD4@;i;C%4+^5yI16`}vff7_IN-FVdMmWQf3_)u(M9$}7ijt?oB zrJpH>KAdJEcu1f+2&qccH6Z3q&@SP*`4&cGp+a*sHV(W|Os(wlPP=gOtTn%^S1ntJ z?U>Uesc$uRfX#e@oV(}O88l?B(b^{addg(c%B&Z#5;TfeGEN<=obva8WFiWWYl440X{{SarNiChd* z0!ftuEZBc7`Af;6HJ_g9C`a8NiR7pf6-o)Xzxil3lc`66HN5Zj#gbbNMjEO8GQMTb zHVu_Y$md0EMz}}?;Q)y*NXzkx z4cu0!gHVc_F+r{&*8Ta97zJ(I;s-8XHnuheEw|*0naU+bv2t#ESCW63xpj+}=^pRs zJwM+{sYNZlc`WuGUq)KAbd@gD1YxJ^>&<4LOs{CZLNEBK6t{g>slS#Ri6hdK!1oNp zhu$kzyf%Vx+61byq!%D!y+MivVIUozUd5tcOM#81J_&O9 z2gKffKK|Fze+Whf(>r2BC{}U__At#uIDtqV5aF*ll1N}<$K{m0x#I3 zf(WW^r(tfFG^@Y;UPWK^K;^Lj+gebA07~ugc1k9?fYJs2NYfw}|5NxnQaRE;F-p%udx!FLOf<>~rbVn1Q% zl)HZ>g3UVArRlS)=ILJJ=R;Kr|>HCMDy-VIJ*O1qTxc1ZZ+pJw7StA}-{At4p z29KOmyV_~7ZlO!l%gUoLlb2QA4`gLM1fn8@lQ-modv+Y2yoI>t1i5ql_!JIzD1Q^% ziw$D7bw?=td8AQ!bn2%9Qd(C4SB*yY0NBd>(KY zPd}obL{eK)yU^4X6_E8`OBISwJnlJ=km9j7`t;0Yc&9Z@Z&@$FuU0Wy<_05(6nsOc zfbRTCwMWhUSJOQic?x$eeqg~*A-4O~Y>Q!9!OQXWT3K}AB>-dLvIokUnTWgso+_n5 zh@cKP#uzX39=?l|HG3!~e+S>*y1#7?8V~;vNIyM4Uimo~rn0gu=pac)M_-P0b8w7n zpz}^j=VM%Eekn44;GFD@+W7VQti{6x_vM_Y?@8b+W(1nf8f9Bt3-y0$u6C0vN7uIK zRpt%g6N9&X=T8|u>%k&1C2_&aaVfFhDg~#8%qqPl80qIU6}pl1RFSkmsFSjQp*9Ih zdmjQ#16e3L=@N144tz^w5Ufho)|&>S;dd;iwq_H?Oy|wa2n`HgOKh@?<@iwwG{3Fv z7-)K&i%R>_=kY& z!_}qdZ~LA<1kY~tdQCWr1ejX#pZ%u9b4gbvSn!eg5WQQ}K?^vM|LK*QEr)eDYU3hg zD#U?1gXPojQBlBo3a|I9P_KBEw~zVcJ(iHU_>701fW~xnZNXeK`TgcZ=S)7S289tB zl4gp3$Z!0I$%ywSf|2?8R5o*Y48G3emC-05P)ukCQWd&XDdwb2rWO$N@V*YbO0TZ9 zLR+XC`-I!TK=WLHXY|g!raN@f%mpi!&#gmuXfMgpBmeJ9?rh~LolQ8EfF(1s{8v_!*%WY%pZd0mm(SdA-1&bK?81mcAg>) zX3zY5+@y6cq-aqSvRu6)7tmM4o;-~>I;wSVOfINO_GZ_2YFmCE@7HyZb~w6AVt4I4 zK<4|Q+god`ku$w=YZZ!HIE)844FptiqS6kfeylQ0<0qgR-IK?_Z#d($D_A)>r}jpm z+~%dBE@KYgU^I6~uQjh!AC>r_5&vaP(WXs&wH?_qLv^V`Plx=V`;o+WHH{)OOqkw) z$hmTIzHS*63!TqB{5Y_W!lb-je2}>Bs8~dbz)1IDh`Jf#Ifcc`ZG=nJKH6l|F6X)w zlU&vG(X4+!aJwjzHnF@ySK!YyO@USyzvb zRG?sxqim|IbjOpMo{w9l)#sF4dxfR$7|!n{fT>s6wq^jf{KWxtEA5|qh z+=m}->5FdF?-hd6|LTe08JuNyNvrtjSfr}9f2pv1*)X@TJ3M1yl_wLCJ;i`7K>;bF z4+fzzV4{1$4biATbD~ebIVzKiyipKW166>*yO|7)$I0rhw7qV33=;Pfz0pL@7^w&MBs{ zN#_vLG@?Z2emEez3(`>~nj(b5Wo`?63;qj0fOrMBl^Cz1Rg?Z9s0f{9{zLGU>-r3g zH(V*F3IHVNSX#LTr6nxzOIV)VQ1Hyu7}_fu&=`1f5$AR{=pyb{FL%Oj_oY^RdT5CG z_=_b?Ky#`tz6%)PEO;ZPeXAltYMWGKvC)y*WL{vSuB~xh4w_of(TXGd|!y$Rj+Dw&jG($i4M%l%juNeQzeTpV31s-f2A-XE;qw zVB13}xxh(ydD)`1StX163LRMa4!>vJ`$NE3&1k5P zdRo%}u}uSkg1?PTKiKAm=N0*;A#r&hnJ1MgRLeS8`nwsbo~~iOEU5L>X30H05b9O^ z5m23BGm0g#x251Gu&*;PAf{qblNk{)TVZe~Tp@dJl0tt;`G$bKAY-YtMLopRb2rCi z;HO%o;`BM$Jx*dZYUSV{9W7u<+NPy17JoWptXXCMF;HeLRMRa@9{`~u?VzDF#P=V( z9u&-tE=hQUK*RxE*nwr*zn0UVadnBL9IOro+yXa>EOn$G+-dN#Z;lXHeBkkaljzD7 z{Q*$T2-1%f2^$b;FN7RFTy5apQB~D>lesy|3yz;XB$gyN)}8J*#XehV zJ4-Nr%6khD3!fe~ZI8b~gp(=f#>R8cA(X{c2@L(n@aU}mK)-d`?cJxAqD6BFM2&n| zA7=p~HwOPd;}uzKp%{1!;`~gVEqcra`0ONb7WUslazX^2ROh#RvUvb8DYgCJ-CNuc zWmEfE7wYK<`}yqRi-y$ZDzks#^lF1i@+2azSl zH=YH#QXa3E)|{uOLVYNs;(bi8Nz|0QY?+&PVM^IVht6M#r#Q$eyzYe#Qrq9*t}+2% zHx`lqe4g80ApoqQPmV6Z7J9_{>YZupla)O}eowN2kzAV=?QQWe6rUrlwI@_G@k%`j z=UYOaKIB7cJtdk=kRCU{P?P(W=lvt0{|uDXWZ5$J7>=qLI+q$A1ZA{6;NfUKw)y4K z$&W{ju&%&gFx+rqUH4b^-uaEH9Q#mcs^6K&^0$rz{3}$37sio+#&4^sEZHjBR9G4e zpSQ;A>nVW5ii4QmcB{)9>L9JTeSx%az+Y|~OV# zk&SkEjNZ>_z04HA)Rf?t&MHTfaG8Mctc49oa;8#~A!RHEYhZ#w6pR*{CTGwkjD^?} zJXzyBnEr?0^1RMQcU3FLe@byy1c7}Oo}e9eqW#HRI+X+4SWRz4{pf1HzI*VwJ6;BE2zY z5{;L^RKsw)ZSvxuH~p<|oo-Q^(QnaPomkpX<+Lk0IXPuCmbb|*JTnM^u= zgD}rFP`)AMpDel*{csv3PQ9>sma^1ge)oqGUa|K6TL)p_WC)V9@D`E{*}z4!QJ}~x z`19WIswMHi0+GO!(W&QT*}SP7z83ht{9gkvH!ZHxA4|M()18ye8R8b=l<3M<8bd>E#Y#LX z#W#O>tT#BB8~KouMBGis273}n7ZykrhQE{G?-Y!#O8g2^IUaHf|D{9x&(2{`XD1Nh z`mlbUZnC^5u#igV{v6)QMTWBg2f;};8+?I~(Q?~rk@&uyEE-oVK%ff%04jC;(lZP% zvaGCFtd!=svLG9`2o`!g6y+{tU*z-Yo$aP9EX0-R7+B24D{sqFc6i4*Sme-<++kB~ z>gxGdANMsIs8eO`4hwEX_YZ-U6CUt$3GH@M0j1S8CqD9e?7(yAa`bA+o=B|0mp)yGQO=KGuX$ zTk{pN@74cHD9=P*xq3ccUx?V5adS_!IjW|<9ckXqHFuBnA$!m5n3T@LwE8p;jnP zgg@2Z%fK>hA{)c3*~q(zL>B1rK^9?v%1tA0g$KfV)^$(p-1Ap2gNRS;nqnW~I11TD zxP%MNV$@`LIf(#W(;@E#MzzYc?G>XMBKs#g8S=L{+*u~M>_<6DxOtJKMMcy!_G$*^ z`392=)C|cHQ%A1;1g$5Rb!5sf>bhDhH zPXi_^uAB-Y+9zB7iy-_@p?KKbxp0`XGg-Kwb9u~Yj>gcYsq7M&#~2f99URffR>o9l zks|!wPOW}qAk5xm345j-Dv{u&BT}qONIBB z?c3b;ftX`>54~RE_u>7_)(Kx++m~g!%Kly>PQU|TD)an->hHN9^VA&L!APF|{*vex zeUERQjlC~5)BA^RE#VZngr%iHw|S9pM1&rRv!U(_U;MlvsEQL`k&FpUjtR{88%Waf z+6UK6>)NiR5TCzLiU_6M0@GMWdH!S8%=pKB+@{Xn_KTT2>U&w{Oc{B}tLa)iS7*G! zwiuT-IF)b-=T-RmgtH*Zgr`*9Syg2sTW_pX$d^%72sN47hO_>TxwCjNq*`^04-3tD zXO(DfDlMFldbrsGULisP0b(J~=Qh2*s}cdp7{lvKU3~6B_OwT7j~|{| zaEChs(;g_63Y1hhD{_|bmdY!r?9in>n0=3&;7p+?@Oc%Bd_gcBWQ}Q{9gS~C7cKyS z;s|m4S`v(Y7UrfJ=kj-n&`^^@g?B&BMnEaf=8kG!1fX8lb`G%7GWkvbA?yy;vspk_ z;$h<7Tl=NEZJeusJN6DE?JM0|Pq!@6*ue}yo1qYdy!7uXJC*Zz#H1dcr<(oCk$($z ziwpLd*}PlvOkIx14jC`B!MB)qnzJho9b={Hp42YQ2cj1@ zi?itC)a1sl?xcO=uXKPep10%?B3(+to*a(lrD2Eu3at9yW+XK;$5PY6O!)b==u}^fv^!r zTzf``!)sCK>15T(*AI+z=@7&Ma1<&!o%yfz-Vc+Xu6)_cjn-fDAk$$>qsk(_* z2Qjw=w$lvBZmU(UX-JVlKWF)phP#vw5Hx2RFn8C^`^9$Hc#{@2ysSP1lS8ul5A58u zxp-IZv{;`%t%JyxTG-99{vqI$MTAIFm7Iawz^4A`eN6KT#`B{X;b{O+V=?iexULh= zIAJ9@T*OHA6Y)XrXVp6H;sCdLv;qGLB?j$Ue^afXtbkXtMaP18^D zbT!CkslMA!1^Wp{lV;55n(7ncNl<2^nyTo$7w$shgqO2(E!OlvJP{No!xl$&1KhAR z2HmDIg4ZT`s0t1e@SeeLfAn?Swe-FyXH%HRv|PGWEdZ7riWGQxR#ZiI&5D4|hL7PV zLL$ckyGR7h-H4BXO_EWSt0tbqFZpLk#xKn7Av~}iyAyKOUhmA><4Y2n8|GT)_P#>+y5U#DNQOwD+_-{!`ECjq(l%)ZUo~V%=8?Z*}SCAaAB<5v;0aC1QY2fOYaO-8E(7Z;-iAM~`2$_HA5zcix_f z=-%Z@o5wvl&vXqBw;@EJq@!Wj=hFerz5fp!fj&u z-xF9zfOIKDIH1KGmaOFz>_#A1k(37t)RT^uouk>>NU; zPvWM14@;RNdL7T5#*LbYD0!;1lEqIg88=$Pi&KX2jS2D z;#I-!W2k=}+1_jSS^%Cdi34h@`_A1whQ&A0$(UN#~lsd?Fe9ia0vi{JZ%O+rhxk4(#0i ztpxdeJUyv27%akedXPF1f*epzPLMlmpjc&V5gw(O6slNZ>$mmWuO?Q%}c%f z)DbG3X8G6_ubUEsq<4MQ{BUoh@f*2VQUQWu12Rl89{JuW@`yz#;-fJ<|2aU*O3WyZb1J z?6{Gu9|J;aY}io0;LT3zNWx@0R_#k*r0HuU+57!?-m6ET9Zc(O6G5fkM z>_!ED5#K+rMf{k<;c1Bz3$SBLe80m>86r>wv`Ss@8$x|>7ZCDVnfq7m6L%Y&B;!k2 zCYG_-OW+M_fnT%3G_3xr2JAYCb&=wvv7Fo;MQPA4!vnI9*j_PFDJYm^c;&JA#*88b zEnf`LNLgxlQ*8RksAWm=$#n`=(Y$|G&AV)zCbP;H_nEj0+i%P~RsXX7?5Iiq3_U;t z)G?g_Hufe8lP#=bHC)VWh|(CLjXaN#jc8>0Ol4?&JXp_3g)1GUA({_I6&1NNX1ARv z7<>5T@NsNvyh%yCxnqlQg8`ghUa z)8@&5yvs2+eK5iSYx4axOf>WtwIPW5ro1^-DBlW^Jt_V2F-C&{YVfY|ndZOh?5`HX z4FDO2P6D@U+}TWnS~6;4C8v0;rdm3mZMIG(>3E3bXug-JEG}>2iw93|oNMGvdHbij z>pL4x-$y%a_R*lH?yE7lZMxJ_c)1b8#Yr^Ud0!cJ)o1WlvA?scA#oSIz`HVR96aDj z`#H!Mm-*IPVP&VVU;N~S_zU^Ghh*SLb{z4DYfA3e2e!t%O8sW9gvvzH8_=p7$IRxn z<@?gqfK4LcDG!`e9e!jLx@C;vap48$`+y zIttHiMFwx)yb)9FYHlqmp_UOPxA^(7b8@rUcS9j9NJA5FpqKM0F68&(4{WJeryunJ zZ0G$e=LmaTkv!gdB717Nzm_0NCPB}@{B9!reXJ&r8FhBNy_;e%05k=_+th(TfZqn8 zNt1sFxEX7undtj9f;=ldPX>F}K581HrG^sHcJRz7+YOWE*Cq8<-t(>WgP;yw?rjcYmSNc!NCkbXd>BgkozmCd^!qV1H%GWP#0`vbV}-DL=Ta#v%CS&h zf+wRce+VAShr2ef*6#PIP01tjm{nyL_aRNu&S-=rdhBD8+E6jx3YTv+`Uxj&;^jW9 z`^wJaXkS#4;xO7svgXR!jC1HSyfL0z@KF&tQ+8X49#IEfIMYv=;jic9u@dWyu(M;; zwMM)q{uY_avRasm$dAt}&QtKkySMZ03rKbYWFu{2F!P4<{Lp>p94Re zh9netz&s4;N=PM;sx)HbzOfVJ(`eOJz1Udw1Ut8&bEe3ua)r4Wlu9jePLXt>XJd?HMW(ig&xws{IT z5YabL@RHzW9*v+SVds^$n7k5_cecpJ0T;OUfVUWS^N{@FN7c0g0kbXP@mt~y4$oi zHT!?d+=P$5oL_f^;tjsS;jYH8CqT8$ul|kRDj4xw!-#B--C#*rig0ZC&KJH}qLs&W=cfu%!w3bG{3Dk97h?#~d}ZQQ%tF*)$1O>RBU@Hq1~j~TLmNh0G_SU)nT)c0OrJe{6Or{$ zKV-mxOVW&uIy<*Zz0{NC>ph98+dk|w{oxKTF7nMPGWJ^u8OslMaIPO;0 z_JdE@*LGtim)0RO;{&r#dZ1i)XOBoL*8G@Vj?ki@<3H`C+9{PM(639g#`>m zE>#Y(%S;FQ=G{N)l3J%*JJXZ~Q0ZZ`>rRX!Qq}c#x!=?1oR{W+b z9UYQ{*l!?1`Tfw|wul!J6CCeT2EBKv47ZgNz=QVuCrb*mTjs9>&;!>SJN$FG%FFQy zg=w)%AAsJJMZQ-bhdYK0|6bZ8Ao(evD72!8KuPfi7!i-um;|4uh(*bW8T@|R3%zzY zW-?C!KYx(kvmrPna4^WesF_u|%vw@Ixbj&|x`h-dFb+_*{d($Va>b6DqndPG+ z>^Y;9523b;87>JoSsSND$2ZSqxU84dcp*P z8rk@}J^ee>`J4%)%S`<))ley}2Td7gC{T#@B9s2C-RL3;!YiR=CQgV8YTws>J{aWk zb(K$~Kw09zR^@emV3lO;^d@$r)_TABJ%X#ClIamflGA_2QSHjq5?+V5Gcb$0GKQoB z*frE*4KRzyF?I2B?0rn5@8N{3W2>@*TjYuDq11|CLm#&y8KP9sJt=#T_VSr2`bAWZ zX}Eh!0+e5(*JM3*V)|2QA`AWmLcCSE&DI%Vtj@q!#>WCpQT?7_*`Mz2{~AuK_tl+F zgM?ij>|<*Z<-eVXje)hE)n$$+Vq82Dxl_9cOO;5@)O6OS@0UddBP;u)ez0W!Fl*k@ zg$z63(qF`36mnRW(rXd>x(UvYQFq+ln_YzLp<_P%1ux$$<3_X0)VG?M!*RxJT5m|U zmA%X%6zS1B=ae9=X+E7WRVqlryaF>^XP~SkCIy3(EoM5^4#pFDnMVssm!T=z1|7y! zhi>CdqORUsiAl;AR&vRf8*5PbD^9EY+KsPv`6k)9;rZXrt};Z7w0aHok!_L(2%oEl zp_TyNbslyD18-Z4Tft8yZcMb)$_AC_!p75>x?^V1`tzj9)VMY(5~w-%VOuXqOR_z_maC9hgb9uI@(4I_Y5O&cG#L)z8h=piN`3d z=}QAq}VE{I+W|qv~nxxAUZPEP(jFYWZ40%|^ z>~567WZ0CyF2^ky(>*x_ZMLM+~_wb3qu4KOpVgQrZHCc$=9$pZoTQ6_DXB3BbYy ziOdaHUbS6;Y=C2z;RAud8fKI@uO+@wm3$otMfWcRP8OKsg_QxkyigQz2NQC+cKn(I|+eDTssGzZ0~u5>)s8g+lENZ z9-vvi&IzimTvSPZh}}tu`|^iC&ZS1DMa)?8Oybu1l@L@um+owKxEb?a1JC*lYzr{@ zCA4&ysnf8&e{S}D`+>$oA2GN)VUJzak#VM5E82&}n19m>W7WE)Zq~WsY~rwA-&7OR zJ+pNSYbMpX?rOmQ;s;huy*7m;O0;@m zcp{+EqSgBXZN`rqowU7~-4KbYQhOL@{%MT#Se5zJI$*9~p;Qh2mfO}zEwvF~U^dk> z7r7ctTPs8a)AGs8k*Q07Ugcn=yy+3Cp~2g!| zDB6xJI__TBg?;%sdJ_WXI+b6jUbUY_UCX%nW(opN2i6x#LNIT%GY74hy!>*tYVHrP z%2&Ks5EhRMSg`0`Phr))tIV4Js6lybb^E#60-JW7re8fwsY{T(Z{#NXNDylnToiKT zNiyDx#uJo^x9{89e_@OD_ps$b@0Iu`{vjY*-(vO0`ul$1$5_30RsC(5PXz?uuR$w?13VZHTa1IQt*Uy_dutJ!0@3|6=2&BiqoZOr*@pbmyb< zk@!wsrdEJ<@&oR6pXPKE5m+pf?&B|vfu-TAKI8>6pi-+x;4pKWCE20_N%T+dO)xTG zT%GN>NV&y&a7RhI4(T52|Fj;hP5AtcxjG|@5NlpimJJy3__f30xVehpM(lwrY2I2t zHfY6_!{w?(LN(6wT?nlH6BDSLqRWQqTa@>uVcR^PH%I+h9a!*bf7ij_$d27-JN!zL z(Y~9;=+SVXnZ@d{lHJeYRL?hQa0PdVQ4qT0Eh*AjFe0sGSI_jkys3j)&t12*o z`)U0vXCBkL6_EDcrve_|*NT0ScX^5li-R%Abi5_0y+XbZKsC0uWp~tM%E!@mp|sbI za~s|^Kfm4PmmnNRQ~8HjWMwVIHbL9GPk7-@9Ip1-nb>l^q7WvX?G;P||D}L^-n%`K zb;%dC=EeI0Prg+7YU`k5`eFIRKJwF@mY3`NeMHy-0|(di)5xfuBgdkHn*kC=wCN?& z0hTt@cD#}xHELU65A`#HH^uW#bb|Jf(ImU$iNisaTs*aQeYBXl6vW6uxuhMReJmwn zwCv3P*qt+qS3+T(b9n*VI+Gy@Ic)wlBjyXV@y zkyTy#FvfD-`*SJ4*zMSKo!NwpWkd&HSeP`9VFSDBGHEd|E9oi3rGj5)n&3@o5JZHW z;p>__c6ex55)PPQpfEwyZuo1GNEksRW3Sz zx`fvUN6mGM`9F?h->FJPl$0#C>g& z`_b{;*ClfmY_y=jCMqX>$l+4}6wDbUAaXx&y+_h6U}e76?{Shx;*$j(aUbKC`5SFk zeSZij6K24U8#?GuLC1n#w?n+tuPV#)h_)PAde-F+p=~cKW$W1}4UKQ&SVg_nVAo;N zK-zPtl8$Ya5DxEB=ZZTDqE@T*FoOMBJ6Q*$^-RNRVOK?`keEvE{H~{~4_cR3)uWiBVGeSW1?1WR{ejC&Es&W_)^J2|hm-#_Hq zVb|C%xE2dF_boYCxJ*p&#gMoN4ZZ}zF->+5Nc zk=}KtDM9R#5epA2{fc*xfkc3KsY^MM*KPS^R!?$;((jH15L8p zFi6(Sc-;-Aq_vnOd`lDd!H9aK0-M+;CIdz4*km?Ww zJK)PasbEZ`=*6G$fMb(Y>+-Cx5B}5GLUn!6%s*NoTAuV~^1fsvocH;!nj^vUNjgk= zX)grJ=OfD~UwQgJC_AgLIG*TD69|Dou;3ot0t9ym!4jO{43gkBgF6EOg1fr}cY-?v zcXt?cfZ*-}Wc&BuefDlIwr_f-pP8=iuIj2&be6XOYCZ~bbTw;oE=LDM}x1g*_D^H(4< z))Q>ou-Gh->pU+Fwl%cII$m(ndLb0p)!aTx@<}b>KsK5+Rqo?sugLH7lLESj2$V3R zhsdjm-`;(LX-urx--apK_Y=v{^=PWGmLxijt*%A}(W)zmy4;vwT#WB_d)bVP@Hz=_ ze6kgta1~~2HjmPw+Q+DF2}4I6p?c{D0hNa3+Pat}QJ6Yb90}zW|4h_WVJ$f>_NILN zESqP%v>Y1Hsw4lNRZ6Gg+htjs&0;$JZ(-4mIJ)q<*0%%fb&()->;xQgN)v{P_kaNW zMm)psZFaeR0)4H&yu%;8u%!GQ?K<$*<%UAf+kgC40lzH&UDwdyvY(GfJ=-9`2u=*v zewS5=jwO-2@~M*Yv-`qOBy}=uP~&r0p6ac4ZO~)&O;b8zeX=m&%~OuvMZ5G zyV6!_O$X{x&?-c3xzG)4qxn&$i>o3w{dM$8 z-z#mPeZJ6qaYe?m@`&T^aiJ}1gf74Y@KWsP>))8T3FR-0-m>OuYE(I~pH#@K=}kw( z6B%IzKe!-Ff>EOr8z>|%m)DmSzVl=@>zLNykJ;a~jbRl-=DGKe-?zMu^Y>Fa$&ZbZ z>(-&NZm#(*vwy+ZQqn$U>}$5Il*q3t=@?~rlnUyG#KR0w>t}M}glLJnzLZ<3p=@VzDcz%bvcP$=N|t>B2#n4s6#80ia$SiZq^qyDe8GwR zGs&mKu|r_+^HW*Bni;N=)~!m@(CUgiCk1mptB|G6#x_V(tc9Hp2qVKswqho@C=|OE z!(EyX8u(^e;V||sXps*TwImcGm~=wpIMk8HX?so<_kAZOn%=rp@NxLO@n#%AD30u( zQsg(p@rC&kBYOUmou(-73(b>=Rn(c<~mPmcl!AmtX$9f zH!JDC)=$NdSX$+dKBF!y6|ZjS~5l6GKq};9mc- zB{_EL#rhE*yT1bt6#F}sN6==i?rSZMQ$7Lp@O(o!EP1I^?O^-L} z*Q>BU@29P?QKzxgd?9sjm%r*1YQEy5lA4Sf+0;2?s1$ZSx|rH56K|uaUVUscm2mpD zMYCDcND+v-+COW(4G>!Sk?ONxL7R+{{3i1!n|IcyalzXA&j!W|9zVzWbyK-c`rr)G-7h{R>m_I|+$?U^ z-?y@*>jz#!rnED+w&EVU6uo-IH8e$hw?)K{bE@1`F_)RrZb^!I zAo?`96@)SZ9yarK9=&{dmc~*VDP!9J)+9&xtT#@YJ;bfz<165iSZ||8ANkDZcW+9oSj%%V@1Y#hdEVo~M+%Drw8O(i50oD+{fnXYDwyc;U= zl~wqh&_*XLqEj6eptT$M52KoYF7-@|T13_+D90Ktu#ZMD46S!gs=Q>!&mT9z%q1e_ zD37GpQ`DL8Mum1D!HQ00-x8iTH!vYl2bTMSkTaq`NvInj-=nqH2rB1f<>wfh4r2T; zx7-BL^>#aPRki|Vv8K5}dckgAJ@wYh583D#k%@8O@2yR&KF7} zA7$h#8!a#lIqKpL2B>;qoEQw%s36%KWfb75jgY=(ZI5=**w-Vt;M%WV88nEDjpX7R z)+sQCWzuOliIslIkNY5P{F=e0f@H+j;^a+J^8>lpj#XORSX0D2UXm*bdQLnK;r2}Z ziA~js%r5ux>&n7@9hr#QT~rUPhax65tu$gyVeT&>6?F@5pOWto^Xi7*7+}s) zH&WB9_>qVE6%+_x{)CF0A;4T+*~BlX#izH(7siaD4y;i&iw*VRm&nK~Y&Z6g`DBOK z$ASx8uSXI##=w261VQNGtY+Z|@*HaKRd z>{vU#0-xT1Mf4Qzeaj^>OCChg1kiZO9sk-ubVLP`dn_AyRj7HzmrhS3_5GVqDI0Ip zZX9m~+Sh}#54fUkzwNR8L!t<_u~Zq(TzprRpHpjQ77z2R4QXper_LJ0IAyvu@!5~*fAt7r-YOEMc zI4B~J$38tO&38e8eF@T~bt#l!KBV{&cRx)8u^7fIhPhm+j#<6IU+%;4zw67Q#6vANn-xVMDZ-d-{Z60Ex(;2K0_$Bye7#fgd? z`6@XGdZgT2M0^!$Ma9{*l3OB-vj`9{q8H+kGsvd(^D6YR=xi>Th9g{eW99^Jn0{+3 zm5XXQ-cg>62fwSKJZArgRD1N7>{r2l*^$XH&1t3fHC?zR79Tqh0Yr+`6U;7A@$4dzt}q2c68W4AiXIs4sUH!WJG6MinwDB5tVtJ? z)>d8h-e&CWWpCRQ=X;wGvcbRAce5T1+>O-s)kK5Pu|B~I4l`^o>Nkp6Y%mYx<^7wJ zm_B>@+U0P|VAGyS-dh#Q;;OBS6_Z!DqF}A}7psAe$L}6{HuF?ahfkW0(H*Q~8ZBl}U~w;bz(kj`HzX6)L;T}-LB@r&GnQ^5Kktow~? z6?>8nVa0lAxtE)`&T~xrW%8y;5;fK+^ICJ@y2^+131pXzuX4LzdsfeXY2_RQdr9JN z`+9DgtotmmkNm8!;UvJcWxHA!ESt(1IvdHTPo0?1>z*04T|m^g$}tSKz8g`< z!@KMg;VkdAjSA(rqxEJ-v9?nK#i|gvv?|pfk0zMYO3X%I>U%MFewgZRv4F3B_jgYw zwO5Q0R=a9AQj{Fw_kkK5w*)Dl2M0ydTMqV~rfO9_C%Uwqw<+LzvX%mxt(d;YnPeKP zKf#Pr7r%4-k1F%OH<_gPb10dgamcP%*foFsB7^UYP8(u4RQ0+roD=PYh}jbBjmpQ; zilLf!X8~?4{TOVnLH^r@jkIbq5XnQw(kkDjnvicb1-?}~VgHZ}h6}%OE8JktA>Qn5 zFlYmd21*WQ-wx}JoX9%DP#FqR-*zwliOuQqeUD>qHZ5hj_^tsk;hTO0e}N2J zxlhp?D3}xc)&D>Q`dnD=ZPlLKQs?Z@<2=}=?-C*e(T?+;)3z(G*Tz}pj@`NNogd#` zFcpbgFLJa^6HWfm=`}1Q!XC%GZ3pWp-76BC@b-<_yA29upp$4f>CSxWBP!_G6FxZXM4EVz#_qW3E z1_~pgsT)Kn=;El6r`P1SXmB3G4V)$nuCH=@0!q@`1{>FO=o?}4-2X#rYE#GRtrAWd z_UF2`%jq6E0EW*&=Xp9qrUF4V8Oc0Gr0|Uyvf3ACoXh zNsGiwiTOgq3!j4upR+)9N8ybJv)P;T;i8}QA~oVOT#|$aqVM0Rh!g~0<*hYNLP`@6 zKqeHFRvYpp=CfkPb4w9$vhaR*%kisy3d0sP#GRL-l8Wt5bw+dy?5VPAlS|*^IJ3T= zDdVZJ|NHMY-(!Ogn=oBy?pAWsiAaBH>b5Jjt>CLKDbbBn1{cpR;ajzvcSbAm*|pog zw)S*UPszW*mH0vDu1=##5+SRO5OthoA5zDr+gGk~sd6^~udQ4-!$)qk$v1igj-${- zpGj{nsk7Rvx3Zg^?3zT4(0Who-7k|yonQt7G)4{{N>!Bowa4SE9ItOK{q!8~d=@sr zCcDi(SV23Y(KKC=*}|;|DZkoIMCi?5%6^Bo*5iKa7yW`pD;Yj+FB~==qHAG#Xi*lo zOkBx>jZ9fP3#mADBqD48uV|@^h6EwmZ^uP#dfuVmpyK!4L*?Dz*)9COa}D49QD9kL zBgIfCrq$=ulf6EQ2NONw*U-+;u6usXmz!wJu4=q*_p-zhdTr2-trTYQ$6G&e`8}3)6o@V z0Av6YJ~=#|=U>2#8rp_9-s3d<$8F*{h90k0ac?g&d!Vg)RW-Jmpxd`m6H}3=*_Vk@ z7H@c~zW}@R*`9i64y;ttnjxy27bcZOp-E%A2C2#PqE`XjvQh zmS$^l#g=f~g3Td)`03XG)PlWn!no3dn76O(5=iAwR@=G@Mz@4hgMDWHz>IJa%7>!^ z+|{9}zODKPTgqy;#HSFcfry<30ih18TRAqn0r!KZe@KU&R^rnm19lEvOUtI>Cr>jS z*+Qe@Cp!jVa0-J{xUY@);s6zz-%~cR2Zvg8WNKBLe%VQ#zMa50&s)7ScJc8~>|lnZ zFFV^3Pe#YmM2o)7Fp1+}vc!yu1atZci>8cmxRK5CgcM~SP#8}8PWVrFQ#N%SLi3rS zl8qcXSn~*k3)zL%?6_xfVdIO$Zrw#UK0fRk3Un=yZ7*@K$L>sSHdnps$6555c={D2 zg3ftb>F8F5691IW=i+;Fo9L+0M(P){-3hjHa6bW!d5n|e1?t0}@sB$RfxFALId@ea zGVQoDtlKHCFzskV47pKgi>idJU$jLF?daU-oR3mY(2YXJ$5!}dhI}`CW}Y(oJZd}b zip*_N{~Tu7j5Z%fwAmadw)d-KobUE!A~M;7Up8&K zgTf)2fMydr-Gs-MDmtT2S*@eNXgEAac?D6IUtk}0o4ZyQu3@2Uet2r+fAsxf ze>g}!>a*d{#$hedLMj3h#~Ct>j)YchkcQh*v+erYfrT99{Wv$O!J%%3Zca2Tqu%I^liM00 zjW=ALXtO`CNwj3!3$79KQLnzqtjI>I55_U++YEkjlO7E%&ieq2xTJ^$QABe*@ndcD zm=zAzwny_lk(opKk(|(`zD@Y1_?pa3i>#6U*{wkA(>S8u{iyRjqQvDDPY_g`YCU=Z z^(H+Mni>AcEP=2PMl2;*OzqzUvqzunLMyA`$*JTEPm{a)CIOv(+s`W(3W`m>QxV;6-=VFODg##AzzrnGYwxS zr6wGymLNx_~4OwDAWXL|Qr}T8B(xEoc4G%7e#3xtLRF#pM+8SL7Q*t9xYwPq4u& z-48+SD~alvvX2&|e^iEQNiwv^k7Y60JsaT%EDjJn1x2#+E4z}RGW;ZgJQ6k)Hau0>0cdm$RcR*l#lQnki_KwA;rVlAty%# zBg+AywKr(p^<{{gTl{6Gp~-YoiA@<3c035ZV-L!1-&R6-@45>i~+lLw5-kLI4a_g z**18boWY8+Q26HFw{lne;lvEs5q9w392i~0hFfY{s=aZQoS1;)25`=D&>pO-z4Axi zYvo7)a>D*gRFjAn*>!fesE!Fpj#K|)Qt<5{_rJ}}6u$iG#C}?3M24xJAT039X+hgt z1AS9_T?&JKxp1>{*M2oK`ZudCW|q%j z$1n#I&cE%xueRTWM{jV{3S^9+Ae?W!1w_1Fi4ZzGca5yNcxCM*rcx^up+L!j+}9-9{#5V}iE0R5==*y6O=JI--Np3wU8NDe-S^&0T{duK z*O{mh>BtUzaP#zBn<>~LaNGzrrd!DPuHT3g`|WG@TY^4^qe3&Y-yUz+X1>KNO?2PC z#B~voy|s}speb8gmaydYYu)kcl+k}Iuf2DcD2lF$9&si_`8kzR&?B?mQEZvGt7}Vp zwrn+IzU~ni+!eL0epg)|0plPv_(`$cS%7n0znj4ep#X+F^Rg2&~%s&MDE~ zwIBFHCB8K!a(R6&2H=02Y^rtjR`pgv z%p_gZgQa~uDUB?q4k8)(^vxp8Gf^KT#N14-Ga3a=$2MvN9Aq-GhH5WH;b!AooK<;1 z@*1>^a+pVTD0{%^DBQ>)(stTZXx{jgVkFK%A1A`M7cdP%k_Ms-K(MX5c#h6_cRQ?y zwz+=c9(HV%2ySMh9>?bQecME&Z5_TZ%wqcc{;a<*@A~30bUCAAwlgk?!r{??^DLL* zfUvyKeRK)ZqsS&PRqZ@ApzW6Jm!q_2b7F!a!#$hy@1-dylSDoKE%3{3j$nz1~ra%wzgZBtEd_6O=jy0Mui@b6OzgKi;^VU|~!4aAy-5hUB6dsd7_`3(Tf|ytDeQCUWS}|=`%3}kVK!>e}SLU5E zChs1?AL{^RzS#IjZ}gWL_ivi6z-iu7(lep{*yc<<=K;i6Sp$w~ zPfs9(x3zEG7bU#MSPGkcDKs>``k0=aOx}>4)3nAqiR{81bWRB?F{4+9;&=6z@0*Uy zI)kZ$w`N9ScOJK{n;xCEgUKV|i{FP&&l+5{GG?+(B(&qUa!27p&J8!BdJo+kx&u{r zg9F>*TdS`ce=69y1q`2E235EGLkivywRvU=)?I2j3{tsD@xkk34;;YT>{JRJ+rE<| zrr;GI?Z2xQTx08IY;5b=arfxaS@rEXBlj9<6)>q;aNNGp;lFY3 z9ToTlvKg#!X7!^+5+^!Ndak&BXk1{rHq1qHb@K1&M*8#cPS`;1*B>fFANPz^2@W{m)}DD%`kPCesSj!$J+#6&Q*%#gvuA<|a>-dSyUm~`w-7an zv2#!Z0-Yv4l@?GU)NizB4l5{Eu4RN_O{4n0#mb$tjLK)*%|ynhhc!u)ExT|DI)nJS zAFBqA;lJE6k(zeXXxlXAR{ed=OC&f;C~Erhw&SF>J&a9j2FmnzliM#SMWf#+#(lo> zt{M412lQ{7EEj|V0l!Jw*WTNXPZ2dqRupm4r_TG-j9I#_HUl1f^B7uA9Kw6e0`Gi0 zPmT7(p027!aLX3G3i)H*RNFdS(ElM3E#uS25ACE)Y-21-5RjIz@xL{gzs2)7-h>QZ zI^J`-AA!IpyANJQtB$N*hpkEHmJ3%ganC&F`*uXie-BOpU#S#M2=I)!R1gXBTUQe% z{wB&&WLt}x^|jyn<~6^2u+Kd-*hFFC8SkHPLa7im(`F{mV^H$Zhy{exDV0B!N z%kY74-AC=?3Y~qQ)@a8eQIh<-=Xjjd_xDy}MjoirTAZtO@+8$H=dO-Yl#0YIocGFrg)ctdNCqLt`_XnBBBg zpP%1@CWx7CVpsPK*vhMRoZ2AxiR5>D2)EmBDEsmNP+Dm6qc?IiS6q;&mI{kU%#wT)dH=2ySSrYoo+h!K!m@OiC`_OVZhhUU=KPFHD;xly_aqa)y&6IML%!W>hwA zTG`P`(`#ZidS0S*{kI10mMxV&1cMsNg;eLUg*Lh>@MN_mJ!;||B7m9aNt>0~ zMIOC}z@BVXr(Bp<b|= zA}ociP2hs6qe)4BbIBN;rL`5KURZN>!%jyezL_48iGv}7}xfL*|ueXA?W7ci`y zh4nnEy3=ln=4gX`YYd- zMGube4?rvuyJ+^lgSY1ZO?bD7L+y5X1;o}#@F@J-P6~N=Yg=SuK<*C7m(zHY`gA%* zH$wauFU^B9O>J{~LQlcqFGEZG^V2uW4-#wVL0)Zv+IC$M!#%XZzq`nY^~(WgN>x_2TU z+e@&bpj=DqG4_-nU&c4lc1gstz<+;g0}S5iHrCsBfa%>#i&~Hl!Q`-Jn1m?SsE8(< z%PTvQk!^zDjW-}$l7887r|tG^9wNi>zbS^l*J0zM{nj9UM{Jvz)~;_Ac96WW3(;~l z)8;CU&}3rog~t*PdZpnD#hrq>jNFT@CD`96IYcs@e%U{y2?G^|ahzl&$_ydEwOqTy z9^{pJDZ6a)!QBpxe#q=nCtUY;+?yh9`1%D!5hmac9=Y48sFaI=DUN`=(0o>YG&Oh$ zJ{t-?s{KRCOgrO-sC(G2h{%52ySvdcH@o!q*|}R2@$1*qJ0I1!(6Q%-+n(#we&brV zt0ub95v6hyi)`xoyTTWZI|{|trb!u+lwj!}K_qhy8ep=K9Iphxzk+T?CSkf?Zy8cU z8yB?yC?tmM&yP?jbBt?unR(c-bc}7#ycNKIn7OA$5I(9k9}o39&M(NWiE>EXz#O-- zFGyj(pGH#uN^E<8kIS4M7gEI6y4P8pzzOC)c&R(7HXx7Yu&~XkZ&hHreutDiJZXu+ zZK3FetYxA#i}d)Aom9e|od(v6>5~P_XH|b$cuvv*|3+2CbK&mM>sli;fje&*Gv8i# znaHy_lj6i(6Z1c$o-ML-kb^^JTa$pBt09$CcuQS#O|qgd<>0yiO+sy5-TY8`C6QQt zs!8gqN&4q2rvMOcQzM*|ITIYv8sM^(8l5e8Fum~Z5F*Bx9JU@yeV5@!TtvU1;`aV% zz=GPR=X+QKzdLMX$D9+O9rbK;NI1uT&lasoj_VnfCZ*C&8c`A_Pcq?=Xs-RaqEd6Q z1>yh)`9GW{F0LwAjn+C%MDOy)nsR#&V7_Vet|A-a5VAXQ=%k6-7Q8?E-FzAzUw!e- zU735+k+Zn}B0|~b*3E(0JnbKnfbC-ut3PRZ^E!2FbIpkT2&iHC+&l1DcqUxRAp)L3 z+jrxx{E5nbN#s|&zqzpY%JTkYgSP!5Y!hUEd&$BG!HkC&HEiAT3y@^d#Pqh8CtZvs5Ocwu1R4Vu!`*!Xs7;*UTaCvL z?|oR|q&xjak`d7#D4ifRGeh8rO;?WUuJG0fZ7%ryZLOm?`O9gAp^n0ySYxN`)}eu% zq`$Enn`x(sW@d43z+>4_6!8XP%L6;$Z)yFn*B$&Lw|YpSuee1b5-W1+O{zG~ml#(z z>1&#TBSB{GPpNGO6jEz#3WgsklNmZ|04XU*yDmlK_}5Jnr`x7MiIpmCgv-I8Da6r@ zP2Sls&avs|;Uo|M7dba#3Ec=3A{p_&i6?ieQNu63HW5Tl`vS zZWST(y{i|#OEIh;muVsQgk=ISwpScNyK{1fEixDx0UQ zoiAG3Dsw9%Zi|XlmG&IPXyi~eQJ@yG7*1B_dCxyH3IR$0KvdWl+AKRDqdH81rI~zE z_0yCYm==C1Oc5;w(xgE0eod$xl^w2L7=qKq5#xvhAUlB#K(K2XhWlsvN515(Qt}*7 zh@Iz$C`RyXQd2*n+C?=w`_`|pA<$`qx2k}EEdcFr2heQ{rRhO2%r-(QlCtWm^BpPE zWdKAtmbH}sWh6ggZkBX zwFF@_U6u^uL$2*=1h&$k3u>d2wt)`h=hnZ<;G)U;+{X*1BA zCu=}G8MTf}w4X$%NKUCGo(n-E>zC5-M9)tcphBFrtp81N7#ppJ?Ex7Dumh2h~{&(p4a9OUfRdUMve78{~sUqY6ti$HTN05 zh!Fq}EA$ZHivQg3Q)}j1g{YwONsouIm-654lg(-8IXZ{6y8soSfni>!vCrI2iWdu1 zbGzLqX)3=*euWUY1PJ3{F~)1lV!k`oiF~3<1_+QS4@3^C;#F77rscT$^g39M3#_Qf zOqClV8G;?g%ILBne*nOXtCTdM=wUC^)a6+%<(+0SLJvxD0A|PB-GQ~3P}IT`xx5Vu z5c~F%dzy(@|RzWt2M3?OQ4!92#^uN(cBY$G08{CH=77t zp&M{!{$fN_T$XyQ#z%I5RaG3K@v%^d_Zdk{BpS-mS+{N}HaFUcu}<9{85`lulMh)+p%bKWiHkdUdwrb?W)Qk=G!lE3mSDZm5NOs4+>f0pLuuoPe^%&DtV z)wYx!1XYysOsj{n0&)_?B?Uxt^+dF@bEF^lTqt=Tk>TqKRmTF$I4*G#h4aT)sg>Tu zS&}52;KwZHa@tcDr)}>y_um_mlq@>k?f0^FVsdOMrmd|Rl&>zQl*6oL{a#K701RPm zt%RApVOUz~zIJ|Ifu?704l<@=X`Aibd!D_hxQ-C>u)Yg9`U#p;zeUfhqS-C!?~sD9I0|=?JbDdRrB)RbVn((!u3IE=A>mEzBi#pTG+ua+qFIQxQh z?<#*2`o>0DIUvu!@q$#Hyw1is%|CJIVMgBbC9Uv5sh^@FhxFcbo+DaCM?gzZBJlES z?or}d0|k-EX3XzL_|u_v(lmdpEOu(_D<9q=0hG0{_=zPeD5o%! z{?Hm*`4FSD1w^$!wER;1rT2$Bkor#aCN1Dmp3N(dRHmwyn-WIOb$rzkkp-9EC!KoY zop1k+9fIS0wT*kN@_D~1&*-x^g(^%|V%TVh^CJ0P;j!TPE3o+No6!0HJR-kF`Z6sO z<23+V0kmftNx831KUo)OH~0}iKe^Z`8t(59;2sv~&KJAjbQdP~FPdL4 zuA&h#41SL@h`8{+SUqx{L0?=7$Ux-G>?h!1$mY(@bCR9Yz2(YX|CmcCJYK;{Z0SOY zeS=bqcZ<%s=UF!GNs>85-K;X{xkLGhj8bk>8_$E>4kr@5gf?l#X**(Y5bnBP@g^#X z{U~bPG&-#6YM4xvJv0J9P3vU!UO_QfougvXb|})Kst&S(Yn|;6DbaovU&)&}5pCd!j6{p3E;ghr{8CIZ zFLuwaOZyx*%<*-miev21z$6*9T4+{4pc9VM_8d zw0swBz0zm&RSI4U1z5hL!=W&aZfI5@{>mh;TcI#^@aJ}z3pJ9nut07{Js~fp%Om<# ztyG>1hoSUsQTAt=UsUP%Vn`W)wiiU%Ek~HGf>&5Jbk_UD9@)ay{@sgx^WcyEEIWV( zA(X3vP>f{81*>$if&G`NrB`0g)nNhdbhx#fsl2c(z~RnD1_sm8%7j@@z?OLwYoYwa zDt(NT>rBa%1E5?;l%}dRQI$T$OublId(JUv$;d3G%=HS*E&7uc_HIt59`8)!k>Xk) z-|{STL8ksch#(QGbLK}48MP10-8Skb`?=NsI;FA}dUyiGbXq&(mqRC3z|Zng)RJ1Z-tfMp16+p2M-F;ns^kKT9{T zvN{WW7G`dsAv0yEW|GZ(8#Y}Mfpx{AN&5|?(KA(~v&Zz2z~mFJc(r(l=4@`Cw6IEn zVcMP#?{!q^-Y0L9QgOq3Yg{o;E z=p|7qe6Yj9(q^R2s}6;+(@Gx#g}{=b<&t4(uX3jL3B=m#$Ozw^7WljhaptsFK>bx_|PxEScIl%b^`W$jq$rFVOnX)k2AFdFWDfKxqf{)%n$CO(% zKvjrv!3~)Kq!2U@8SsnIWrOW>a=om32}WV)MSp&zjj;y*0<_8i!h*&j@cTaC{AVb8 z*fkkZewxT-^Ye4)F$8ySJ?WUOoG8VS7_oyM68@uS6N(c&m=x!oM;|~UH4d07%8XYE zRAXNY0};E+d3@5|FT`jBzK}Nwg2ih;z2IfS`I@N#@{|qOLerIlQ=U$*l0*gPl)eMT zKcUbr0t{>^J@*wh0=r*sP@F)$xHyMetXGbM@KRzmR@R{yO_Ek?%<`)#rh4s;PO$ zqt?wF07Q=q!MN>nNyNa zC;}L1LjN^8?I}v8t@YV46S;D009iYoCXIJHH&iL}5{f^i9FsbE15q(wmuH+kfYR(! z8m@&sFnq>e_P3JK+XuK80MtP=G$=FDAU5=(F z4#?la;dl~ij4zugeJG>3Sn_Q@G*NtH6}(rJFJ>&p9hD&Sa@Df9WN$&+S~+T#Zbdd) zA92-~%d0kvs)Swt@z>-@X>PFbS!sI@h6K`%ri>CwA}|$ko!sl6<7?Hl_IG%Ems1=v zRkZP0?(0rV$xzmnhGgB{_bH;EfX!_!_fblHr7+Du1K;cCtQXxRbi(&DQx2|%OmXBV zCpV^AYYawJf~mX?-ssN&FwkB@5~VpLxZ9RK3=yipgw!Pt3 z8HMgf#}zPDF967D`rA9B$=wW*kFAhT{h|bI#4LA-3*Pkea4IU?~=Mze0h_}_XygSfY ztMM#Y&OU=*e{`M?tz>{WUIaE#rFqJTaS6=YnLSyz3K7MW&B~}s?QoFc$PBd;78VGU zKVy4h`(ek0xhX&$ei_ZZO`lWh{}>*C#3$qDzA#F3B}Vs4QR&LEq%4upGGOY(;O}~r zxs%}HF%?OrYl`3vxv!;Zp2POi*7#6v%d#ATNhV8GN-(cYYsp8Z12VjnpNKRf5qo7Y z?v+8Y60;}dD9qYP6IXIp8o5NdCVgK(J!kUQyr+KfhO{$LPCz>{-XzVwuqu9jsg2fJ zFxAK^cCKaWQ6|wA!nIwTKf&aFXmMV|Uei#fvzW=!*-A-_Z?6>(>>I z!sH{?0}{~0D-Rhck?nE}k)4YZgsoOS59Itqf(C#>!ebmT9c_mykKn45^&jFwfT>&t z&{kAu51ZeXre!?u{lpGd+vB6epj4JxQS}$bk?Q|)!s|%w*JQ~{gIgLfDV$Y!4P0R% zsP4rp7l|qKIzo7ES@#72gY{9ww>(UF&%&)2Wf{A_2sLmdUGR5-Q}dOSgIsdSa09#^ z48^aGKILh#ek?9d zpVkznW&Ww>ms_DWNw*j6l(R>PZ8RfUqIlq@c6+COhW0f?Lqkq}&so?559*xz0x3Y% z+ES{x)A}uAM@In^%~h)ARdM%pfVX*zh-9%;aiqx&_9XDiObJteEUd`n%$i8R@?mjWuMMY==j=%j!zbmco?Cxd1?2^M4i#v}HR&a?}%{ zUptHPXI1y@)T9aqeck}C<9t|JQ?4`me_9vp#WV{VADO*H{7tky4^~+!gi);9zPtOM z)r)_~AO@}~TBC4p{qwcJEK4W8Q4kGYex)QYu)8Ty zJ@BaPkc&VJe}4UsN>^43D=q#^%$~Vg^ff=Jo7VSulSDL^8RD80Ky&Yn-I)F zTt4Y4HdS|tmxn>TPa0Nn^$+AJ-L^*#-WA3V#S3$?9i_bcdQ;bGg`cT1HvZcyE<8wW zNM5TH{{`de*GLj>I||*#R!_mWW&1oR3T~_GN1IGmuvQpo_XD@5zWC}Ic#tbDyblyN zudX&6pn;B%>{X`HKJ}B0*bfGrZdvp2@|qe~jExwB1IN!0cPVBm?zXNqY>cw~&u}cW zCex1wznhhu2NRES-JpuL&Tfh^Z+>bfnfKDPN2xO$Ib@$2D7jI{vn;)PxGO;&VVt%Z z+!DaXpWvIJRfTbb1-!>PL$W{9c2-8+Q0<34cy&lg<|#?lD13G|m^AIv)NRi1#){)D*5Nx@xGk1+wIJiJ}V2~y~#J{rg98t|(%`XpHnI@%+ zzLEl#nO4`(;Izl=C|r~L(i5|-ZBL-^lAc|YpUJ4%YEHflc<*DA4Bu)#z7MU8W6o`k zjiZQpp&zs&O&=ls7u?Wv&wgS657VW4-$q|Wp%oeZZU`&iSDn4?`vTX%HP3o1S=MJ5 zr=)F`&QGnRV`o=6V6ya0YkUc-qSafcu*9gk;X|lWB+6E1>v?vj;mAWxKSq7$qF`67LAGTr>yE z7+r6QTRUdG8?l$iM%AjTw4P=wmlr|x0d1u#D^paFBPHbEJd}O7wtaoXtJ3q?2#_r5 zwj%Nl!X#|YFI$D|!F^$-zhYT5shVH%>b%T6n$|Beab1NhG;iX-@E?+Sw*-CM+%&9q z0303dwW>YjK1JCfEOv@Ch)8`-ZG0; ztgauxK0h_Gud>e_mN@w88i&&WvKQBkZBJh=u-KExPuWr*8X+e71%bbkl3#IIT*!r4 zjCkq%1^#W`Xeu|O!rclK>6VpjR3?tc{j#; zIu8XSjgc>oH>9i7`}=-Oedxt2^c0`BBdvzV6}40XY}s)N)W?Izk+qP;@@I(OrM{0% zpu`w={NGFi@9}x{{GyhaTV=89qVjoST9$Kcll1BNWTxuTedNv;%5f}rNQ8G@jmKe( zwr1x~BGuKU$LU*vt-9VmUozoQOX+kDIf1o<>u-k9y{%_DVsD$Y)C`E)`Gz_}bZRdr~&k?I(J_)6cxr z-g$wX68LU4=8u1NHJ zzrys35_dj0TU4w|v2Vfuc1y;+L*6eM_yRkDsiFlj))d%~b#sRL>hur~NssQ;$Mhid zwV{HZ<;6hf%dUsPBN^%&Ua2at{|JquW4}J&pM1Zp`T_dv^RUr&vdKfQ?XXyl^HWoG zJd7_vGkRh{T6yKMNAEGl1>_OU9*J3lhEA5>7FyXQGlSE)k}H6I%jc7R%7fP}P!Tcp z=A11hlj&Um$|p9WQY$yjw-TvUSaG^JGPuiuP5nztuX_H{sda1LrHH5*2~&lXl1nby z8n-!`ftc}Z`=@*=+amPP6SgfORWboBvGlc}lg_h^@VlO7<(`N@3?rH{2 zI*V}&R{7y}2JBTYU$eA+wSPnF)1bh*PXE@u;0^c}u#N1Fd4NnY^uw3nWn8Y_zWn!q z$|p0^i>BV%i_9a9j0sWbZ>=eXbB-%{>Ux|1P-Ud^M`^#8o2xi6qH>x{$(YMgb+H(K zT+j5Yt?=4wBsD&Kiv{j(z(=V0d+k?HE)iI0AMZs_-}^||mv@J(9Dg5IuK?WqYgdL{dKlIQcQJAj{R&{p7Ge2RFx z8yMC0aYAp}WU~ThO7^^!u$7bg7h^7Bk%s$_Svh%>ahxRof%ywt+DiV>Q!3uC8s&*y z%J%wYH&kZxefWe-{h$KM>G#b%!<)8l-^hrZnE1ik5^^(Wl7%@6)AFUy(A4{v@Si4V zuCSDKQzldCFPTZI+2Dh(0ntBvZ3X#{X4`jEv?gOrRN&@2vl0Fh2gBx~{P>L6#ZVb4 z%@+T7W0+dq0JRMDV57;Og{6dT5GKH zAF6YW0S+>?(_LZpqNgg0Dj(~_J#W>m_}w00{)ejU<{#uAGB8)D zTHd|?{a;5R&A*Pq3lC_$m93CfdaE%McFP#6hd(PtU?A;UPHowBHgjEdEdWkZx+jpF zRYZ!5@npr%dq#y`e8_HrPK+-ltTjW0lJfBR+aTX~%cN_uF>F|a!9F!S;NbvReY(sb z2&tW=6pKYch;7$?>W+r1RDxL@IbmLa-) zQAc9+>`Ar5p>r_+fFmpIYa~n78r@~R31M1JOj7nAvpT6^P($6Z&l{~D2OAxRXRZ=P46?0{1sASJ$|}qoPYgJ*%xMKooZwxGowDllLN#6 zCq?i%ZEh4=R2V%@5S#qGD-mO6zh-XsX$g9)^)E9lBr0hKhBH2i< z{EttHx&KSA6<8tB;=+h^ek0;v z&hhnCUVeKLibrb+?O`t_ouevX0|7OZF*PcX@eJ(%h`7rQ01HSGfV~3r6TclusB;l` z04Vu*!@t&4k@04JpD2%5b&YXSSjK9kenC>E&YQsdHxE?Wlg<}^E(Q!)XstlNy6R)4 zOAD1ASj7SM_}X?L8GFXC2L$4=zJPVfAtTsf<-T?>(IcSvmu(Xqpr!gaDK9#SFB*!u zAzkkq8B_ZL2Pp-NTsZb|M(#*Oh!h!OqGvEZT}aj@LQ#%bnh~ccG=xOzip8Q~R77GF z9i0`zAJQJf$<7}L9Bq_DRA&$hXK0x1@I^h3KeoOCCy}B+Nd;_09AiDdF5;WbQxiNf z8T&lr4W<`wdS#UMHT&qobjE`Nmk$s)#pMt1eZ}QE>;w@X9#k0v56aO6FlCEpc)K$N zcK~vauX5y6uK$|%&7h52Zm>?L)EdBx0?uIzDHW1hmMt*}Ld2)WlW%j_w^S+6lW%O9ki$%?f<})uzhstZxiGV_;yhFPG94XNVXbl4z1n;R9JYbCmt{Ew*VDhJ_l0oNX zuDwZ#wh-?8kV%Rt?2DBs>87WuWom_>L3N51dEe2r=>b2R3mjl&iN7!h)}pQ9{DiJ^ zkqYX@MF4M(-@+Uv1qOMa^D!XC>Qn!>=%lAnuM@Gl%2=!#e%TVAki#dXL?o0M25jF}1R?6gYL=GoK$E zHulpPO$PI|LaM-`@@NMM0|N`)p?0uQDP@#Ygq8v;hm>kpC|@Amky6Dco%tqJtjj>ZvyJ&kd-7Q)GD`r>$oeH6Q&}e z{|InC%+`i7TBhg$q!}9&hufL4U-_E@dkRc!b%dXjjOPSg_yCd!4GF3RiAn`!BAvMmU^0Fny$RS0MiYSh!~{^a&#>BYWo1aL zE|!{9gh{R4-vOj#BFw3G~VJgJeY8Hd{WLE2@~eZByYdQ7jB{~WVd#hJeP7}n}~a(1yCC%Qoy=nitu zE{o898>c8{mcW7K=z$Q`sR3%(Vi7hFKSPY-0soL9J_7ClR3Ij_?{Ct>C;w3872tbl z7H5j5UeA9l9#Z=qU$T`^JDv{0DJq^O(^{1&H(zaFh5+9ikA}1Zw+f#|+{1=ao|Lq)sDvf^PK>BNW(2#|wxMVFpkV0AFC)YFQK$^_aL9>Q7=hYv>3V)frA|wif7I z9ywT3&^&0&NSa~)^^PzB%wFxt2rw?yY9%AS>rD&p))6w{XikvvJF_N0A!$=;HAYP_5d zMB2!J6Ux+yJM+s}t&>QF*2I}8ac+?x)b(XnENMJ|XF{`T9mJC!bvF1*0UeY&a7VSD zo!yIw(gB{5p{{Sc4*eBDOXN#a(;c0KiTBgFU8h_1;?@({0|UYN!|(Up@9n9A*X9;hxsKas zg_7u?t7xM!ruOuNb*5Mb$!shqtjzT;jSa0~#(sJ-%3C1kQ)9|i0Q8IVZN}~;1*ME8 zG}D(xk;K7hD;)qm1I#{v-noH|7Ys)IX(af&Zk_C*1(t6KSMZwpS1rD*$8& zYBIu<8)(t!d!1b{g6}blEkH9k>g2&cU zw3jQD@H{PXl!g!#xa{5xiJao|Hh>TACsiMF+G{e;{}Y7=(9{ zbI@ekiPG@~77iO1W^KvM(?DoH2rp@DxGy&4Wo#zqKQLkFmm8+9?Hy+=tr#(8W8 z>ii5fR*P|Ix&W_S7KmjtFfcGzl^d$AP^QCns;~9&OGTrYh!Bw?ZLLlPp}15d-L({{ zgtf{Fem6$Rr@CvYWjtUk8$ai&r2Sc_QwyGr{KuT9jh`o;h)LH~gGi77P9%X02UY>P zK$l`LkmIPM1M%boUOhr5joMjwoGrWGyq-)gi3`OhVRFzizY8tm=JTGJ!l+ZAH2%{mcM?DJswBa7tSH zQGN@v)>Mykq2u-Mpi=}1PhXqE1L$*V5~v^z2^0vdGJt_SDU74g{PrrQGN~XNC&+(k z-J?!t6(^9V3l8Op62C|=!&+)t_;Zv?)|Oo}POYM_0Mh|qhjH(uoISV|?i`xcs&=ST z7>HJ^sR7h*s#nJl5ZnkC9!m2qPXqS?jwy;_j4^E9gYyWaqy6R4=J4t4$y(Qfwb4*H z3oL4XY!n!Sy%E_I(&`9tv?MF3-Vuni+;8(U7+8JC7~2ee;JK0T2Pu_J8P{K^4QH=j zn@b+?zv6^hi#ZX6njgT+p*&FqKMb3!$hhn+l1LGtf&<8hx5^C&ME(^0=Ei?$f)c?L z6EG;ChvQn+VlP`2znGk%9SQq~3Qfo`M?bX&I0Kye)qwkwPWh0TzKML>Ds<3bfFwsM zz}o191F?#0j=&(j=A4pDGGI5Dq2)lhkOA^rfAz-2Oi(xooIfJk*Q zlFIB8f8q#tlLrr|*!Wo|xW`!^Wv_#@OGDtUF#yFr5vzw!DoJEqXWP3y0*C-&SyK`M zHGk`}q~{fI0&529Xz#}+BV*-lnp^T!}&-v6Y?Bz0Rx;XuUB~y|K(a-GN|p zP*O=5(_8eqKxurxp$2Y{5E_*R2h>~B%wX!(o2xndIwYH~mnoR$D19w2$1=T9?QD0| zNntKIBCF0GKdX-3PfV}+;pEs@e>tKy&d*zR zAe6t+-0TEBcrxCM#+2`mm34Dp+8*8Z;hh-A0)8Jr%Ly48g0%=*Qr3R%SGpAFM$9`r z%+zk@r4(SkwWo3-atUdiF1@#vPhfAgD%G?Ly zhtC7GIfgm>{>kA@t!9Dr)w+5u7eRxr9JEm-F@^~wT{9*_ObeH(4HrtQ1sBEx6~qcN zj*{Qee$Zd3X_&1 zu*d_}nOu|!xnyrqz{d041~r54omx%CgfbaWw+bzHlW%pKc6LHG41hU-15T1uQj4o= z9xY}uM;h7J4hJ=uG@C1u>PZhT1epabOh7~Q0o>ME<59sfjuDXL!^b}144h7prBbj? z^u7s2i!BO2QzBI}0S6_NRj>2dko_46lV=S@=iuO}!FDZ-8UjxwgIQ9}1Il_yNe}x3 zO+6V$Sap(WBiZ$Fprm3_WIb{*CP5Q-?Mqo1W`vHKL@L*6e`A1UFVht$CDp8g*^zt3 z#}~P65c_IXC6A&WL!^{n9uFKwTgIa~9k|HRUNr@UtG;k-hv*oGcXFt7>BQNvyu`i% zDiBBtrP@=qj7!CCFs?bj#zP@M_hKQn*K9=KTDo5O$3W0nZWY%3$S$ecHjTLL%BCF~ z3KB@Ch(xYN*kZAJtZ&9fZG(hO1!bkpXnq>l|_`u5bNPKqtZbV)gCIAHih z*K~>D(3rA$x1aZmDT_5^C=);qZS+L%_3%WPgJ?*v^gtEp%~sCN2Q{~9JTPM;PM`zdlLr1$*|eil9Sy5RM7^g6%X@dc@qtfAZFpiIMrDji)~PAuk= z?&=*eV(pk65?@fH@e;NFVm7GZrCcdVQa>4Ea6T3jMR&()y=ml)G5g-x;{z^&#(`j{ zcHFus0ez6MrY8cJYi^HSCl+4}kS^8JiHp^!OnkCL{DE;jhk>6GXRUZwk%acR@>TZZ3t&OiiS5!DVcKdnhizS$ zEiMX1tj%(xK~$-$uXa~gCUmz}bT^}9+Bb;>95tm5TtC_WX2o)^P-Ji*aVIhe_Mxc&m1>&-S?!Ka(C6XT_tlQ2HDOy@gL-|+(k#i|q2_%sO zV{CAeCp3{+aE;Rf-c1h!@w_66j%r^z{8lPatgEwXq{maxXU^o1gEmmd+7PMJB4X#U zFD04zLV4D&Kz3=}8QZWn&rYe8BP!X97UJt*)VFg2>zd4&Qpni|skSrFk%0i|SV#I@ z`C$%>6~M`av&Cahbke@QEd@B6IXW907`XVwM5J_|A0V41sdpf}FGIXW6@E1y0~nI8 z(ZY1GqeL(Wq(CT2Zu0k+;ZAxp4_KNPdoNqOyWT^wH^SIEPF%8ZuyrKs3UmSiVO-J3y(ahukycrK0UI}NBJ;V>YKdMJAI*h=C?j5n^ww8uFakKhoEK& zZSeW%exR)Lua_pcCE+WTfV*jsLnI(8&%OiDCU{|}|6QuTUr}-CU>H~BM$<**jT$>t z{Q}S5CWJR-|GDu)db5nb$de&Zcq<+VAb&|o8wyi3WLf%cDd8D$1s^U~;Um?w@w~Rm zJob+N)N;c>lF+F2I}z#1QJa*3rWh^bZUrA_$@i0jd9B~GzTYn19s7R&v;6hK?Ylda zhqm~?Zi(40ymkP=1Upz8=!(*O8Q1nPrGhkXWXEU!1QC7AE>4~VYK&~E!`Wm5jrX7kMzp6f?a4m-_5wleDi(Phpf z>Pj|8{l%MFl=!a2&b_?VH@XTx1lxs;0D%MkACj-=fVGRT7SyVPa-?js1`J;-Mps0$ zuZR&(j#E)D$D=AndH(Wsq&gW%p4wfv??|<{2Fd6n3@mLAuIv5%9z_29;qg{xFpA|v z!dB)2MW9C|&l1^J-+V)9;D!`RK*<%nt%E*EGJ!ga#iLs!7b)tk)TYmZ|Pq< zR*(N~O1Q}3bX!JM`c?btpZFEGuQU1Qymn|L)4pFhu@jo}ncX$oHD38EMx|)<&IS-& zp*-PVUW_%6@BMsuy>(K`6J?-qZAzL$s~ml_`VW=oJKXLZXiZ`3i@VUs>6@^Qf(`v$ zj6kLYD3|AHlvZIWRQ``v0b#TM_sHY94w;^ArO)0vq}*Mo)sXkHWcMO=wcasQG}m>v z!Bk=wa34UK)}biNu-?QU9r#5n`(BMIo~*yNklU}|VMbf?RGS6fsN-ke5*5W=7yX9H zJ?44mUxZ!p=zam#r`wUkKmJiJx&pZp$X1gGJgi(HQ>JGW_Tme?aI=L@(w%+m#;DPn zw zgDLNM-cs@dcIZL6?wUjbTg2KWKtT$_x{}<6=27pj6bxeim_GhSt)VK6<4c<??@O7Dnm%%}9*=Mq8d-bmEs=azXWWnRC7u1t z4mxbd12M;_TOLsIkkk*}>GajN@asL@=En1Nh4adbg?SWn%;lE@>m`w;Bc05D(q{jm zqLQlky|vs%vlH1ArttPQU)V&Q$D@(%oI3uTceoQkt2(QV@B ze@cI_bXxALMER0k(Bh{5txe4@GgSH6-{H?>!r$_=SJR)3W3Puv9M_62hyDrF_V<+D z>Da>Ex-IH?!KK_m&+WM3D!qyc{j`SRp<3q`jfY-*p3)837J6+F{@bA=s>=es!8jL% zh{fesFQH~W)bX#L?wUvjXLOmolH?z<$ln$u*6h6Was3lO-uf|rlsyW%h0}l>*Kr!{ zJ`im3I>{^Fnirhz8rfh3>X_e0#>(1+?C+11eN#r-RRQ@Hh9EEgk>deaim=J%*4pQN zLTk{C(ufyF%J2LE`i9zR#f8*}q2Jy9k3_sg&t35T^;zXl)xM+uAwQ(MDvsAPG-`Tq$5+9pfNk55w5U!y*KBXhKhmD(ivYd*+r{D1wwjt+tvtZYgXI0m7t(`&GylBY+g)-m=@8j;ZSz2-)hH<$0A zpAf$0@z%ID>V5e7;)B}PcmMaE=$7n(l%!iI^xi*I18ruoCl5sEPqSI4KuRS_Zy1py zY2gpkq}~~=llh`74vtqR14TYqSe#U^^}!VURGPvST26E?|CVv(2z_c6%Es}=NbIij zX$ss*OUu7~5W^oivM*WBQa=7~<_$<_#1G@pcsc;r^7SfMrO!RZw@P~mib&8v@2B0e zEP35{Lg=V^svQ$F(CBk+Kn#$r_}Exgbvj4WGxE!B<*7Gd$N%wHbp7MouXy)miNQEn zHsMcZ(L2=-xAvb?*t4GtEIG_w{)bAi*c~{>rUAyG`;opeqI@EJ`@|o}f2bVVBW!=u z_I!x?q*P$4S>m|CpyNao$bFnAE-JDNROLB48 z-+$^`JHtCSer!AYg&u`X&VKIty#K!>8V20nT+*Gi9Gd(|2#`^*3*~2*RSR&V#wOdElT2xd_~UX3!uj>*CKv1s($r9PIGiP%)RzCXZ_gyFMY(D zZ>Q{EGU>nNS|1zEW^!zHbfm=!57N85Y3-EToW1L}{X~YvXx^!%;_v0anMb9N@rQcv zXrY(Te=pzM#|71_Z<|+Z`POc6o{TlitDWDGKjz$nsq-|p-)$hE+vvKvn(r#F7;92CnlNi(qD=w3kP1@6 zUizi&MC4fS(4Ddn!{riDP~db3oQi4*kGdbb%$u9->x6DIdwkW<|5DB}Z}z}jW=c^) z*ufR4x$>FlyN!A`ENSfQFzZP|w`CyVXgkBkM+wMbA%3apAw{Vbkfp~tgt3L?5cT?j zFxV`vdn8;ptJsX70vAz*^KHejl~iQYjsLU(*%?e5p9{Q(zASr~6E*x~qxmMyvzowX z&j@2U(NEqCcKVIkRF*ywblI_aBmFXR7w)^_1RsT8ElI^|c!v5JUh@u|{AF%8NGsYB z=YZC^r)Ja|XzXZ>O7o$b;y2{Ah~=vnYrP`YDuTQQrN+U06X9_V7F^v8S6<_uaa){E zF>o+gAAABD05wzT<4eP&kd#>~w~rK2r7I_F2@{?ix23b)`ox0h%iEd7`CBcY3|soI z`3xVV@fb-3IU)B%)m{+adi^B$G`i<{d4n0+x9-!JVY2u796g}nB!x8tEfEd$Y9-?n zy)sz)bELJG>;1APqpLZBbLxLAIW|AP@R3i{MT8+EPY8Vx?B9%yS~7UA80%HNjeE#5 z=W!^@*`LfJbUG(RJ9~#9{JUfwOg-GxC|O2T?D26vGGc9x{Z(d_TvbojDs|?*27@~w z0nXkt@cRLZ#_^P9F|SHT;u1_9!$TL#SA(g~vqN-A51p4l4fHb&*u^nY%VW}u{#skN z4=ETl%f2s=0U5BVl&u+AzK4r>qc2W0_PJlGO1ImWJqWFP6X!)8!{HeT)8BA|Lyc4fQPWBrYr8CO8QM2asokqOb}>ey z6;jD9OU9Jw4ZD0U$_r&)v@L4*#;-<&Cw(`E)~4;aCnBz8J}3MFzJ5=7>M#K;!``@l zb;i?`gPJ=}SR`S}TBx5w z;RTdI`SPIZ!+6)H)z765ll)~?dvgRW97U?uhb?nS_YSJ_jk$TPeQrJ*r99nwBJM#K zH^-LTNfDm?6dDsW50}rsI`f52dh>)jyIu26cW#tV1yu!qhQ%Mm8>3N*`hjf2xI6nN zZWOnThi=$E;nk(Se$&mwatR^Jy5<}6i{#wmk#o?)Osoy^=S1V zhx^T|B7%l<<6x27M2rf{{-wS9W&F{*zbrFWRvEavG_r+1fz5^Kq6@y|Q|y*J~joxr$88hp_gdUy5v zTukDHBS7+C^K-?NwkGOyrdrf(yoMc4)n>QC!##5)V^ z43ChZrx45Up#lZY!#^=kHAeL}e_3j7|CQiLVwcM1*M7BaDarM#aYI|MR`F%K0^O3e z(W}b4h{yD$jlGf0h6-p`*~gAa!yJjIsK@l;h6+!dx$Thc1~=2}b1VPYMpMepRU3B> z@xqgh-9ZYMXvOms*)Pd>>w08r$viud%4jeYy_LjTZCvabk#Hc}CunJj*}qw#M3m-k zPZ!gW&bm^~5lOKQkbR>k&1JTgICV|T!YC!{f}{Int;eOSI=J0~QVrA^{{SvEd|f?I z2oz2_xaO~_iWVM(;Wd3ke0pt>AUU@qXav~s`FUq$I$Sd+!uV6m+qM!#aK(H@#fxYock4|{k2e5 zZRwTPlbO!_+{VH$ZiDBJ1!x8go`BnIWqv7?hS2hRPn6n92U*>tCu>Hrv?rN17DI-W zFSC`T-ZfJ*@n?jsOUr*?OPn^GXvZ*{^h>n9Gn~1=@gbj;2mY}#dE*4nHMh7P^m z8?+p+l5>Tk>+qSIW#^@8im9Y=h@q%(@8KH5>;D%0;!&4$tdeXQSO24R+eXhy9?5jw zNwi7O-3uJWo^`Q%=-4P?f?={Mow2XDd=B!Qr z&~8_hO#AxW)`t0l+Ku*Hdv=QkT9K!&Ox506=f@O~XsIgD^2NHRSSCZ0A#vqPHVQTd zPb?oX8rT_7v63AlwiWhhy@CTET}j7Elu7SrA{+ktkS0xEOLoH@+sLb zruK^3sTz??2GP<{RR<>B1p*VcF;>MiZ>}z;=#9WRte9DvC*hu+7Q#zDj4IZ;B5W zQf&IVN{wzi~10Cj-HcI7%UQl0<8|kGRBBR(+)QU#A5IbsTZBF)G0=LDv(7T&bALonD{rz zt(Lp*S4i^W*%l!6Y^Q@R;7{OV;7!Myrn5aC{3mVkYy+_4e|P&g$1h;pf3qrtq&7MK zrKcBXQkCGxb zBfllyK1!%Ra*1F*=?ysPwVBiV$-8*ay)_PGnlrjKr}u~L%~r*oW(mv$(XMA|?W$AF z`PUBb1(}!Y%$%e zdQfzUcH2fjjK_JAU7)}4Am&{|#i=lRp1W+zo7$lstaauNT*slVxjB!*2m|XsEhp` ze3qkZDLbLdPKb7Wm4&-4cXKM_B}N7UhXgDI=O`5{F8tRaFlt<43R~s6qw|aXg&y5$ z3hphXRxN#nsd0lqJ&_5`a7}UHoU9UL=_E0Z_eR&`Tqumv)7)=@Wty-=7^DBRye5GHgm>*6{$RUNidrna1_$5;3CwZ9W`45%oB|4{7$vb?`&J+_(} zXKO9HT8g+UbS3l+#2>on9W4&ti;V7U|SZ4_QP+D#4_$vDj8 zctATo;Ap_Vu&LXqBlicC^m_f~twv(?VE1vZ#^$r-+6m$Cnh8Jf3WqOmS%J^dxI^}E zla&ld&9Y_FyDpjC!dr(5xk16!gHCS9c+iE)C?Auht9N1o`b?G0TfT`GeB00`XI`w9 zJ)T``piH2@vxd9CBP|E4W)V3}`OjFIJU(yMNS1kL@DpBO$5da1r;Oe28H#MWUBt2) zmLD*U5uLHBA*l<=wSWX_5y1#FQkiDLcuWoNvohz^Du7gt?6veoWYYcq0)|@chc_%g zt9j8$ad3T`wBb`^iLaF++zvT<8)ncPbv2_LIRZ{}ANOF=&7#z(faOfglX!fSLPJ$F z#GRCXTgkfUSk>xsLvG~xus$E<4I%T{S`V3*LOdu;LsRxnmfmdei@%pA_bK9$RV3%?#)BXt>ic!YJci@w~jnS8PYdHr^(?<4MW+bo{+A zhIFYJmg+Ac*Rq`FJFpM3#wYW9zkY8yADcSo2>Jr@k-g1-(f`Y5l+tAQ_tJns)9Gqy z)gLBp`PBjMLRR9c$F^0R4bWzX5NYqXKV-{1m-T zzR&w7>q;e&fKq0TFR(shwVwZ)vD~6`VJ7Pzss^GoNrrMys@h3}o7I&XUX(f7+J)Hban&~{vqs zlJ2UxYbnNrHKv6r{wB}Hde(eyx+7mb?eckN2w*RqRvR3WoPW8*d3UZ1Z$NmBS+Rc8 zhD!B}*o^<>qWy0d_5XPLlOUe;(D{!?VJ`#aUHYOhJ?1-G>fxp@<}p@H8;wm1@JI#J z+u@pfN!isbgu6lMHH=;Cxh$ies86@R$yE^Kx@C_?jSCouc;=hmwlyPHeg9S|r&PYb zp-r*yyCXXBi}@iAwH>$k2cOD@dDm0I51ejl*!bSdK(_von25|XYd{=i`Hpj(em!m| zUNM#beW#B(j)l3p5|cN=ThQCJE3E6H(acf{`o(?`e8_Z>M3 zTlv0-vKwpHuEpAhT+o6K=Xp5?R?Yh{YB!XWJr&a)-uFa6Vo2G;a!sxD6>>D}g7oPe z5?_T@I7iJjZZpl_M!(_~Q<(|VNUBbE6!G~iiclAcWkKUh@_kK~o1P)d|3Z)%#J+Q- zXop0ThGiK>U#~{P5t$3U?(dZ3Kp`pPrU910S?S`Iy`Zd0DL$V*4;dfb^Df?fyKtLl z?3GgKA7#60pP3pUDl}EqGRlGs&Z|ccY|7X)>D{M40Tm#c5|brymagG}*|U9q(i0s> z-`vKV^-?ra?qC)5PL>y@iY2wbWold+&wHBOY>T;J&uA^5dF0U3$}Kk>P4WFaO`6l?9w1dpgupk@|UR->?m;k=ONG?u+ZI>lcvj?&F5U{b_= zeMe>-%;wxFRn@Ox!g~d>?haKA9HH3d6J~{JB_10#)M5tmps9*;7(}T>@%^SC1<}?F zk#2+6f*CX){>?pY`0|tR=Y97+pfnpR*ya8Y)wAGZsgvC+CvM#fM%(!j8^FWyplc6? z|Dm$oK0qI>I3K=?=t=vc2$145PQm|wFQIKFI1E_*N+X_Z{ar*n*nY&w$FLwQbt${% zQGAVnI8rgX1xAD|J{h{P{-J4=_S;iCkd>v%F7wsVVg&!a8iesWzuR`7$m*Xo+4oKH zoE^_RD-ae-0~r zDSK_YH;Rya5jtCS9o1mfM78(}x>~|iUPxVUBCUX^a3gu!ay_=qP7X5Ojm+shz#q0` z$OP8DFqalKf#eW$>8A*YQR%1l*(C31(U!T#?Yb&nafLW>VMMX%;=>9j6CQ)c78Od4 zN@I4d@$*B(lZNngy$#>8(ec4fK;uZ098b>^XZA-wlgWGv`GR$9Oq!({uX?9uW`H+$ z7|(3V+yD6v6-gXvUon7QjHiPif%p(%QaZiquPCLp93!k1Lj(lLU8Q#V$$)vB(Ga4( z$m(iqUbV|;C0_+D?7D+-D?EmWgsa|c|KvC!_X%D>$o(q0h5G(&^7(iWSAKOMb5+oE zre!1DT3XY!t%BnOLIvsB=jU6yJgPp4gU#%o#;OS)1>N0S^YKJr{2VQB!80cD^*s#@ zpx^MWPT$dsWl`iR|7akts{5>-$+a@kw;|t@#P!McPiRkF+3-PJ zga{2~OYXQv9`C;SF)6sE6&$NZ-!$bmuRUlPCUIk&P%#TSuvd7L?-BggK___p}7 zuBeO!vx+L#>zNX5{Q=k_n9LD%+IWtkZHbSiY1n(%Jzf{i=91kN*_Dq3fgkbI(hle* z$v_#MpYLAXem^;-M0X3k_cv+Q{_e|(xk2eh1ht2fk<<$nj8z=iR<6D1ew&!vJjs{b z*@vb1Xr-*dRbFnKH()NaeuHug`s`ZFFo*X$XvzHmg~~t4ilCtCrZ|PFp!AK*^y%WP zMu?sEFArbtp9>+Th7v#XH}7~QY354)$%2wTK!Vm)Q^i`5{W)#1GiJ|s2HfN=*$GY}_?&y=Qh7WxN;n{KN0X#y=SfNB7w#}H_Q!lgx?qP!z_a_? z_Dtz0v*+^TK2^EbF_1_(AXK_U_csDm5EWlgs*ibrBIs{B=34rQP-=y3_}NYNa}0mS z@M>n}R8p$_M*|beL*hTz`dF)xofI9cVv8o6sZ^qs)m75V^QDdH3_yIn$-;V#wK-PR zjP71dmHJe-K7UVHUrP)KvifEw@9Hsj(^XDo5jp7z>aqCv$o7V6ieA(EZFcvcEtK^m zIr~mauTL+Qq_xc!mhd?mb1D_XmvR0Ui|zcDjxM=u*)_NCRN8YvQ|xcJFzR`qbI8t$ zY4TCzc7AZ>>hMf4q~%MwadZCPuC(MW^7n5mNYy9fa?RtK<#MvmqCoEx6w?}OuA#mU zg5|q&DbGiP^NR0PREYQxo%C;YAB9^SiyPV*=FZi;_gdriTmNl`t3`@yq3$mHd~4@W zJ@;MUU*YtyzqpC7P?ylb#H>QjnN-Neh73S*v&}ktBJn zn@A()<&T8179GW}G~TFzOmQZbW}^n@pDq~qMD{xmUVc7jS%nqYUSgr{=qjniS4k2j z9#-^YRnp#Dd00999kH|ogj5^gJF}?IqkloBPx3c1(!%_YpLKQQEJMTRSzS5g4*O{R zG&6Om*=PA2RXm0+COsy$bZ#APGF@z$`r{a~!DwLM5oYE{c0D?c$@tL33MniH8X+j)e_Cvj`R$x4VUknLb2c)25FOng+2wR%ItO2 zlOj1jxrN62x;u4NJfU;Ktu%m_uvyyJafzyymRFovTE8<_8scyP{NcyoMN!WFBasq< z41#_$_QR{VruMYQdUBL1|FQZDx45p@{cUE2egO}MeD}WOV|icpu(vY&1|6x#HDe~E zcKT~UY^sPq%HF)i?hg8e^~GUFkMbbX#1`X#!57yRqC>25gmUxHg(>+L#cERXc)O<{ zGkz0vl0H7^cPuq)%gz;SiZ`{Uv|ePoG%BV`y}@{O(pBd@YKX15@r5RLwG0SWdr<-D z0Qa0nk^^0T+HA19#|^vYryPY<+)&<4fdTjV z2LmIE_#DEbBE}g9E*`FvQ!HS^DD&Ug>7}&tT4c)#2|P50Uk~GfigTYFKzyPWRU5$@ z&#NrEGrBJ*(TBTs9N^NwgvZ2l_z zW;m?haoc3wcV2ooCAi)_nD+eIctn=qjR+C|Fx3X|0@zct|Dz1eTdOu&7Jq?tJixaA zioVo+jC0+6W#0Ys|8>~YYiB1l{pY@9!T;gOxpYryu)03|9{jTPsjlJ^fsMd)+2og1 z?WyPSTZ)`5V;+DMwb;^ewq$zp0*M6i_$)`2Yi>3UEo5vYOIGq#)enz!VhjJFx)p7h zd??&M`rT`=M7vW?l8ebMZRG0mr5Zh=;XI9RAfIoLw6@m-RF4xpY%2d=jqYR1(iV&h z%6_5tXWVQ^SabV`MpNDJFGo*+pND8Dh_Lnio&e54c<%j3GMoWbKJzrMDnioHmd{)* zY0mw#5NZ4T2c%zFU4}YN+STxpZrYUP><93TYR@Rz`d(;)%^i@D+kSRgBUb3^>*u*w zI*<^ERB&L5xJIKllI;HmT7s^FT)&5?2&qlOEK3YC@gyjqI&<^yxXe@dAcl#F{+BRo z$O}xbxkfG_qgc%(gL2e{shpb?eO~1CT&zMPD}T&CbGWMc6l?;bt$6dQ(M09_?ENTj zh=N-Oa%@zTv5>@ldo4MNB|op(Cu8t@VIq1d*(!$JbM%4*$asV|!0d<|CI`>bZZK(j zcZ&bG@bzky!c8x-BeKMH{*|Z#R4p1Rd)wrQq<*?+<-c%nF!}S$?kd(hPCdYN?^6ID zx9>eh$+x9o}=ARr>sE(=)WPi*Gd^lsKZr+qVv#m*TMOUEXQLR$s>ad?_e6JuLsz11yn3X6JK6EZBFZ~jWouZn_sC9@SLEDZS>{x zzPgdf+QO|&fA@OGCpmJf^$4I?>T)ap7i(`7 z6~`C6i{fE`5SYOkTnBe|XYj!#!GZ<|ZXpDR!DR+_7zVfC7M$Qtkl+ppK|(@+MQQLR*T`Xh#EZ(5xQUN-7AV% z-+}PSQl7OWmoMXdCF%L5Ua5qvxcDT&(P?L!ELhg27sVLDp7`_&K>wJ}+4t>)D*UOnhcG zS_G;ijp+YI%3RK^sG1SqZe8wCpHs!eKTF^!qOtZ`-Yj70%-hwF2Rk+u8?)TBg}!^SukU=Wp9$MtyRdncs*zmM1xDrH7ehi^)(f z+4%m~zC-V_k__EAoNM<~`|KL5iDR8=!R=jSO6?L|&>t!8Y zh(Xp&I9wJ`I+|Y?91g7qE9538K1FN4&q976$bR7G`bRGK>y_~%m;JY%nmePhwII{W zs+8vIhF!z|OViVi2rJO&_h-3?&b5u_a29+@FZ#owtE*agtvQxvLg~es&2P+s542eP zX~IWg`c;6hym(eC8?>5(n$k4EHazPfM}~Akpe{FoPP%R-z>P=@xRgxpP3v|XX6-JF z%i^}DMp~TqRBO@j;~F)Bg)eJptb)Y0Uy!pY9?pgs6`6RM^_EmBGga>qCqJ(tM%jY%=`=?c zQjB%?{&;3nxm;e?PRKh~DM5mU{0+QT3ZLl8- zRKq{vP&>hL8_jIZVMQRE&ovEK?OYfBiiz98$kJ{71hM?tS7}}O5E7(L1nS%uW27RI3~Yw&fe4a9GulirOdhI6 zc4tGA)8Shp7HGe8SchI{%x+CDbZ)cHSB>HQp*A-tvzjKaVoecT{!hemHKmwl-&v^%_GLY_f4R07}s5G6uSEd0yiqlZef36GkRjY%#nqV{%+{dHyhC zRlm}aSU|XQ35tzgZ7)i<*lqnZi?Cn2`=86D^##!@j!DW0KSJ%$B&n9+ha+||!`&VK zf=SCD0(bi~CH-6G{r<*5!tQ$e{b{yg+4tF+WshP0KZ$FMLwzF zfT`cSHImOe^2`3<0EJS!tIsTWju?y5TWai`BD=pgaL^>SzT~X^jT|*tGu2mBjvGv+ zC@aBMZBjxR8!p8kDUW~UrU0B6!REy#B5$LmQ%fMxL00p5hjlUFDWQY5EUqlxvop#g zmuBkP>Jq$NXlK{W0E@nY+zEq8ds72cHSY?^TjqA-JDlJQy9GLl7T!J>gKX1?SLeM zww%!kb=@Whe?pImEqBIW*;hRIX;PtirEgA;|uyHnynwYA4DrA!SBDO-^Ve8CrLi5qD?wEL40sw3F6^>cGAl4$) zl7OBHH~mI@&k*8{JvXXS{BzBi*QX2bpoiFQ`G>`#X;&hqgI*mSU9~DTh-N^6})se_#&imIRiE} zvwmIUqAk~Ue^M|3p6g0X<9DKNKJKoq25K2DdbV+GO>Dn6PC@@#Pp!qqyh-YJO`Mh- zb>1MH`fIFeZyBhbEt=sblAm1KjCy?4Iko^y6q@%c!n0OWnQK=n{1dls8m8W}bt&bb zm0?(&oM6I@;tTYV7~XdJPK)HA+OlJQZ+VCb!G(&mDni4d(Wio{*(E>LxzD9}W%+3T zLPm(SGR3l1Ck>=7wc8tbTv&`G&Zbt*;#Y!ndL&cW&+k10)ra&vDZ+&z!${Y~Sj;6! z<_#xwgj2-oQIuq)3-c=YWf>cFVcfYT&R%{`b|H|1YChgxF=}6THXg&QRVhRhKli(! zLw-KKA4sbz#76%}!0E%L?f>RGno;C*_wN6j`4c^`p<${%6YeXiWsvY|C}paHUPYNu z?Ss95$Bw*O#(>(khi@6bzA+6!ts*6q(%kCe&u>r^~f;_&b*3Qq@c9I(yD7X&tTbr$)co;r6tk z`bDpB_?W?in#bjJp>cCcz~<&eUx&o`h4y+LKJXx4JR60O%ro8nS~pY2&A#waRwy=m zA}oLcZ&_ao?T=xJP8Zt!Quf;)d6w_GaM}o(jmr*2Es8UkTXY5H6#bH4++`px@DaPwB| zToCc43zib#?EL#e&P}Ne4mbs##JW^{Y`bP-S|&h9f9$pKa|j5go0MHOudJ>F*3Bfv z=5&;mmQ;=znk+ikDCBQI@#ah=_l{(`8%_rv!rsB7>ngy0ZTII;P3-(QAs}SV)`x~C zNiCGq4f@7lxYcLKhobZCJmpBKAqYE4Wgq`k5MpoAQBcJ!z{ce_%T^Ak79-bGc|P6a z*nktdK1lWy=W@^{A}{j!N#WvZO+YbE>8@WDigfJ6q8jwwpIANCpYghD*SRfu1e^~S z){lmjp;g#^zpC-V&vI3op{{;s*(3g3KZe|>Yu%<4h(d#syn+0rnPSB36zj`joACi7 zMSijJp1+;`!+2+XW3l@b0&W1YeZf6mKTQ9_*n0{HS0`^66uoi-VC^LQsfm5DT<*R< zTm7abvyJOVdP+-dm$Iv;-ay~^zcb0T>MUT&!?b<~@ycVJ&ZS@&vovx8co=>{C?g`W zpBj&lX`q?MP|U2E^ukdr5M_|p>CG4gWV7Er|&0ZYY`4DkgYGI!96QuGf@i;-;rQXn^lPVJCqkDa9qFWWqwy7O+Td#J9!54X zYNjT>`{EjFdb5U)jthFFA|v*QgTq=>W8dcT zeGK5YEU~A2W^>wXc$%VrA~jlB7zZZ6u#>|40`PCG)tz(!oH4yh?iLw(<6f{|S6<$@ zhl=y&67W}Dv@_%99ob8z*wuy%Z~a`kChpUi2*Y4){B#^b@^?s&PGqUop#r7}6)4}H zVbl^bLzX$nvucTrySN^&RH6SOFM`^egAExPk7gWZ82*Hefb`CDi=vr@CK@MPt4Qwk z+)x&;+`QA_lNEFt4MK#BZY`Xv~1)!hM9JGr@ObB>D3`&9w~gA*SKFf3x@2-r2%=txhe= z+{jncvRDKznPRwA0<_i6d)Lv!DjP-vk@~5)%Cu%JmCs4p#@`(41R1ttkVnOch zN)G;gw0N9@AEPZeUW0|q4k9+5Y6D_%vGhJ)$j!xhf4D}(3fPW>t7{fqB^ir+w&if> zpX0;CuXy8*2=y{ee=Eo;l5;BfmIMwgl5kEi7Q}l^y}>zBqy73~^5^G~EqNSy&&97p zLFV3Y_8b(L(CDaq!%h1Uw7LCw==3uXS@iTxX0{*_6d01sOHd0IbrrzG z=X3*U9xT3oQ3dQMg^1@96sq$fwmPYFi<+=#Uw)?@)61d`<)Y5gin`jx5E^CIO^*nF zoR%5cOrLGX|9`mC9&4U?l1TeyKDH}NKPmCZZolTl5H;I+8 z37UTGVJ2bn8zG`(F1&>c4!OjO+6FBN{N8n0EX$?+Qj!{CfF0R7|SKdbpGP`cKTH(3nQX6i(Uq~Jjvb7-Y5Ce-@ZGZMx+Q=Tx_X=Uk zE?nK22DdR+67STVHiHa@;=P`TUESTISEMRj%wZ;u<&(9=_&WEtJ-zKDi}m*DUzT$* z<;iGb528z}eCrJh8(~25s}WI4z4q0w#QqbJl7mZlU(z z2wOW9%!fZnMc^N|5oCD^bS7nay0xM9sFbj?~E@8(L zEx^7tUO@cC?Cvnz7=tfpcJmoOsHKWqf3st|hKZYMkw+obBi;|E)w(zvAJky>SRK2g-PPua`+n8GqL&T zO4kQ8agu}twyd)n&wY3I_0Ll(A+A=9;msJSqlFiz+$tx9J z9E4@Qk+JJcn#~VrG9x|F2UX^AW23*No>66#oD{mkTwns(o@Os>n@ylQ&D&kj%ekBxuygfm>d8WakRhsNpCU5iBX?w~ z&XHswZgY|+nHwH|^E;ME@&7QqU+m+jY2dsv^g0B4ZE7=guoQJ^O*3G~CDQVNB?$CX ztoh=a>?4ahQz8rZMlA9Ca$vX9mY;g@J-L<%{UTo&G`R4Umlp==IFM`28iuzVQFp8z zV*MNuHCXduOJSdb2nk^auASl5tzy22G&{vLnm+u{ zUE!k1#IoCLZ=XwmV=J28e5BV9w4d&) zXoB?O0Yzm<;}*NXQ9vUUa2|gF7|5Vkp#NF+Ka8&ZqK=9g+;ejP$po+%Dp)t1_Vr>y;LBo3cbbgdXgZm9AHT} z9k2Pl!)oc5_61!`~b9FdJTV2AeA~ z(*%qD6&o*<-h+iq(v{$KM$fw!C{Jd*(-D#V0En0x@%&Ge8&Bo5mPBS*d4Ko-WMfE< zoKC;$R5;PX9@<&vQ2(fNmU%kH6_(&bMxWjE+f}z>AyiWB2YDjhJV|e^rzl&(3U>SC~#PW1j&UbA=CAy%u=s-8<12&c?MAs+YTxL+au@qsRH2F**|JU0Fw)%lCe z{Y)7lxbLl>w<_Na5cMA^RC^r0v-xqF8zkpS*}5HZj_-BvXX(3?9OTK?0;qe<#)9Z4 zps$XuD-A(EM-S0eEq-UfsY&-dSqa1pADRYrCrFrnuP&)z9$h~#w9+qA&gnKu`2EHc zHE=xudqRmNe3xPYI-eK5%?xFs9XS*=Q$5?vprW0qM(8Fjl#Cc39;N31ax5QY4^E>m zUg9OPk{)YsF}BQQBI!Kq&6@8VTVFsbgxc5Ngd_~Y-rLgM5HA@^>-DMRj~BR=H;^*o zuxJuc6h+~8v8wpld>i<<3pu`k9PL#3{HzDd46ki&W|`aj7olD=wIsMf)p^8LI{_HJ zp2l3>hLN5r-+AN!!;K?VNd_wkdxhK5d%N<)0(P6?%6`4d9l-#3%fDiO>_(ppoy%WW!EC&-Jnd&zw_ z1dlO@*AFFmD&MBnUK(|KDZ38MmXe5CZl0RY3!VK-iX0Qr_t$08ke1hXA?8=&!PgsWaC07gLn%&)f2r zgJd3Y?1pLw*D6dXTDr?`)YuYTZ;~2^>VjLza;n5$60IEJ^2tYnJPO-R`~>L)_LiFa zLb0J`_F4odMx3^(V#yp#@PPevwqc4Jl@#1Y0-{@$<tBH;isrxpk@{& zX^2Fc!q6^m3?8fhvhTEaRL}!%8X>?7uAqmAAl`5)dF>W-Z|jxf!No0~vxg2x>EeED zp%iQQzC0yn{0O14icm_)hkadM(%<{q&MBYBJn}NpFuCLxSz(XtchUwS7IuH0ds1qz z5WEzfb!(kRy(GypDcpX=_kLdTL$}Alz_vxv{LK3sAmY}?Gq89;yQ9c;#?a;j9^FS&EU$EY7f0$4#i`)bOlQOTUG2qON-CC^-jU zc?7hZPs|p<8psv`Se3wSF3hf~!BgN5(0z|%CVh!8N^c>|UtnB0JXhtj>Gn#X@x8Yn zm+8Ip&TK*o>VJ9J8p3?n$17-?@b5(c*3%Nqs^bb{j}usQc|`bSTnE^dd8RJ6UT2)c9cth zA&6MdNy@n^yNPT(?UpLny7=~pW#=W;O*lB)!b z8%&zL&s|nrIcqwXCOU;0ODy;aveor5XXLIME?+n%W30j40?rgggXKoHo#TI=PN~+Z zL}^pZp>_*_WJMBC;KKd%x0*=6r*R{a`i^sUw#i|-!6!**2Rz@z^i6pbU-QG2^=%BL zG>wvXd_JSJ$ZfcOuTb+UBb+pFN4c(sAY+%N#OPKhHrKl4?F6*vpa2iUe0yHzgF`LW ze;BG32)WbbCx1|>$llK{@KiIyuVwsFka+8hO+BB96Mhirk&j&%YhkJ zL&3SYP9s;BO?uLhywQ?V$=|WD5jT{VFA05 z=&mq&*rTr;Ij?S``qQPSt;`8#A%265H`*BfiwS}{a37}*mxSlwR$mLa)52GQ>ixk7Ve2k9==h2N1F7LAz zIkHV3%>1Y#JI3=m?c&5BNaf~ePXAV*KN)61<6G9^K$z}7o{|MbDxG@e5#EiPC4AIsiafw z@C;e{hVExkv3Tl&kLdD)0p=8)q5&6|YEKXS1O^)DU+|#W>BHR z-gh6`Hbwf@IWV}KLGe>2d(FG>w47)rc31I23_xnnAPi`M(is;oG#iX-2%1tV5V?Eh z>73K(lRc_N>P=et9E=w-x3BhV$q*!kn+j|aIZawMuzaN{KB@A80RwWLkld#XnlE>S z(~iB1P!Cgmd}c%h9rRO3M^n@rv>cGz1KeeuC|)yZA4YS(%5COh5TOdL?p*k;95H6% z==e5KQy7olt+3nQR}rkx!d(hHe=~UIM{9#xlda>!XaI-KXBYxQ+7`Rz6FAwEOB?v5 zKmym&6Kw=l3>8!9GC3DkKe#?a8cHgkz~o6ep(NQ!NbKJNK38LGJJNt^KQZ8H?Tov(1$>Y-;TW{xc)p@K@B5O*7GLLF zh)y7iFrAf!@d^3-?|7#Yjds!NJI!z_)=?v=9g{?tdEQn*M*q4Tz`8yr-3q@utCNgY zTP#vn3TCN=&K8UoJ&(bsP?QP;%;D&g>h|X@yCQ-sHF{kSNaCfeEMq=My!Em$3A%HO zE_i`aay6W>0!eTajCxReH1J50!SUY4g*Cmj#bX2Qnb~a-o8?*-mfGqqcP>#dzL{hE z0p`jnqyy8tMgeLgnBsHb>qy;GPQ^8d+}rI$*vL5Mumw3fOu;mx0&By^_2D}y^Xuc3 zSYqBHk#&||J=JM9#~y=v?}bvE040oB#9I3BMhmu?WVTf(xSUPc#Iz3U6%$}qP z|NNBBaSVLdcJk^zef6pcBPNI5A|jZPume(cvE7+uE&8cX9XCC>Awuq_nJu0r&v%A| z$p3GRyVjWpI2+9=t^$mvJ*w$7M3-N?bNTP+mZuPjY@Fd{xsCV(ZCUwWpOP4sh#~1n zx=a@KJ3w;tfgfk&_;`EhJgC)qI0yCDy}CX|w>)PZD05J#GFg$6m#DKAao$^$tx~0X zu3f5V9F>JdNh$ipcbS4g z0;75})8*Q~rq;nUMc-zwEtll*y$efPg&w#D&!IgG9YaNlj0_U95lxeq`79@E`(dJh z0LP4yDDpx-GZ}sIlJeQ|wSHS?&9w@sg`T|mD|wtZ38mL8iV3@8pERnlKNk`uWIRE@ z{JuUT!3R?+#oJklZe1FS_n;?%^~3X>Z^LEO)95A8UNGF1!94$KWJu~hv3M7<%v9na zY<(F%>L$=;nm|}an9ZLSuCghCuE<=3h!y(1iO-c`<6D>{daRfpiwFTmikjnO@y=zp z4D_)pEzU5K75}bz$Khw z_HPg%i6Z6b>4s%DMg51k;kmj3$E`=PbdZogBI7lrb7HL|IIg2VH->2iVeV$-mLg`c zgZ-ArERcU^O;9_QMiCYtT^h{sI{1`~bwU%^h4)5R-W8=+tN(Z|(^Iv-Jt_|XKl-Be zqia`z0FGSV-sS06!kcG>H(B8_pPT94{ftkQfj`{rz?NPkuu$}hgq5b|w~!HUd*Qv8 z5+8es+EEbD@!~*+w|~mTLuEeTlIml4Jk(3v+Jx--4M#3@Df$<{xpbTBy7R*m# z^3j!f`woV|%z=-Gzg?r-?!kjK1$3|AN`_~-1toul5Z|M5`AMY=`(Y+|LAD@}(yXOQ z=dcjy3r+W4fKM69BvH>rLUnc z4RN!yYpTX-^$JsDLPB6pF~qDJ$LxU7K$KcP)6?5X?q_N4U~yTiq%TXfpHiDssU^u! z{Jc>Eke7|WJk#UggkuSw$9#K+(*$=8d+kPXlCXHEBy|cpghPg}Eh%Ss1Tf5{b|t>W>tZ(#pDy57BUZ7sTP|*8C ztAH+?IomI^(~MaxXJ2)ARu^UWwD5*?J2VVhbvyZf!!PN~TIlgeAz@zJrK@0Sy;}>$3(hHpFa1hMHBw<&v?VVCjF6tZmD`Cvue|Q;x+J<98 zMRK-`TQS*KuzK^VItJhg`+;9`48(RnQnE%d{Tq{tU~k>BIQfE0yGIp*eWN)q4;2fJ z*hhh5&ET|bBd`&8AZ|)BLCA((uan?|BIj}A6*F2qb+_nj^&--+ zl-R(sDADrxjxQK(r(!)6&0#A?#U;(leqr`8`V07sjoovdE&A+ZpC|31_p{*D3O}tp zz2{#9`(9vb{uresq2%@Y);*k(EQ|PK1nu$MsX>ub+JJ`mezJTNshDU`<53<04&ooB z*o99!#f#BdNOHsl+Gw=xJYoZ&SB<_u@Md@MhckNqHQ`~c@W|e|K^72=$`7*k5xdj% z3?{AFeZ*c0dAOY@v9f!k#}61?e0Pk;;UmxVIU)**WCK4v`(rya$utkdnVg=dDB;Nb zK^CNW`Iy$&!kr%Yp@4J4UE@!GG9+CSS)ID`DZK52_MYMqt@;SjN66Cw8yvBS;R!Q{ zT*f`TDL_1W@)gOH!m?zW1P20w=_^_0G%pLm=&TQaw|yF~R*TP=Ed7Z8ByrSMYVmOR zFKXhuuqYYYfGIC!CbM|7DC*RU2lF1kOT|;jxmh@kgYa;bb#44=mPC~Zeci-9zICsb zBU%1?hgXW4n&>D%f3XAIkOJYJw&Jckm@UYTkJ06<+8N`3pk=1BG%rm8EqSg^UqxpI zvtJVmhl{jm@;;YgZSq$^`zyf{Uf#%h@&>z1=^_&Jn7;~F&i|Ur8SC!`@0bP;J!@c zYp!rEQ{$B~2?7C=P?(EDx)T}kIgx#p&nAX`?}&uGdOuwX|GYz)z3SX}vi|0nuvqdK z#hRq9hkv;Hyogg<(VF5;%*MJf2^lbKR=Bl1Hu9TP#-XMxj76FAGFuPTy4{}e+1JacLSsFXQRO0KgHx%s zj^gg0nb#2nx*E8v@2OWaE9<3A^;&E{tZI-0;{34!+-0S)kT4^34m( z9Ly+&tE{AT*K0z@Dzcj$V%?n|4dCLZvDEoZ5k&scauqIAxZGaQ950Jl5ztoBS>of; z6$VC?mIN#Wi}$Upe+~1S=Vd)p6*a}9E%~xR*G9$C zR}S;6i8@8o31eLLfuCt#K}D`_M#(?4OU(BZ$5rdyzE1Xfi>3V|h3FMKBd6Nm-Zn~y zmweIa>zFu?YUJFl^qxCU;1gL@WJ6yqkwAL8X%#bFop0(kEUiJX$@7m*xmg`Y7`u<# zZ3Y#{GyZHODUJ1aU6y9-b_n^B5kJ{<9@eQ!6Zs1cGNaZqde)HT?}2v}5NjIBsGq|f z4nrY{8kU@Bleta%0BTwZB?o>YEhGA8oCQK-Et7@zk<|^E;3pu{mV+vB87!9UQBvm7 zcJeK*#p5jk{im$!-z=;xHZS-C&XhthD)1`+9|#0eJbK=2mwSG`W*;C3(5mJrHox*T zG761u%_Su5~?L(oeRQY|^ z+Mm-!kPS3JIGc{+lmIl|ViFw=R!FfCb9hm!``+XY0A zsgS}Fs6Qi*X}sZ2j)>qS>718UXg6=^Os;M_^?Fo_V=y1_wcI$ltU#WFW|66OsD-S0 zC{wIT@8=oKQx93~JDq*d?uxIH1vGq7zsbiQF(PNGhDANX$}w7o+roj}VkxvzfQO^| z-XC?x@#8A1c0sdNW`>+y@>54)XF|B1T}tV4~Ys% z>ro_d=b~ETZCBA5Q&`3(<_NXPx5KDVQ|0LFXbRNKl8aN4SsLO!g{u6y0}daq=VLrB zxd$Fn&_6F(q)=Uqmgc6?i#Ac%eWDULlkdK; zB5d72)SIX_xB&9OB6_{`aoCxJ#$CF?@{INTCb`+RHwxuS-;&m*bESR!j}?;jOl%<# zSf_6n0#2n&iyKz3a!@L6q-AOV{&~S(=5~fvZromeEj97pP$r;hNHMM#&M$(eckB1p&2GfZ; zLvQEs^8#C0Fz6)*o+D8nnoJ{HKH3$boUT=YMyNdreLlpWV_!Dqmme489)XFknhgos zE{-PUQJ&h~?5k*xSNa?|V#6J@_T-4^e?s5o0BRi_abKnx`0;*jUBkhHGwcRWoA-B{ z%In9T5L{E;-Rf*FJD+07KYDK2Cv+X@?Rn3BqE&t$8&x1@I~PpEo5f@3sG^iwlgVnU z;HTe!!!-Sb8x78XRrN<$f4iXEcl1{_N?Rg|^9epKr9#BPaGU!u&v~#j6cU^X-FK;F z77w$?OHQ``Z0DB4X8A_(+Sm5S8gclF?O+R?1ZCh!e82~VyGyu|rL2(^i!DwP*F2R8 zYoH`^DkEQpNQDG_=&wTOcS35>6&GeoV5VUa0?Q+IuaDF23(L5%=hCX~gf)cDw?iCj zg$9#@)$K7?BW^H57q1VDi-eU80qbsoi+A59 z))PNYziFzR8IvKbrQD(nV7WKY(sH6(%*3TJ-0k^u1n2(Yt9tLV#93xf`Zz(0;quhR zmgG=?mr410F)`+3DOI^TEYJP++{>hpHHy$Z*7>PH_`R8rUkG+XqwD%foq z1VeK#%C%Lx0DLL0$g9}IG3Apn8oddN!~A`TX-(1=DFTSqNcoWOPrSD0*i=d`T(jm09 zh^fzy>Sza{E66%)jWdkx+Yr_YXoZP;_>P$98M}hBwRfS`Ew+~Ee~dv1ypVlQlHvxl5O31a^i%y;65>F>g)^HjM*(M6fN?%|B=i!0Olq>6<%fVPcu+mxv2YCUKRy zT^DsF9&OHxgZ1Fauv3e4R4NQFoPOSe+{GZ?>z)i*IlSj7!O?#n>e>{r6Q|T7x0Et} zK}D+xeaj_fXC(x`BpPozH^U^4oKa8zR2J}+?52OaI|;&yqEdi5RkI^85VuGPTIuCK zXN_9fAzpDc0UE}!!F7h$h5!_y7ST%Ns+AdsvlhsQ?h5e!{^ya%IP{Z~SB^yqzoe-u z6k^cjQ02CjGvSK3i07X?H(=|S{KNU*5pQ?8n< zp9_q%Eo(x=N~!T=xdLcm?v)qQ>xt4)Np2j*{{fY?!>9Lzml%T8U;P!1iX8Wh*zH{g zU4>YYdk~UGV!bFoda95#Jj08mDXWn{YiiPd>@l5h9~=2!u|oWR>S`2`{nKn*0Z4ML z{)JHC&&(M-6%tpH$*70+WK2=+gFW+=dC-pvLEQ|&AM#S_saz`S z3KPmPy^q z3P%{4>$FM#Nq{5dJbsbIGqMzQx)&7M1U+aQn13E0|Ni3Qux$D$v8yCHxZu?JUV1ln z43qmD3%2t!O6%nue%}kU;5Iy{Eue!p$x9MSybuxIHpx~m=0C=&u?8@Vmp3)h>>2o^ zt{jOJ=*f&eXb29goj`q*H>rWG>y`5#z>8jsoF9Wa2JkcXdyMH zol*>W`6=ENvEf#D%i!bD^ft!;QSooVS?r*#M5TiuaPIDUtfnfr6F&0LB8sVEluQf@ zR_JU<)$UQD3+p|S%G0mhk}B9VmgF^QLJ^nV`32<0a?EKz>f<4KYK9p-SxB*ggN74+ ziUGb!dr?=rpez|q?ph>WL2z-YH*{J46QKs{o=!$iTFzY}?yR$A_X&cC>-NpM+u1=h zXKE}-EtmFTd~m7ZdY@J9-kskH1)4So;2hM&R4%F8Lc&)3m^va+vnhet?LX6Ce}$jN z&oqCMYL}e#Gr_PL90z2WNjMyE$fv}wszzptq)^{=bgKVPUVqiF)5Vuu>u2{r$x)rF z`uEOaB$v*K{h@U{B&}Qwm3EWZ$47nXcDv}6qUNoisB_!$22X&iU%QxBOsO57XY4X~ z`LplQkMKtH|&nmozYzTrr=_pN9iJ9Aai-9B$5oJ(CdCx~M&+K`s?o#A|~ z5?z}Pm%q{z)sXIZ1W+vheXYEzVZI4k?GNLL|s^F;8N70wBzXXb{yq=7Q`1X;tNc_K?~aAQ;oM_3ZwodT`KO|i?+vs}tK8&4?a zjzvq0(!(f8$j%FDf%BLHc3=>r%5ihJT~J_^GLHXQP_BMWKHjh6$x?iMh`ta^CyF#s z9@Bhzu<7fV3|~btAIhUzhw-lVZb!_LmpsK|0%y+Hp$$HSUm{VJn$IZ}=2t0}+CQMG&{YIqFYvB4xtM{3@7I$iaDpP8C4z z#V5iWr3v*w1v4(CbT`=BSPL&I&+oW7WHr5<5*sw+POKb$0y6MXoYnSUY~zQD`rs&) z%WaCXUi#7!XL`3?=Hegmcw}`dRj^~DDRW;m>a2*-?o4OyPDxAsW9>oqncPgvX|q0 z7FV8^C^eW)v3Aa6N{TyyYsYZsVEt2@_hZsWpUReiUE;P{ZpB<c>qr3IYSdiWR z7``=Pd5`3is6;8s0zL3@LuZ6l^L*0SBPIKm_QYYV2<`}dq$EEulf2W- zATVeI%n)Aq6$oSN&(q;i$iAQ?qtm~ZIp9;Wc!lZ2l+;RaUt*(^BtIu4 zvbO@V+?9;=pPhP6{eFO75bE}k{}#C!Y)>$ZrWMPHIzNhvC^l-vVV)0aRD3ZlQRiMY zW7s$C8Ap<-{&HlGL1`Nds>P7ss35BE@NwR=eO#A%L>pQ5b@%X2eNL=#*S*7@ydNj3 zy@UUl5TtIUneojNwY{3WddhKsR2;*HA+0nKJzR~u#`Ao9*cGfQ!*6L>7dbb^aZtkL z!3*IB^cp(S6C-MW{uY+)#kwHB)kLkC=I(qtjCBS}yA;xU0qPxuEKTI_>b$f+sO2aH zse^I_6SDfxiPy6XqY79IPNEx6(l=!PnT2L=Yg~HC%m5hh;m;ifxM!HX=P?oHDIt#5DwQYcn&1>YYKKN=a<=kRy!%QttS$Sx4kxWH5%){05nm8HEAWl@b+uZG(K zJXn8J1cQbhBG|zpY|82W!(%OemQqps&QXj(P@$v^Zczft7{i1iUkEp{P&XUTDiu+) z+WAG}Zi)#D1US^B$CrU+!#=3&E$)VoxMeWrAi0f%C_l8rWR`CAvk_ve*LZ9`g@n9^ zds3%jV(G!YstV#!Y{MU3%V7l?e_fo#LsqC;2A)@&B5HK{XQ--_atsr>fxtcOPX*U1 zXArTTqb$MS#R3~R7}3D085r{MxgqwqydvoAR)lEqz!V;TMjSAstpVc;kdl~9bHVdT zio)|Hg*n9xRyZ?7wSHEB+!Cdwq8?9Xv8^U9p_hEF(p>9LHr5QPrF6uMSzH!w3@fAJ zGPcae&BIw3snT}`gAJiJ1~XVEh8pNf*daK}X;Eh`6*6D9^kxf*{P~<(kS;RWfYAD(HU}1%{^OO#upU zMD%mW3e$>A+8gybv1GvubSJt{pkhl0Pu6@eWC&Md9qZSWi42mLtgZxN$erKBnWJ%< z$v^}Z=4fF|Eh<%ZIc3M7(Z{6wM?LZSR-FeFj9ihiK$Me9_6%l@neDE1mvWB0GBsMc zMc7wr<)J7AqWNu?xT}qML6-wx9r;Cmq;o+IlHGLboUZJby0!0hCUlgQuZ)WO?h=hf z-Ztj_PHNN`;9Ap5k1Y3AcXy%vRj5Fo zn8Hg#A!$g3)xP##wN^$Zqtx@qZ51(bHdrVkFj*wHp0)gETrFC>8(M#lFW7}QQU}Un z#j#|8vm2PaA=LS3s?q{m=2aoNX18?GAJu3%i+@JFDQ&60LLT#32o{wY&HmaJYaj32 z&$IH3@oIGi42JmuMjRAqb$NNq&obxlO8;D6@kA7u4#prjle`v*Qv?_Hqm$I*?P^2Q zD!y!eObqWoJ1*6aknL5xwYj@z!3r8*(9Ia`&xn?@*kNi}WlXmvccJx-B}Cu17R5bE z_>6*rLzo5MVryLuwwKF9q1`495@tnU9$&SpG#~_u1>tIjhsY}feGi9L{!5h|La)9P z0@Kn}Zi7eWG<<8$M;P`vSCF@RV*EIj`C73*2nsMev$3i>PPr^v>K#?D`M4$> z8JNF)QUF?}4UH_~@u<#uDcwb~gZPs)mcZhx!vZ4q%adszG*>LZH5gGUJK&ypa}dqO z{hV#m>h6SWG@kxQa_0 zB=tgt-%B?J;RXw9|MV>SgLv|C<`3K+Q@#I(s`CzNq7BjOQGCRAQo&95Xo_Tin zy6@|E71NmI8xignB@gnd_3d^W$qdP04ywQWO;r}cJzdXFq zVBHn561izt`;UaY;XA`SfkBIj_ZkslA{$opcTJ2^mUD)q2rIP%_l&BG`|CHUAsVAw zQ*&}^(1pHjA~hsXPau;6#v^ReX*m?-;~LL)U@dB$329q*v-yV%)T_4pa2_hYr8l0wIJipF9@=5;8;lwUSFfIS^mhlq*4AdLSJZ-)3 zbAO5p8^jvtQX4;&Va3CW)iD3&5R1JNF~1;uLU zS^I&f_dNygPDfe>HW`)1>Qg#YJTo}1(z?go=0@T8wg1Y|0xB+Z8KApZ^5znsDygom zH!a3wHoe2B4tsu9cVVUy(HcEQ)5Fn|eJZN)mqCwQnJ*pIQ7X_=67wE{FY?a6E%1E1 ztQ@hQG|f?=jiwqX$d<6oFVavffwd!bjgjp;DX#ZE=9^M5^A=H=zE9q|eRFY@u9cR{ zF09hCTH&6E{N=am@&24@)2ZRIVcX?${J>v!k_X{=e{S=w7tt&;x^0o_VEj-`Q)UKl zWe;);VhW}n|3^aqZzlLo2l&g5t@#&93}atPB}0jI7Qv>=3>S-0(C|ZLvQEpIDp$*> z=ZWW!E$}Eahe&H_0pK=Y@4pUE)h^>bkMzEebq-&&56R&(KnRkG8?^NH1h(90I~^hN zIfs$KEUnui$qqm3=Smnl!3zw*0#O4zf|k#=GKzN9zx*-x*!!-h@$;@Uu;*2gBMtT# zlpv_UAjUXUpe4c(UqGAoEy0edzpdENVgk5LP)!seZ^{wU?~VEArrD0xb_%poS5Of+ zf|YR_edf%u2)*}*NlmPWM*wD)ORsv^tS55a2{IG$P@AvIhQ&bdOH=jlg;mFp^9)Jxa}X{EUVsC3rE*z{Bws0QY*bTR-$_s&)TQR)FA-saQrB#4QyK#GH{ zh%i}1pSo+Yn=V}vvxf~2biWC(J`YfukJhb7hiE_gi|2cIA=KmP2xz2_RZ>EX+FZ(F zuHpcS5&ZTSjJzDOK7AN@N)g%ely*Qo@Ci@2NHmDB&vlSTx?xCR^|$##34a4;DO5xG zYWqB61cGl{SCMT|j&sWPHQWiexcB|jibqIN1;}+QN>#{r7~&1FRGvdJhUNtHF}G)|NMU3gM_`aleTofmcr26O;F zyV}D`_YxRC+MYk%i==NLh!0&L*0zoEzXFsF#Mj57`)eHxXn9gmufF-*iPE#0e?gXn z)hY07+w!nDXFSbVO2WSP7-Ece3g~p&iKS=zF`ziJ>EtOeMrKVzm~RHN@OeXiR=lL= z8u_ZtnOfgHknxj^u1W8}se^J{hJ_tEH&OYeb%SRswxx39jR0rWFVqqY%*q;-F&4DO;m{0=n!!5-=&c zPnac?v#x3UswA|CIm8}X%g2<@hf;i&l=5XIb*xRt3zhc>4mFWd;U^Q3 z+Bo{^1~?@8rq|0b*CoYch8}s}RE{t#EUhU;nOdTydhZ(NDDSUgi>9H1?zs18_?Y;b zU1kL?vL;Q)ytKy}`u!+HM8H%}H|a-2%ZCbKRz;D9Pn~UoRX>V_bxv|^u+^4_aOU^y zVT3!B)A_%xs1Q_l%H6!Zc87G-O5MU4>nkQwZp*0fN+(u%?A;|k15`ZvXk(U&*v{68 zarCyt&g1xPs#={zx2^xAeX7yLoDH++S~q@B+ekaoW!6$#%I!nV_}&=O`>|4^(Xm}tVJB^Gy^tJqb2DvFf0-i89Bh#!g8Hzn=`CH5~bvqh(#l zxxy5Gpu+jc%jwoMvlVwE7wgYQ#g8p&*Ucx!8A^5~3I_R(_cror3MbL0t!Wv8W6USu z=gmvUjVz-cMEDtIQ7tt9sZ&pV=G)J7AgqL-a2Rwh1^tNU5>=>3AU!X}V$1x0?yAa5 zsDEjLJt>xV`a&-hqxM+0xX-T39hkdhTj@`nIi+m8F>B8I<)i;KTFxPt2h+dnkdR z{jiiP-FOV}1;k6H@x@aXpZB7(IBt7(RW_A$l@j9z*#zAR;a}xi+u&28y5-pKYfS+> z*N>Qjh%l-e+(F2g40H)87L~Hl&Nf5+{67+Q17Xu-85S~uMqMVnLLB(hTFDQlQngOL z`1}EkY?E4cd6~iR>@z5(iGhF_3kP$Vq4gNQLDO#78oFd^@pwBFljmoGaUYAY%m@B*`C)>I-ivZa*DZD1K84?csL7Kfu9L^h0KO6dA-zvr~0xG(q#4PsDX`T6tH ze&nwrYXR0F2k(rJQz?I%l_x%s(w*n>r3MO!#4@}r-`vvocQzd9VcO_h&KA3?u}(h& znv~6ak+XQ1_i)Q*RlF$&7E(&Vd&}|0{uQ3hbL4LC?Wq4~F8Eu9^GtO;PohIYV@j{< zuSc20q9t7#c}|1Tq4UZ*vKP`py{x}<%MRua_#HwwEH7Huyzyum z^W4hYff$@yALaCv!e~1h?WP*0ugWD`O4laRUkZmC-|urgo+-TDZHiIMt-SSy1xQWo z^%S`Orc~I9`n78-WYdjiN}N+S%+Hy(h-q1jl4)LZS6(* zR)}H;V18o<>{Se2F@b`ZsZv58Ihvsp=9=zN8?h-SnZxhEyE48?0 z_;fGse@EUUU$OB(wsbxrMz1>N&FE778pQo@?IGB^evG%)qbdozo-(KBhY-#I=I)sl zb^_U8YUo>qC$E6B2Fn~2Oht}OKTM|Rd5tMQ-1DTT_dQL24E9X0*O=nLDe#(a%0tvMUC88qaP;CqO3F^;dg zQ!8|7^f=C?5xiO8Mb0Pt#0^hA^FSV{WstDz;F`KbOEjo45T;Ad$1&LXOGsS($4Mx4UV4SRfuH`@X?2O;pdE z*0rp}kDdKF|5jv{<=!$09&^}tgE$h`Ka{1)l+x)Gp9|)8-c@zo)kXr26!`7r^aLPZ z+BQeqID4=;i?;bo2Lp#i+^_J=Ylsu_6F5a$%&W6$eic{~cX5Rq zy1}DyaTO;z z8VOvmQ7T7O?j=XKi#`Q{EM_D&Dejlr$*%>PTN#STXn#&pvH!E1J;(0<}ALW_Q?*@X5FmmSs4RgRwa^cR`de&}S;)X$S3J)!I z`F`4-mBzd*p=3B$%ju1FF)IhxGYc}8H}0Mt9weAI==HBCHCXP4_zdu~S6pHTk1G<* z;K82Ux@~XowAu_bSlqI|o%_*?Mo@G+L+j1m3cXVu=>ZfBxu~5%X`HXY3@$p4S1i#1 zad!sEO5SwKE;$KVSPen5d~U_ZQ>g!KtqeifwS2U?D~bipg#YXxAPwMUQ1Qj_V3lVk~t26@|vfutjsaiQ_x>}BckDW%b1Bz@{;Sv9}4?E zgjv6`E3g+Vl#nJuqeYe;-cUazIEs3EMHvxG@+}c76x3mOfcl6{wCHL)xqcBi;UtYh! zDF@v+v|4L_r+6OH%k!gROZm>dk7aXpJ!raMiP;=fYygB^l4Qu^wHlw&yM~b(Wf4V; zn0SMH4*kPT%fO(PI!wNBO9?MaKO+2g$sz zLnG6{UlXSl>5tt7$-<&6K*^6@rrf(W($(g<;|vK zTHi4FeZdF$4)}i$wZ8d&=o5J2Rq~HV;x`ufA4wVGk6^h|U}F7^FcqyAoY8&rmqu{5 z;UBe^M@w(F7;j09ez8O)GrK|52^QIDcPQyExGE)px~=)r-&Mql-%GT4-4wWMMakG* z(i|CNNFFAT_9I8$4Z8*Zrj@Q1_6^hC`KOIipO!iqcp|9LLV4>oA|5HeF2|73kEZ}3 z-)hus?3v{F(7$)>-r73xG>mW?H$Rf#Db~<^Z?qbJ=iW)~rwkHm@)f0YckRmxoyTXz z&knv7-OgR~p62x}IbG-R`fL~49>5QtoLQ#)-qv}>ecc^XubQT_*!Ek2JRX2xWQAZ?-qyN!fno zTL_v&o$WpkerX)K<3?X2_r70WrkTw~=Swt`=;TXgjiyRu>|19o(bI_M_z4+f)a@>~ zeoHdb#?S3?c}0;ZAZpsWxJ=5FyWM4SOAv>=A2jXqxXAdrD`O1wNOPZR39X*CAx)oA z0tA^@7~6ou3j&3974>9q0P5rk**ri)lSeu?#`+Jn|8mgb=)V71`fk=YKmNz9(fun+ zk7L;bjhhXP2)_t9ItpmJIlc!ew^>AaXFn=O%vNqj_AMnTjNV$0(_svWmF|!361eN@ z3qd?gW}54M|7%UikZNmMRoY%_kd_#XOo(uM?KwS0d}MkD4PmocNTQ~+=6-YU=Kxdo z(N?8mACFWD3Tml*tt@_*%Tr!-i{4%6{?_AseotNv4ejTt#&u*6*_KJTa7HMTHx=BNRi5GcJ-5-aq z%Iq5};m7q*icDze#iC1BSv|pN-jrl< zB?Txh_X`dhmc5Mj_jpqA*sTRee>s`FP^YLU$^K%Wzw(Dvd8Ay%Yq8-rtW+)PiEV0D zuKHk!s!S{wTMBhpyDbY32qQP zk*cRSkTwsa?7nvpeeg7&YAf|xkg4i#($M6B-eB+(0Ke7{Jff{IB-J&3CF=b;yH*O5 z=XRg8mZ`CA^k$E|mte*4o+2%OUpAMv(U<0!09GRNN}R1}g&JRKZgHaGJ-V}l(A0o0jH){iEmq0j>=jPur-|VH_}*oYMb?~GK46UgHmRE9M)CVb z(-wuYzTO{l-T|Iv<=jUBUR0|8}tI;J3|m9=cnN1!EWyL({Q(zyJ9?)UeI*L zYyM;oO21CaM?OpE19`z-?S58-(YEZav@&-G59{UUnT8qw13NWpRt-#M-=gUQuAw5h)^&`y5qi_(o7P)jOhyUyK}giMfF$`m&NPMXl{UJ2Ka3t;LUtMcA*u zHh<^SxX#F#GBZI9YVFyg*w&=i9oG|?R%SXg4VRyhQ6Hg_%=dDVdlfogw}iE`uT|4F zZu)k*Nx)TF9Zf-JSZ&Z@NfqW{&`biTYn9=oEfDQ;JUPwFVglP0_8lTcQT1RFLB^NQ zZ7kd7`xUwT1EV-xjFo75MM=2xMD_Vm>y9@#;I^+7fC&3OCd`9H5U;>oln`XEh@? zxiC_uF+aY{8-bScZV#Vj9^_M)VSo^IbfV5>aRrCAuyv`D=R0<{duA~B??#cz!$N2S zNT)x7>0>y`j7vxjGG8A-rH@N3P(umlzZ8V@P4?DXeb52c_-`u2wnoSxcr2|JvpD-I zwdF3j1#B>ir40QL>=LI-1%`(olKe29Q9T{uF{irS@cX)I8V7j-aMz9(E}*hA3fnTp0>0t&ewaJNmRNNjCnHr4_QS2|X}nXwJ@Ka-jYI-|dl- z<8lIyupAu{on+#X230U21LRWX=-C&X;%}G^Scyqnk-qg*vZD|J<){qc-@Um=gXvv` z<#4vjVadS_a^W%A0lmjw=B8gx-7@slE2FT`&O`?)(LnCb;+%mU3+xPsGX+ zVENU)KWp$(t%DuyTG))u!zVnzJ!nI{tqgd_s*R|vN?v8b(=3E^lDq6F+sN4u7MK~d zLR32AO<~1wN>y8Chx=~jR_;s>!1pkNljY6n=gN+{yxf#?-|AbPUJostQe!oK3ae~Y zS_LBbrD)2K>7i?F;kaz(8|xWGEXYB=f!6TGy4W;R3FdwkC0{%W%D8cJWMs19gkLC| z8qX-lNNKFe3j}d-E=iC^dW|V*QKO zGHAXZ2j=qU=809B>VV2-%X$lk@cGbZxP6e|;VllywWd+dp`5M{xhwy(B~whxFmqN8 zE4!8VDw!rl{E<8Ht^Chz;gPzy{zDdlT*J99ECfG4!WJ80uTuw23^-7-fl5|j5lt_2z?Y~s04_Ds zG+bE2skO@A3JTL%Vo8TKZILxQ^NX@@-Xr*VQxAUr_rp<8a3n3M$%;lD_0b(V-x?bG z6tn#w$)`G+&ku@pTsvlny3wm`YS5%OCZ*=O1#o=E{GY2nb_U+2Ffthg8F zK^B(TQ*#i0VP1(V)CYNYtb+FuFV!nN-%C=Q(0b&|>!Nhfm{hpK(XQzI7|zz_EVus1 zNuv;qn8Oz`HO}#RVm;R3J$d0&xah~cx{`9H zBNA0%UfFRjHl>%pYwE8-zT?4{c^5(bCv*rm#}~hmHoOfZ)IQ93U878zLtJdJC}&2305*h>;@ECN^5`Pu8_REpu!m5T`FH}@`uuskLA^>6 zjKVLa$Kdg8hekv_uPFD-T~4bGNkK>NW^mb6y4dL9 zp+(u%n=%-720&hp?8~b&!MBuMJPK zZ#Su<#~&`uK!5n0r@u-Zp7LFT}!>95a{Ma}DfZ#(Mpamfga- z^=6Bx;ivp&7Tl*wV0^oJaukq|AsMX~EvbrnC193lyzmCD|I z+-13r&&qO|Wf6Hgr1OyOk!nYAMFsk%Utb_kbn_BtNDQ$relj6U6auQ{9PJi`$mw0K znDUkD4Qf1D^!j15)h>Hx{@u_C&@lYqir7i=4PY@s_U*Rn)LLwmp6YG^fbJ{G8(LvvS*Qc`RSO-K0B}hcYs$LIMf}& zaR$r#fN=+w@jCx#md;uvl<6~O z;5h~3kG!-GhJ7awcqvmp?t^Z%;={*PVdr}Y3%6(h1!@UXS&de-zboz$BlC%NBAwo` zVxLAw#+dV^5rGCTw159CDt>il?xsshTk@2X*Rq2#(^2LKgk5T$ZH!`qc8)2!W=Kw( zurz*)R@mRg)t|f465>D|ijeR&@VyhS|R33*XRA%O09y|7UB&Y69*RoiV)Ls;mBK z4`>nNGlc4(tADX;4mqiq(^8}uN!g%uWv zK4qTd6}fsI=Po%~g1vKeP%A%Y?|NY*vY+U606MB#ZNTGA%iOa)yeYxk zHL>d-LaP{#y@}2%!I2~7g=*Ls9p;C^w59)MHm;)9VwPBayD-jsqBvu z*I_LgZsdm*?RBTH?=mKVt?RsB06ZX$~k(I z%mKv7KhMO)vkPEHVew=06F6opt9PQn`%dxNN#LhcJjflBEnop2 zZJpmK7Iw^?<0nox5f>>D&Z}k1W3S;m#{@Sy(~@|r_qQD3LzcrqOTGin9|AfzY(Q4@ z<$@!VO{vhs`&z<~+=3c7*Y5@W4uJbY{;G4VLD#oDZPS2Huc*($KVO2VGJmBj>e{+MNJ#@G;|&;Q zbWV70#?q6HuCuoF4uwdD7?6&wTKXIWV`cNFE=THH)%T99tVpANBPRZIMDt?}gV&Qn z^%H?Mczc3=a~e$WuCs3iT_XcFT=3pl5j(D=%toKfigfSZQEe;)qK7Xx`$+bBo9aHr z)IoHrP)}k{952#QLZPA3vOOs};vazjc7rIt<$zEUJbjPj(G;0kh5%E%s+r~rZR-A( z%DwN&RpTTwdE}*~A$O&{q~aEJ>agK3=}NXddF&e1_x>Q-$M+N)5VIW_e4o!t?4tx< zB4j+IdyN0;%lB_nN7b8@-l>u@&Pc8p*7xs$v8M&W{ZP5D@ShD22&uw`@^GVI=gojU znV{itj;Dy$HY-B`z%WoU?)RGX4#D{cW;!a%x$1&1X+!o7g6?;1^4_Rpb#?9Jbi+)U z*Ytf$llPmylJzlAk)~ZWwh<1f$4AVo-f7H83CPF)NOzc6{rs^+;k(~0{%cPHq#l<` z?w@uhJeA+b1bJdz3ngA;1T|)K#MTOonFXz}CtjdBO_h@0bs$~DspLf&m5w&&4C5$t;O*rnKgqJX8nsj8D zILdz&2CY0KFC|8&7E|Txne74o{j9fwWt5oQArNhUnMW^DH)LF`uQ`4v#AK}vYHYb> zaWrIJtCPlD_jg$1)rl@*8hefRlvdOu1`0AePud`Ia(@T zHdC|)o@)+i|0?>V2~Cwo_>MnOVZ$EI{Mlw%WTxass_Uh@un?q}3`J@uN~ByH^N}{s z}zkW8%FvXsR}=Z3gd9WF$@c` zZb_wco6T90uPZ=H#E4muS0bfU`MSwi#KmtDh3Ju_)bpA#8`c4fZ|>%mi@`X`kDbzE z=7RrD)jtNPn2RV}>e_DBM7i(*TxX&et_ya*5XQ{c;Ga9rsi0u~&8K&y&Ja{LbUa#E zP_ugUtaJ#5ReaqsvqNbr{dcp$NjZLHCfxa$MT7lp0oN~PVz766FCo&zeabFb=BMX7 zuFiFo(4jDgL3A73l1oa@bl)SETSjIi|6sv@;R(Y)Q0{Dt^$SNcQ@Q8HR^{_}_EdHQz1C){TmY-FcchG8 z#6(tK#)#w+YIgV6yv8sS(3fBPsR!X&2GS$;UDJ7V@#B8GwuKkP#-Hzk-IBagqw^ie z;9Wm=FsyFj58K4~EZ6FDhr{e*FS!Fd%7e19!H%xeS!$^?jM0YdfR~aNwZ8p^?d$@tayAd!8br0IA^13XLon6Vi&aOsrFUae zMeprYx)40>&pzwM279D+jTbG8^vDnQVrUmH<+=b+i5sDv1evfx*xf;Dprf+?)MlAl z-*m6t1ybc^3me(L2*a{n6|cPtzpiLX^@}(ovGIKK$i7^>!n57PbQ8Us>$El3jorg{ z9y+5KzQ%t6QaaOHfX!ZLXXUJ`5=86PUW7WobX?uuL^9KbO7UA!jVzf8)H&XQ+^Bea zOMlojj7%J>A7zH~OwOs7XsgFOBPq*n=tlv4D1@aHo8WU?N_TX_S)yN>GTX9#55gx4 z=qp&Y`{6qSj5~e)opy77-*>r0vv*s;QPWyAT7jBiA;}#>7PPu6nY0IhS$~m-oi+rJO#6ken~BGxctlhG_!S$ulu;xKi%MgBPbWyp+JK0btD`+VvH&BTOgCKY?fE7T&ytF~- zSO@Hv@vKiMW20+4@JFB>O@6Kv)m7wdB19|_+OYm)^K1>af+xD_KKumYu%y${9NUp4m zQQd<_Aa^{n67cb$8uSXKjRIOj~mtG$XdB3h}*^|b|gIo@0 z8vrL3eP1|aA$`$ceQaHaJvO3iLnou}tR^8hkyZ*LdFDSZrJo+npd;75P7RkzH*$1C zTs)qd2{)rFnOruf)>$&l=5=+X-!Taz#DG!$XjDxnOma;DCET7OmG zDl1n(kH_edCe{ZA?iZ6xH}iuzW`Zsw9yg$#G*t#1KJ2h-;NV;MnDol}yXHMDNJG*Y z;b0n*KUO1QcuFpp(BZhv|%7Ute}c<%Tn3t z!11Yrjd3Znw6rh&MS46~M<)LfdHDU)oewE|y$#&6><;oHcfU|NDl zSsYIv5Xn3znlU1!cOrjXFE%U}^XkMpN<0TB^_5dro7>qwCOljwLo6>h(pWUjNG_#* zkCa`j^>Xo@Z}mR=t1=^|!uKsrok&ASQCU{rVulIlQ;?1~eo~f+Nsup*+$rzWk-h-F zcUh(U8y5nxYRK<_7F8>jEz zin~Cq`L!QTn0&ZVb-=PI?n4yu9?PF8gLzC=}h0Ynm;)I89<=Iw`M3dJ_9 zv=|E(vp+U5L%l$Fxr=;D!&a2vXMDZ&ZtbrB`F%m8HBMJotRj>TDAZAK?Z)%V5EHyIgJ|CKvzVKYbSB&QUN5Z`7Iw&%R{PIO8+YDv7r)IQeobWVIM+g(w zx-D`Ad+4c<>Yzhvh#QqZ1T*rMQqABp@PR$I0$s%B*jE+YXEv?3RVpZ)k0Hq71F6H5 zS86ZCtRi?SI>agiI!XEdNrszF!MZRpG2;Ux!-s{mv@~Y2L*j{k!E>WP$u_Of>-okl z-AnQXN2v6d6Kbl$V|J{J_t)kOh5^x}HTKjexh!wapM>oHI#ds|0#Ap7W-Wg17pSeG zH3zwjVX<;4ZhQka>0w%K1myopCR6Md20l92-By^e!P?Yq2ZJFTMCZQUo4wz;u%$WJ zlgjh(PZ3*RNowt5BGSxnrw{ns#QEi%4&HZ@YNq*A`dtSsX?ghh7Q9j!`n6=|gaM~_ zMr&-9XS4^W8j&K4(w%6*Z7h&0Q=@^jaHu@XEU z*sx759g<$YP3E*iRysdgvUk00QHJi|09H$?P2dg?hhY~Vk++wZxP@7EI^~WrJA7xuw3Ukjf4An~AY*^G(3XM>`ho2R)r-CqRrC?EnDbqG&=A};C*GpHJf?_`3iQSn^{&YKcJW+u#sws14ybP2nlpUjv>Tw`^ z(u-Dqv+s}~c*~A@RM!SByKWqMdiCMR=Y0o{#;v~g$X9xLA=)ihWFJJi-WXT6x-PPD z8Au+Vqdw<){0<7{ZbkUi4g8l&GaKBjjGKbSx~q;C7uZ7iC?^ z*9)#oUb6j}ZPkaF_%L88gv3Hi!dIv#73~IW3@9y()!)zJ7POe_B(hBEwFPd2xGk-k zX6k5LI0-nM)u^<#*A$S9eC$t-KONnpLv<)UV0h@fTc^W30NNH~X0CP}<8}Mt)$jNz z=Z(X@Vb}O%`NIGWwDKdB{P1ULMv#cDn~m2sx1xKM3V3d!^LkVgw*`0O44NYpk5nIr z^6ViY**0ayP?+j3#^3pWx8Gu^kM-__T@z~(e&&;zW=Tb;*`uC*XTH7v1!84r@e~jJ z!(?ZJ4Li`XFeP1=OkBB%(c}12_IKjn>4)L}yT|omIEvjq7lO`5-F*G;_Y3{+p^#M= zKOQvuC0{$dt{3r{#arXe{!PZt`mUOpiGd}gf+oW#e@d`b{Gzkm+iV;>5u+9DYt!xI zMZ@}@p0})%8#%3%K}O459)3y^TVyQ)lNLBuk9I3~y~|EjiYK}$U02&K0a%m}G!+#{ zY6Ll%T6fnc$JUZ0;2{+qO9fwMIaSS93BzYbOF<^4Tq8&$_^B|}_d%BmH!3Fvjp>?l zLum=~Wg*(x5ua#VW+@&A*lwb%l8ph^4ANArwMXenS|1 zGLhnY=RU@)b&N>RV+W>4l}++j&)=ggSMiD+K0&;Zqb|DAE@q*wZi z>;zI5`h6ik$37wRN7$i@7NOL6+f1)u_P#H>Afv4atJ0)JLFr?lY)g4c5;~Qlia?h} zN~){Yjrmsh>DcuqAG%PsIi|<#Ttift4FuvaGHTfhhJNQ8xK7KzbN_+wrq14HYFxR~ zovI+FY_$v54EOZ9ux92&HuH~3B1_`aF4-h1Dl_lpQxE|gGJuMZ{vmX4xbWTp!sy!H z1Qx6*s5Wz$qO=7dD!zqhvl!J!Fwd!|Ff0jYQPckxgnID}|D&of7gzhoQNH6uIDN0{>{b~Uy+ER&cH6Fd^&MIBobW?8X9r-Jj!r6O+hLn-V zj+X_WOf@?xY;gO03t*-#oz6Vic(~#!zI{U|Wmue?6c&fO>z8nPu5HD%pBk)Zg{tP= zTbvvg+l9k!Q1en3l@WZ;uftTOwl;$QBbgCX&wMh%^7xBe9c-eA-3frbc_zQV1{?h} zG>(?eFTVOI1+x0A2ZK*&#(dZ0Wy-L6$9ADv+RftO42!xeUIVuM(?m>*@tfFY8$s?y zpj}LK^Z0)9_d>8}hRUsd!oA*0ivGR181w%~{MOeuM#@N;aHY3x1HU#JXU+eMjvsle zFe65zVSVhTmX}@>8nyGyplECO-MfsV@@r-N*XrE}=E2`GuakerYaPy=f#r}kNU}>& znp?fy4thrLe}uPuELD+()cQnYUV-=}geq67ex|>smRHvxOUsKitd?&CbBAgj}R$T39|O z8ZqI(BB9qjEdp}2=camc{XfUmg7l>teqOit0VY0>q^QL=2mhRY&3N=53CGD(j@tDn zBIZeos^+W~2ct?BQpY0=7Us!R?&JDLs&!@Vg^PirX|wff z6u>$^5yuD~cbrXJeDY*Ir?H$t-SRip@P;i99RXNeS5{=9@3;17cTtKJU=r7_k2HdB zEhqb9&WKoh_`m3wqlxo`lRT{{HU_0F%9lVV$x+KSVxj$3SM>(&YFpAts^U1&J(sH> zB^V#gY|@;8Lkm&h^>Gam|FGK$YaTJ&jesd1p3ZN*%Mq+?MkT1&_b0K zDaxzhAm!xe-<-089a#Bq#p}{-P_kM|W$jiJVVB~xorWL@(-W_Z8qJiO&kp&kD%%j3 zH?SwYHv7C5N79bE9Nn7Id$TuF{5w}Oc8)%a4iHrOKJpyWN(Qda($A&=kAyFVHL?~bc===g%@=g zu!CjpkyXlQ083J1??7`uuCf;ianqWp7#rz^xIJt=`Yh&LaP?M!=!eh!_8$onfrOGs z85uWiXz?KwWX<=T*s|7aXX4GF2}rPJ@;e?YBbztRU)ryeN<1^fnDUC?a1Se~GX!aC zO2)`kK9_v(EzS4eD<%uShOxWrr>j~lyEI^)!?&uGLuCgnv>#t4lz*fg1Yn%I@Uum) zLS^&bk9g-4f-@m{e_xpMC;_$iCDIX3|IK90HVn6k3Vsm651%RGb}OaqSC(iVqJZ;m z64;upQ#fm>N&q82_b*Ns6W@MFg$+d4EebwA0?m4+Q&Ywycy~sARYy3bZUEFt4E-9` z?#Seuji~x$gJyhSky(ZBB66v|pM3qwtqHIkE#yU^t5)$a{nM+^R}_8pCtnNB>edZTz|otCT8Uvd@f)DBgW}8k zZS}Xh5Z#IDL;2cuAntiJ%7h0u=;eeAyJ{8t*VM=;(*-vUbJ|LY-!tpsb`1ngcjcNK z@Qhm$CN_odQC9w_j%61%pY=BHE6>})xu!jqGe#R+)J^xj-i%{_SE?cT37lvfCpf&y z$5kfrd@PD_)DEZMV)C$VLouDbet7A+wwVcg?Xdaa0fn&!#nLn}A|BDp*K=b-go_kn z=_8 zfcpH7o=Lj`t_2#VJbRQ#65|_aazf}mw_0Q%X~-srO_dzp_gntL%R0DHbKnbj!?MQK zH01S|6O7qdK)H)*K}Dlh!ASFIE-zhOonTu&W(5-3;A*Qs>iHtUFJ9OfLkH|f;>bI; z(wK?_=%;qV=%k7)JwY77zbFVyr7KI!3(RdkU7S8&EgL)lCZUg8Nb*8mO`e!#%stV6 z2H75V`)rD1K|`qombc<7Q1BHRUb+;6shJ^`s@g0Q*`BrMn{*uwxJN;fB!`KOU*Ep> z+5P`lanZymtO@kD3laUf(;oL_q0wgwu!!dJnI#nBk#~6_(z-q4G;$>gE9JLSt z$TVQ{?VrogyCX)cAoT)^yW-P$SdId}%PRh%a37_fkqMk#E^V^Jr)ywlvyP)G;Ck@R zxBtV}TSm3fh40=#f#U8`T!On(+yVr5DQ+dWOL2Dz?hqis-CNwRFbtSDLMox--8(?f3c^_tO%oH5tV zw1NQYU6PXvEgwJDXoWJy?M@MS2^0-hd2CAE%=6Cm(}xl1skkD7`_)STtN>Qs`mcPo zt*gxN%D(yR`L(QTCh4H2EZgx$EDcVHP1aurJ#0HS7r??{iCQjZ!$>J3y&V-n@QYf#?Up>P82>;!zCiBJ?TvSd(=9gW9IwR9Mt$0i{WQj{8d9>4@|po z^sTa$hQt5=l^ukr=w7pBGC~EK!<7~iYftnZi3Ms`S`X6i;o91=-J44Cwrvpa>Z~!})-+(@?lQx|`y-5a3_NGc=8G}5>6m+~a#p$h?nG{Zv&F)FMmFQR zq|4t4AYHKo3TUNr7Ja!tGkJreUGnJkR5lc-k>>>@lLIlSwE(+)%;&3AhHd<7qwk&a zmaSobN5f4Nz-{#Yp=$euFSq=_@3uIU;hE_{PMPeyE`4uZ3_1=7DA};VrU!r6BprVkL~`rKk`hiR4F?;w^-spSH$0TCrb2%k=TuA>@3Yy z^ecs8n+Z;XaqUTX9~b)wqL``StqHd1DI*B)Z7R-{H`=?w`C$m__vCN@ZC7a~;iB_i zHw`U%gGDf_!TD7 zQfi64erm3!Eer_l1)iukY5$8c)zT2Sy3tW(ZvheFsPL)q6E?qEJ@voE(J5J+?oCTl zL`PRKubBjt?ytn!0QyA{L=0acUec<%fv z?4#SI72)rd?p!Qqxq}5xtMK&f4Y9%DLoxW>j;tf)zxnH5BK#Ej**Uspg)9rs)*nS? z`N_u@wE>*$FJnGh{oPK!6b|i+Meg6@fCQO4DhQV;?RO~$8b=CUJ6fDltu*8DihyyC z^n%tUd9xlHwO@$_D{}^7ehOZm^cxZ&|A-EZDV(J2s&%Uq;+|? z3nvKQU8?|fa@j<^l(40*-`54uwHrAV`NkHNJzyYM)vt5n-{*{~7ODZV*awE*Y-#g) zH|A=Dx>D(+_uv9|r0+mn4@k-?-pau$IamV`33=DmV#OZ&>@7 zX}M14W(P+6pD*0o&L%P;rMEM?p#qCkW}h;?P0ZRYT38!rvm;Oc5)K@3`42&fpX-?r zG5-OF#!S6tQHjGf@CzoVqq6x&M<78(MTe3)FL3?q=5oEx2wrJJD7L03XN>95&s!9i zjwnSb&s(z58evC15X?xEH8N>m>QHUD0lWe!{T zgxS85WG8E7kLS`nz(#bx)gOk0;U$n-octm1AtCid<8J7Oqb$ycVEosOJ-X-R1H>Ga z@5HV_%eYkJ#$K`$z16egS|93j41*c$QB)7%&wsE^-VCHdmh6(TmzJ)A6gA09R?q+l`^Xj{VXlo*-B_1%>?(@G|lO zsm_Q}!a&)63k(mwJ-dv6y_E-#iRqu!6Ofo}dRZcPwvnKu`MZdvNNdD6i9}v8{@NGy z>ELWNDa{bEX6d5^@+_+mq1oe%^Dg^{u8n5@gJ0hVxNww#{Y8YLpCj0{!5X~Xd>7I- zPDMJGR7r^pzqiO`2YE0iNw(ZVOgO)h?M>0}>15jKy8NZo`qh-VfQhY|tk*5tj=v{C zPEAx%Keu5<)li^61Wq8$)0@6)AOBO2wIcW!owhN$I0eLp1(McZyFVQk4{@b9)J*a$7)K%nwOY4AFIUfLbxx&X0l&mWJ0_@#(y5R46&}R1DKLY2TlP7t1y_f4yoX76 zmV1w@ON|%4f~Q;@@a`>*>xK)^(o1)0_~pvqdYqzbpOv(F+-r27*`XYaRdp6SefjP7 z;TY{>em*@QzB`$E@n6xjuFk(W8yqkdd7Ej!PN_hh#^U8KddN4nu15*)eZ}!TIdwf4 zb~|HaoFRQ~ls-o(Fh6`Ms=J)m<>X%SUY#A{loxp0UH~F)w<$&OY9PrB*y=;&(Om{O z+;e?E!)na^eL0_2J0$8&(4@V%Q56C_fdpYO(K~6S;;U!VUfBvHE_qm?4{JmNU{Q}a zrKJzk<$RozUw(XtX5I<3GQIz~G*E0yTBjC2sddih({q4AAem(Znqd!7;Qw`yl?w9a zD(#VEU~OQ1a^`lMU#1|Fu;O#B`48c;TC0y{wWswf6MIO(EW7@XCuc0F*|5^-gYKYf z9x3*S9g0_oCS|F`pL^l=d$)FvzM{DwR|r|sJ~jpa9Qc9i=w4aA#n%8T+5f=BkW7wA!Ua$gT5Dv6@`Y#a2}9jU|xWk{}{|&SP2*bAh6Z=vHPDGc1gl%y9@TS$%d_ zl*aiK%9+`jekn~#SqQ@@sG8$qqjt0$Eg;Kx7YfHo+ddT+{Dack*%&2Ji;Wa8nRz7k ze&Ft8P7CLU>F+x5A1xCD(fF9G)_X$xaD3g5clnoR*Px;64uj@xTz{CzB zpzFnXbMBa4)`eteR~}?z5b%D@O>_ivdZ!Lu)c~yRBPU#yKiipwEj-e&42!^d9he>gJrJ~`E{gX#vzF=;rB>{q>BjO5ftTN000rPZU?$I`MLKfE67jg~Np#`%5*7v_ z5MdNHHJcMD0`F>XB<=<3w}#fl$IA?g?t|(a=!*_%!J{6qEl~*dG z$YZQA?|$s-__@;}LBSwx1cHFdGga6HC!KVvj%E8i7+f;ofiohO_jMQAt+NHyyn%@pV7E#bsGFD8wRwW5OGP1A2jpZ|4cxV zS`N37u}XWW67Z_>VI=MWK~gPyCnm3Sb0QS0+neG-gt7kMZ^DbVwF^GBV5AsdA{1zK zzrMB_z*sBRbe9brnsumo_#X75bOC{_<5VaCO=grYFOiMwd}`N>cZiOWLV1f+?lP>- ztydGmrbSpYDokwHhDx*eN(S0}(T>Z9HA1k*xV`fX2cZO%fA>Q(x2Ua}5r zb;I{Dn4Z9N2(@$?QEMBn%WmDsdK$fb^s990dE!A?*!AzJJbpJM{KSZ8;F7bjiRoUY zOR1Cp2z+yvXpN;r&Ob^)@dWb2rma*O9+0lcjm%XPUqv}i)(BwYrx@NB)e3ofEGM(Z z=7|dr+*W+G4ZPXj;?@-ZdLfD zk&fOB%omkqkSNq9)GTpC&gw-LP!l9B`BCz|8}-66_*~9w5|)wN;1dyL$oo5g!m^lg zuTT5TvC%g6QW&vzgp-;bs#xDtS>y~=Hk6h0sDy-qfg)7Zj&CgMfG0qDs#;|R``57e zyi?AtD$5TZGjY_vYOCwKRn7RFOkj*_m)%T@)-5ag*uO3XLiKg-8@JKxs{F)(tp_+s zvcK$LdM!?6fvI@CO6X}KwxY70pyf2#(&pbkfCjVd6xFc5rQfsQY@EAVkqOKtxxQ}+ zvNqPcHyS(fqS(=w90(#;nU0?H82o4oGNONPV#qXze>6WIlt2&5%WKR-(Rg=(p>||z zrCgMxd8jKWK4wCexsk4ITdNTvSO@bKUds17b1YTLWmz9)Ce$MW~P6S?;D#5z(orzECE~m?3T>`mE2QWN)b|yD2`V3>M;e z7f_bZS@mVPowAaQ2(NMNjzp2zsCsA|><0nW;^GQwV`Tdcom4hW=OZ@vw zm*)+@6>~-hd|h+zwg(p2DU7a0wZkYAvk zqx?gkGT#JE?1b7b&F;u<=!%x$`s(tNR&V;vs&i=6av{`0cE|;QVUR~c7+It;$o9ea zolBrN4ijh{SruO*J^Y%zXP8L=v#|myds_jQC$la2CrqPHvKR?7*HZ74NzLh9$6Y$q zF?m|v`AKaV3$&sbKfkAF%|(XZ5?KyNS2o&77MpiD_5yge;nf;+cGi0jjNRFO&X%^ zB`vCmQRPnRu8U4aV3D%(Xt(srMe~i<+M^J+ID$2*TX@--f`=WbHT6uq~lG8 zxY(;$VYb~_?sdxE9r}1ODvY4b1C3rv5#I5O9F4>w?|84$Z0ENQhorn(ND;6O$84?t zfd?Vt8cc^^4yMEKECtSC!)*;d5GG8{g92zT`cMc5OKV@0>V;4y>@#0)BrPEkMwOem zhLYN`BHd}XugXaym#`kO2vPdGNG2eV#Yd14FaKds|6-5;%7o5hT#E;wsLsDcQAdIx zG;;Ts@zj+3A>6@Qy_r#3UpIJ!yhmfmGbR7)3(+?&wXSlU8;KWt11oS{=+|3-sn4b< zHCo(f?v)mNUEVD8IKBoRH9JmmMM-VH82D#2{zDj95Nn@%tRd5s2qN-^U}xu5dit5D z-&33Xw%mwmzIg0@ncOyi6oM(*;VtsP?>dMG!oHH`)V^`K3v8nhAZ)MN=+vkHwwRXM zQp?pjX7V6Y^vRYygHM%~BcjTGMG;pgy9YPXc)v~FZRB+izmj^QuwdZya_-_RFN>H3 zA6vQGn+gMyqF)|0&cIEpS}E(%6chr?MPW26WfKp#kqOH-w2Y?t@8yLGo%WQ<9naoo z0NxXd)=KKD>Z-G+RUCdg6y1wYT==pi=syYNICCi07sF>Y&R-7{(e9vn{6QtT*Xfj- z);OQ}kWo?O=aN>LaAQY|-AJYurfr{O?KE4a##~gHY5RadyF#amBeq9!^W-Bf295w_ z_GsUKS?KmzKEW-JPE9-%a75|gCoT4YU^E_RVF~UI(lU&fSrg9suMs**p6!Ip)ECr$ z`gc&ddscEyH|vJXE=O@0 z69|P=Skq5%ZtF0}KRvEekT zWT=F43ZNC%hH7PFN<`X76MimB>?Ltthz(XdYc=kvZA+5p$(xMMvYQ2#ox3XJo3y~Q z`l!s;IHeHH{&};)Bd*)YpR-CQ%F+XEgW^YupQoGz(SHan{O~_QUc&o{&%8y@Xw5#U zTb6y#)I1{__4=jleg`A5fg3C$_gIU}=%C6H)PO`^s=8s%0yMFe`rggUX@-_cbt3%Y z(EKyyRIJVN7RC1f4huH6%i4b%oo0Qnow>L=4eUKas2auc(c8>??Tj$UEoK5C3RK(& zH5CO8UiGM3!#N9`x}=iJaZiY^>7FmwJ>Yexiu9T?v}$)IhB4>g<7aJh%D+H4bx0fs;czsv%Dys|;1l+| zvWW|V6{~hn6dt_EEWOwolFspJU;-ehm2DPQ(SUybQ>mwmOU)!0F6jEfJC~?^ZK%Si zj9^=jNx{b~y;22QrFiF(77#i1iUzV&&tBHjp-+tQy>|J@c1=hjudi49+fM)Jt3xxj zT9d>ITh`CTj?Ch$@$tT0q1G%pNcpT&E&xP$pCxaj&KNLcPLwQP3WfM_#J?P0)5qB* z$7JBP8;I)9$=i}U)q%&7^nl(SATEhZZEMC#np|$Znv+t>rhN~|!{E}m#}mYO{l{)2 zTflA6gFSdD>DpkGGT#56`!V16aJ@H`QYGJ?+7=xH^(-E?4_nP0O&^%-8_bc9jl<7jq%J+Nq=uE-&9d0d1tTTC0v?(uufMFJ;{Y{A>i zQeiwl+XJ^x?M7|kt)zaTx4^mSZ_2d9a*itb4%ha7ME}6>VAw-0Gdr9bT2oDA->e0T z_obE|x&|>uIO@gZNgmJY4lQ57OhzgEQQD|i#N=<`254>#-~_sQ=TDgxqtM>zVO8(20l6l5BxO~u9ZrPRJ1hitFWDLNiT31 zi}7poe3?-2mTPVEMoN4F3i5&utI2|4!>M4l#(Skc+{M;M_S~=``IvMg(Sgtu(sVfo1%*OA%aU2+r#jYoA18o$2+2;MB=(Zu7b*#MrDi&40V)W`( z(>tC%UQcMlT@nj#)9MyZ5y=p&-d`*y$I;zqQ{}ILQw*V_A>6~5n@y zRMAB2WhQN%xEpq)ytXUip1Ro(eJ}&v_3hucoBT1yiV!5J@o<1^R1B>DNT%`i_yJh` zZuZR#(6St77Q^2E)RbA9lcm8}67xl{`E33}uwiR)-cj>-^ch2#_xpTYs#D?AB0v;@} zDM}6xZp8i(WBms&?~$@kX-F|LU6gZU^eHv#8|0GrAf+2^1S~VjROJ=#@okB`ekrUS z%}Wv%*m$W|+yHdpQR_CjipcL4zr9DnnS+&7d0%O__?=@{{dAXsRO-uSC@(eGy+Z1t zy%-q87`evT_Jz9(AATIO%IK(fF9aL&EHO~`ULvs((wlgz3u;O;t8)%RhwRHmCf03S z0lRS3Sq@BLXQaJ97CDmuS-V{aLEKy;W*xt!<&HApC>G!Bg$ay>(a^A?S8Z_EP^2fE1Z}nSyXP8>iLY}Ud}~-?Alg-)89Yo-cX1QSJY+lh1(Dcq~V?jEFVX+R_4n6bhBcSbxnK~t_FkiI&O8|Z0>GqH5!cN zOciEg1*PRO-jA7AYS)%x5^2QjSPd<9SgHX8ZtudFUmN7@9Rt~6uo?Cb;*k9{N~PMC z74@>UnR|-p1n>2T3vr7|55j_!igM!Lo<@3dxo-hW|J_nlt8s9`ayhY6Z6sw zp`CvjrVq9&GI$n$lH&r|(!yNra$y*?w8ZR`V-7|zo*5Kz1wCwmrFy>ni6X&Y2ide! z9+UCDnVZh~%OVAwLXpaBN@bF}&pvS-B#TAL-piHe&Ih_}kPLD=9p#Px5S*%&jbv5O zWu3{o^~lAsmqZ>hH3DvTLPL?1l$rS^vmBf#D?G|vmtcIR89W8jAf1H;aujMI!@pd* zmj{8vmbw|VYLT}UO!}V_+mo=UR+F<_435>*3d|L65u8aUsipvTo*B!j`X>FEv&P2^ zB69{NGTN`A8PHW~OOe`PUGD6{dT}6(x(t{pr~Z+#Iqev~48XdGP7HB|t~-F=2Xx&> z0{Jd@(kqr%g+9^mMF+bVi%R3=!E05ZUlKf)_L)>vd_8y!eKbY@4416J=2i1I zff$tdRf#8Gp&xyy%NxX8qhNh6BisI54^z=>KETpn2Jk5`iF-|_3)E&)Wgm>%YM028 zf#LehqFY8Zk?-a0a5$m#Magwzn))0jQ?e$*#d&X-dxP$KTMn(2?sj){Ywv!-gtHRW zN`8e^h|o%akr~4px<-v6F})+|`sNa`w^v;!G%I^OwF1D#c2Q+BzKgZgT40tI8p&dg zJj!MYS`h}im!rRL?PONkhx7fZtDI4lrpudDtn=617tz%gJ?8&8^pKfp&s{C6eb{>W z*$c|NSFcsZR{hyGX+>D~<@P44?!eToj!hBIp2tgpm|hcRpvOnud@}D_GXfu04exqN z*S{b)KL!wrjHd^^4Q-p3RzRGmcs00r66lGm&_C^!wJR*%s$FU)LOhc}af$bW)43dV zt*Ggo{Vb&{AiOvu@*S}DQew|1oyHjXSPc`6*;_@eq9+5k>hq0lF-k((nUHK7ZqMu$ z9i8^vy!gz$ys8zos*i8J%zTN-O%Ue@TNc`I?xa;vEPk$iJDMlUUij%Ag?hH6G}FFr??JQR^SxJ z>g*j&&lKwBi^Ad(%B8Z?M^8y-)d>TA9X!9dq)^Vw^esJgelsF>+j1@{())f!loClr zI7ys@Nk_gtq)7xF1|~4vhMpyE)Tz)icqiA`O zHvorga#^A&D-UKug%N1Ancz-us-4OO&3SWznqwM!+iyd-Ss!PoLZWFnf(x_WsC*v{ z{Udo*RKCf8#~jzu%nAL9xsgXAO)YemNj%xS*2rs}#l)X~S%2P6?5zReN&k>P;|ppJ zGyWjQ?-tBJRs-LvhD>O!Q%#V#n|L+ zb-eD|14&wehEA$h_fKL$B@|g<)P`=&=P(%3ao^Dc%aIgz^I!a&rSC`HE8cCyC@Z>+ zJ3L(};zewK_h-nj8kQNnRTMKp&nRH@vZ!UIe%$fN&T^G|% zB*Ux(c9NofdH5HL;Zx&Jm0&=3*dAxhExhcGma z-uAs$YFp#w4aRLt^ZdWJPdfjW|3he#I@5T~_?LnEtn+V}lc-OkARi0c1*7e z*>}*flj5Dl(&Fiw*D9Ugg>%zlySdwcW*hFszD)=Ghmi9q#rq!u_(Ro6$YSB{^nVCY zscX5vng1cwNnL_|ocM5h4I{0{*bvRe3k`sSbYzn74W;>W7LZ|@n0 zEdJl4x6+hXz+0UpHKuRA*#G^X!?(ics@J!;w@vC=&y{b-~kZk@L z6AqetKL58Obp~pB%5@tVUU4MzGHA1P3+X4J%efV_*wktjBX+&Ges z;k0^8K3}ckS+-ulyp6>fp*8=4lMQ`A`wszoEX3rz&Wvm_3_9o@z}JWPxY$be6E>M^ zOv+h1FlxbApSE~l;J-l%@Eajd;K*cV7L~;Pqp|QB$)re0@ATQLC^2#^AI-tOOh;3U z)+-DrJBLSl`F$)A8<{ssj?hR7d27Cv`~&mPheCDk)qvO^?8`4^)P{K3nm>xP7R`vv zOuPWet?uv2V0tE+8=<3?N&9Ris$8E&!>OQnfHF_NkOQ$_U-r)U3B=XP)H}1WA3B`| z!HP-zqzY6QDf+*{V$0kdydksA){~}=9Yo^-D#kq^V`_;*h4nvEX8{_rA&6(+KJoIN z^EkkHPbo(pb_gx0H3f`nlnfJ0^1U(AAf!}d3xu4UVG8_Gly8Quhk^N4FN0b!3QYV> z)$_g<=W`(0^7K$|yZi7oT&((s9NMq~H~xyp;Uf9N5;4nw2egnjELHi~pZ4!`-FOG; zu&JOh7v9-Q6UfOBeOT>ka&&BzPUtCm3skxudcBlwpN>JPl0p_<;${7tp|+YRh?F;Y zLSK!EnQ(L7;RRQPjqDL+n$(z>H@aX@TtVI=K}lLk(cvkwSua2qOITARGyIr3A*|I< zq=_Z+XA;Bp?c-BUTGtn54y*309EI<;TXT{7rF4S*y8`<57^mjFW?XCcJo4K$I7)9^ zF3+v>dYt>(Dl+?)zo^9ktc->gvWp2{@((T0&=OG&?trIWHN87QGum>u21ixEw?8P# z2^0GjfyCT5U)8PN@QVW?!3^#SWrx7|b8H_}u`jefFAbdve8(g<^F<V#&WvY+)k@K5M!}R6~vvtZY|zawGsLTmb>6w>8nVG9 zWgtxohKfTVJC?jZb__B}!$6pGvytZ{ErrZZzrNj8Qj0`ODyeh+BCPOsOI$;EQL5Vl zS@|oX0wp%Rc|FgznP#qE>mm$v4;`LH@SSubKCpkW-UU@E400Bw{}cP>XW9CX@`orI zXA@Y?oN*VOyAyQQ{hA%b<~=Q3I~fPxIWWaRNX+({RKj9P1-fEbq#l+x+t?Wi!#6l9 zXRx%71NQ^&#d>7Fv<$anun*Ho!o`{m+gx_2yPeb%R;eSHq=B4Y#ZvXI?JIz%x6;Ta zY#Dfw;l7h$Ighap`P)74sC+KdNjXe1%w=I+1BKlZWF?T$tWV~=TmdrwL3EKj$wifB zzXhg(GcUh691;j^TghpSNz(yLGq$&Qfa4jep7_DZVm%g2xx#~Es9cp3G%cgqf9%Uz zI5KrHQV7{2bPVevDdZ))?~zRts6Y3KH}*F3M8GqG@Cv-Na1gKh0y|u`dpui6pYyk` z_N;4xO!q;|!3lGICIu)mm$_iWi~fZh>zN3$A&hh4uJu?*<3eaRZ=8_>-edo5z7tq- ze43$mgK${bYGrmJ3X`>-*E|2CGg)xWHw*-_a%S-{9|<%3m8Sf%R|m&XsCM91)>%kI zkI(hy|D5*!>|QMNR&8p|W?txjDHh@5ENHF8j{Om$4xcq<2z?JB*7F$E2WIlB2(s4( ziKR@o8iDJS@VU&+klwjj=NCWSMHhSvDGNjOLPW#j5!dGU8mme|?=R=>HlTd6VuY;| z+K7!&w2msf>-4UD0K0B07d*$e@s#Jwm#msnL8Y2US<2O(bDl>F;N}}PukcR++i53z zW2{^OjR({A9NQJ9%k5!UTdq~u?s3Wkngn(W=5nN!~gmg)kzuGoEZ6q3u}TH zDzB89S(IC1I|sC5Tf8Rpjhv$(+$6m1c-I^^hMwhw+{T^X^fG(n0&Z4W&8$G&F-!Lg6!b6gaRb z%npbz(mqfQ*-VtI7a?PXJCnI;Bd5H>lCm`0o(RFxmB*^w+xxvFMM3eYBy(zt;arE6 zR$r%b_Im2#*r>hJYUXfL*vUW+@ywl#;5roR&bg?+M-v1CBj36!FPd=3m6+bB!rk}WQGe^rl7sw!U*eLb5G7v*JaP?;c!3muV}rF~I&Ntq}nYQ)b2`$j$m zW2SYiM4HkgUP7^19sL{arUCkyR#lT%)_;~Ovk-5DP-Kf5^_AJd1t?u z&LaCHH>m4QWv!!Sh;c8{$?T_u1zO;SD1sDZc2Fw18><5|y>}hV<4|Yuj@BLLloty> zlvHjY+jUL5h{a~o>B+dnXQliUkchr(DyGNb-WnGV6%72vqpe$ZM8b6tHbJ)M_PG;o z^4^!cT9nvXjD2egJH6ytoe%pEAepO?PBL;H7!cH7K1nd~-3Y`&DIIy;71`R`UqDw@ z-QxegIk0@#kjM#Bmwr~hB2rcL^LF5lxI6AQlLaT?t6LEapPiZ>e0rPl+jZI!(89~WW~>Ug`-7O`{v;qOjWeZqb&g{I%I z=-61ilPz3hOXPh~9!xBy$gT}*Q|zys6{`IQ#9^p1kD;w zCnDstqc@7tm!u2di*k{puo2gD8UO~(#``9Rek5=nK5UgMvbrP;E)Pe(A5Rj+8-0Q_ zGLIq7F%q17+a~BI5tqndG$or>NBX1S6H4dNJn5fVx$B2w?CqKrJr$P|T__}Ju0~Oz zhvF@UCj9{q`=+%e$9xw}RmuG;gEMU-(UB0E+Q(ePRX*dbUomSgYMdj+yO_xYTo`U7 zQ+;rIpDCGInxMjfy+Wol%B=ojHgE|Vo=k7hKdX{T^^yrzV5#w}7op} zCwgRlkxJVBpGEcME!LxqaAw)bGJI_KQOp(K$D>3vgR!(k+C2vGQxYUfefPVdS6$%g%X`REb`wIW<| z=9c7fmCg|flMRm;(EW+9Lb+a}f4!ynvgAaWZY;FqFT+jFfee=2uYm;G!uAQHhdcKEEZ5Yuhmx&nz!hRiZw2AhyL zlU#tDB1TVs*FJsc$cW&69C&2wr5Nl@ z^z5xxLC;$1vuf<#>;2wT;yn5JxNq`r4Fx4ty=4F}`_R+ud`b+2E5u3CSjVi~K}qS} zqxn9r%|5a_$H`UCxnIa*{C?>foYS> z2I`rReMA4_tFN}#{NX%w+hqeAC1oYL9wDHpk?gZ3FIGSoJunDI>D(L0oJ$N3QQ|tjDLi`jkcMHfCy?+3<+2kdY{z`{olM8XMk3 z*6Hu83o0<;xq4-gV~xMwJN&fyxIkiUFaLwpp^`8SYS-k~WozdqgngLJ_s8Bwz-`8X zJKW;CQgxNkI(>y4uz>_aczR8N&et?1@{J?x)DkZ-=G{Q*Yp9TMt>Xh3oI+kB$gGO} zN+yw}22Jmi?^)RdM7(6{XUk^m9 zS8>rNnxYDv$3Qu!k=SWgAGVbDZVT0a8hU0n#po0c)FiyI{n}&yO-A|Dkntg zzF@11=q`an&+iF=YgZkuObUV#zM!~>1_ZKv_18%w?%t|lo&>j)b5@=up8Gw z3zZTKWPEi<5{Fn^_S)$0WsH64cfzhdjm2Yp8r-2dc-{^E|E{OSzkA-zS8S2A%`CnS zq>=Swc3Kvuw;hENAR=6s4Um?s&8%89(IYRhGN2_yhjK&-@OqW!UuetT(+{buD0kU6 zBCRCXwiv3EcC&j^TUSykxmpD-S7A5V!TK>7F*A`0`c$mb}Sdl99V_3XHS?4)Nk_* zqe{_84yDHj@HUK%^r$+;xNNx}!gyC)HD2V0s2`b+^a+H?BQK&UFz_f+{GU?x`WMzJ zsM3b;RW)psnt$eLFx=0iG`)+KA`*t|Bzn4YjQ6Ux99;3dvupSxRpI?Ww8&;L?e!7+ zl()Hp5jpvTR*J?zr$8+kbhzk)m5oexZZUEPHWS^tI36Iz5nz-&HpnwXF)SMOJCeu5 zEtl}XDzqHznPhRBm0mqNocoFUnGg_kXtU~RdP>@g=nIHZPfUL0+2Kf^flJD_N zew--)=67-F{RO`(j&tW_6S^B03!}B#JH$(-WzwDjA^G#sqIxIZQQ;2|T$t~D<8`_HdP_b&ZW`DhK-sC} zM^MH%(#6*{WA;$#YvS{*zrLgtJ6N@&eAqrWPPNrHmTtN!ClC>fnPTzg%!HzQX1%nJ zgG!Zx>akZJ%l8pufBkGoM_3_$amV)Ua<-wzAX0RulQXeuybYXz|0Yqx;l?MP_a0H1 zVtCZl(>E~4VX)_+OOSrEOB)2q!;GR^+>KoBu7rNYdZ#-2d6WJn^fBBPyvF9nvHiw@ zz2)CXhq~u-ih1g$gb>5^1-kddtiW7@Bs`w@uh-=x&ll+sm8CDkpcjzb!AFhle`Sx- z$Gayc@A@WPvv+iHwS~B+OA)9J_CfT(#RJ(!i1s8g8l9|F0jl8ksDI=s2OHM&ysWS? z+<%N~LB96PR$<4KwKXg9bl%Hd=p1!#iD;s7#+ul#c!>K(;N^$WBUhcfR2{~cQs{B9 zqy9g49RVI3wgUtMP1`2hxK@Ho{SgTl%fqmt#;GddMHf$#oMS)z)B&%P1H2bYfZeOn zs$MGCK;Pk>4uF6)%vY*fAH<8WjsmG~oEp8S11?lmw9rhDwZvs%jjiJ$hn7fZUAEqr zwo-vrnX%cqjKE6mrM|Jc#J#04102>$U?lQ7D-_BpH!lP6pO)#!F2*e-#~9VFVfkgt zn`H6hY^m(Fnec!h*?~%n8|uFG#JyiR3>7vI9P`gl;bD6)#i`aE@eczgw=zm@QYLtf zG<4rR454;$n&tteOOS)$W%=Cep?_)N8~as=y9Pp`eHfOh5Z>*Ph}LExWs76ocimP^ z${WI#qp6$?fcTQj-P7F~79C22zi*7!_$ifgWTO=aEA>*BFBJt#j$J&wjbPZFo!Nv&D~Cfim;>FY}`2@1p^C zR#c@}&O;^MUJ;D(?X*v~jplbp^<_I(7PgI&dxRy{UwWqfZa#6d{q$*|PsB4&kJ4;k z`_w%}rx9k>Iwf|wHi>JLpu^V9emng>Jh%HJ!wLGQH~Euvr;Z8r@zRNqu$-6nM{4lA zfyZki(Wx?=EY#~`8H%D|;e;c0hR-KAbJ`Iq2NbQ@G`TYKQ;wlnr}Lw7S22#+pJZO2 zw6gU~6yHe?_7pr$yT>%KO7U`j_2k&h@Uf=;6=PZx5u5P|JxXXB53!JnhA$NxZ{un( zGa}@OmDF@f^t8#JBv@P zBZsEo9WOpb*ZR zn?*_?(O${72(3HihTr}C^v$`qDW=|>+hX&;tH2Y>?u#)E1~HJxwMCCGMxS!v4xF6d$BPV3yik}>q$NLJa)ru-Z8|3L9ooYFPwq5Oj~l4{X+`s zW}jfz4c-v_nZ|f zQT6j~MFR$QT(j;|GRdC-(VYA%8LXwRr^?Y@)M^0rDJCC!RPKEKjdE@F>@WLADOJ2n zlm%52$gpV9{yt3ar)(WY`0vGpECoG@$XCxkVm~YTlWCjkv^JrU zMH|oq8M$etC8Yrt{jgSjN&qMKb!nDmWVds3a)QwYPA08)96&jT} z|8yqq5uQE53-*iq9asZr@5iiudrcOS`C0_HyC>(;BFvK^oY#2*cqnTyA%Al^eA{sv zaa%1AvZLFH%$D3+;IxT2unqmC~YohbTU@9;o$TmfPU zUxONHIvO_cF{@gY?o`>?+JK5o%vogKM^+zbmko$*7JZpmEvIcwg($@d zNtOi0IGD9f0m2c5NR`8!RIO@EH`Z;go{pzu%Uhour=6@KxYFX*V^K5sJ!);Q6mc0` z3kNOr2no)4>~jYZvuML38}2%^2#wwB}58^+70!r3t!5k#L9RL%u^`v;!`u9Vf0mC z+_xYvDj=Ao;I8IwuZH{^^q z#3R(H90dFxZ8RRy4aBoddq4#@ruUbaOSX^KmKN)QepN@bI3<2)K3%5r%3w7DW=BX# zChV>4Opf5Y1i*A-(r3E(4-Qo^!4QIF{1zhy3A*YE;=+gF5Muff4 z6=l3eV&fA5q#zQECgqojzlgg2EPptKyO6rW<=kR*y#xU79yj<9(f9lB4)-PhVnT>Q8yjI!qQD@}Av7oVg z9XD`90M}W#ZEt{n=03KxA;8b|+98eTcPzb&%rNoRLh<&BR;^We3g~cc{1yA=>nUzl zo@U(0(#{gBxnrFI^5GXZLq(LkOOCKKlN|PkY^cC2$+&FJm&DtI8%th>4a&B*JT8&K zzSk?nj6y3SWqG*Akb-@hGnP9VEweWVFiOxl9--E_Vqmi6@wriyA<{+v0HQGpg@Z}F zP0_&#p1Y9XaWDnUdoz&+!I!<(**Z&#E4bL1P7whISnnE6Ggq?G;4p)K4f>2(#mrP~ z3_kGmRc@gh7sO=%!kNt(-o{zGgYLRY?iNapGgOUs%USCJ^M1(h?5VM^UCt5O24_6j z)7*`iZdqDqaA<=B6Yz$Y%dV$QGjTRSE~CV`lxHl!Lng1OizMgPNE~1;J>l{KSDmxiZP!h{jtcUoxz181~{6tE@JK zib1X8jqU=L&>wRr1XZNT4ps zlcZ=Gfe2!V8g|AQ-4Y`cNWyq&A(neugQU_ejyx4ccGgoz$uGW2pOFLDU< z(s^?Vmp!;<&f^w@Sep(Tn1|Gj0JTrCYfqSx`8-C3Z4?~5*=!doq`X!;%m>2GLtlUKOKp~2b=O&Su)_>6!wfL*Z-Nyu z7sJsh=_%2)uob|Q{<%Yyff+y=|FswHB_9#W%C#S%(C@c));%f=4E@G`tFQvx1QZY zI0|U57>S1FVld0$j{wBMWp5OAtLKc!NV`3$UP5;+4)~0sj1wWg73*n{HfHYYFiTn~ zxP&k708VL`7faiD6L(h<5@Ex)FCPQ@kY;9)+=m1|fkA{YJwoF=29agG_jZ(?A|0A-={T zhZw64UCZcBLUJZ_n_X2e%rl{&+X{gDSYGf6ApMz8Z9dD20f1~n!zi12M^L3Y8$z zO4@YM9n8u&mbR9m9fyfoiEK_M5wVEdiI<60;%>o6(VUA)7aHaef>pzyI>}|&u(;OR z!_08hep-*TPZ{GpXN>WlGsbw$`$oN``buqX{6lspgz=V#E;ykOyIF~wT}!sCZ~=hb zm>kKh!hu{Rxt=g_lg3d+ky$vYNo)co9xdcIjfH{ovYOWxtl>S5Q(hF)vd)0Bf~LuY zdig=W`b}!4BgK6PBCyeo)Gsbw&8RI->gz=s;!f_h|-ORLq)jTJRxgr9z z=59;R`dsD@O9$bVb5=Vu3m@|k%yu$0xV5~onL^M;3ffkUxKlzooZF#t3|WdgmrN$e z;S}ybfTSqIH|;RnN!mg?W>W1G=CH=oe6&E=HS{Jpk?0&V&fa?ET}Xj&^#NFq@=7mA z8(H@Z!lb@+W_{Li;_li}^By~BRLi9`uHl8u$0jRw7WQ9q(7J*C9fu=^TTxzNJDk8H zJmPiCFjYF%PfhYtQJCz~*RZZ3nsDtbxz>6ppz~}yz!_(j>Dn5beF;KLL?j?+kpsM} zZ6KFbz`zwy2nZ~t^0iUQ3Y|%|SV0p~j!_*GW*gJkgbE`_=o&k)F{R@dAC{2qo)f}7 zknNrj?2Zm61xzE4jgWj#8Hc%^%n;*K#vPFCo)f}&PYK~XCxq~x6T)~*8@N1i_KRTL zuLdLAD#dRMCdctH_7M%UJ5X<3qLUf6ThIKPHbD)cgky{$^_BOWM0Yl2bp=7VXk$W+ zYgMT22DCShl^%``gK}Wa+8Y`;S-)?H4)WDjcQG=H>ri->COE$_Xcjo}82hK9jgN8; z;@hh_uX%We7J2@Xp}$ezXtbT?=z78#%d@3pJVkf<5U(qwFD+7?Ua7XI?*3-Y9@tNE zZz+M`ca_TrgD!Tc7y&HhE>J{uS9~JQWdq+rv)-k#Hs(Dh8^xr;W^GG3na4viw3Pua zNUj@9NkH7d%&iQP*l0FOWkxLpEK2k;gqc8MZ6Pc(qrVuwD`Avvb=^5gBf{2+c403W z%To^9#_4gOT3}x=0*EMdAR>N+ahrqf;ok3%hh#e;**s^2@SZx?jIT-K9@*h5E#G24 zGN!f)ojYTti*r}kH%UQNwCtGA5ru}A{h_HzQo->aQHi8#<<_P3iBMuupoBDWv=LM( zR%fFmFpdyZ>yDcmo6{uw;36eb(&ioJ{KnA2=y!y%(Anw8zfHHDd;N`*p+4b8CAenq zxp?=86jj*0d&&d3d(^YEOoV%D!0j=Q6$0X!YcbkwF4=G<6M1$C;e&5s2>wpTl&T zEJ{Y-C|mX+YQIrV$x?yd;n@zzc261M4$0v>Cxq~x6T&@{!d2YI*ne!@<`cL2r2$jM z5u2{l=h*m$H7V*N%oCuzFt={%B}TIo7eQKGbCU$DO3k#8i$g{eWEh4N(l!*pLuim` zbikAh&m7^Z#BCf~OIt5yR-Rl1+zrq>tiYTCtN1`nOXk9+M2;2!4`_XC?kRG2q_i8M zPZKU16O96%x2(CHq09gR#kQ3MkA49Y)bg z{{ZOi3>78&jNk1uSCa^S<`)`7R8dZ2$vDlaw=qJdQDw*|SdOYX4auF$rfklO9wPMq z4uBdMMRXLW(gn7r0t6a`WhL?7g*;=~9?8FG_D>nK#BH)+Er5HPW0 z`%3=+a{i#(+rxjTEVsg%zvsmDPE5OgDoSWVegD3tT1bXpx? zxN0#n*D~mvtD|3GEA63hPp0$EY>Wxv^q{pe@I8uF58V+JL@iC#XA_xkT0SzJ1CFyMWnH|n)EhGDJa?3jW+HM6pXRDQ2y|*~ zLv#>E9`W=tUwG!&=93r4KkiiN3<3}b2djB<s|A*4mu ztQ8Du7c$v!iVR}97e(=@;}d&8=>yU|uotxPg1c{-!E<~^vKH&vTUs`TTRgdAHkZ`I zq!@cu_}C9Uc%Ry+d`}2r_()z84A#DE`H~&FYoYC)61^f|mbeVEpJjd>pJ_t!wC%I) z4`d{Fj*yGXV`i?ewaUAY@)HDn30sf&!G2~9<}9V!6-iTO0_8}h!VrWY!iprULiD>a z66M-2S9Gm$(uG3fwWPf%b4#9Apvy0UsX{xJ$=fbjW|un!^N|zrDBQTtCvta`3A5!W zB@3L@z_jw9ueCYNc!Dfi*|%!;n=#93B`wL;bCP}eV%_#cMABn7n2>iYs1BT2FKS%p zox{Y;G2t7s*RosuI&N57m%TcP@)0l7`z~*1*k6)iMdwS=v-(WHg6#ZEqiXMETU##O zQp-0mN}ye|svjh&TeL+G=eFSXio1%;;KDFw+}WFR3~EK75pEXe2vPuLft=3dY0SaA zqov+1CEOWYBg{y?BHU$Afx=lOMa;iM@tuf0CLB!l3X6D)EK3@+M-5ln30X)N0==Rk z+#xWp#16;rVgkGwlxEH9!}}&98)*uMZjpiMDJv^06A=-9BIyWwzsBxmYQ0BbOy?nX z6h!odAS8>Sig$UJFO=nRHU>kjKI0TuHFZB^V6&95qWT(*gwH~DoMm;LJX$SwnKp%c zKL6%BR0vJi0F^6v?-=hAUc$Q! zzU$&GWt97Eeo!bn6TeK$KePHDoA^$igt`9W68``uQ;K*}WKz!fPCH6#GBYe=%y=Ny zV#~SF4zi~)9cPsCnez_)4RCVFgr)5JjqL$>(*mw$`-2D8sv(%IZ!EQWS|FT! zL^ekI1m9`DK3e7!N(ljM?JGm5e|^M9V9K`p%evhatz#tH&}gzJKAEo2)(K;6-5t%v zEE_+0+BbHt&z?d1TiYyZ;m0;VLF8*OnJS4$@?v@&q zM-nrDMHtizFc%)tL-7+8_Yhn*A|tXwZ_ZnA;MnSCsW&=V0t~~5%_kD6Mva`nSRFKI zN{!`Q%&um6h56FqqjNzvaTWw&XL)_M)Yu7Wh%Mq@+eVDcMqI^A<2qrD6hJU6tE5j8 zwWMw#p(c6o2$8`v&Q>%y#NRx6uf)KhFFM}PB5PoL{SnOZ)6gNQtE;dEcz#Hy*!q*q zGY^ViE3w$nJ=50bcl||q5%K-wXEx}UE#Ks+edn@f?oI4dfp7#^MVYvngb8AG5U()5 zGtOFG;I#|5;Ij0(fTkk@jg#64&6P49(Q%++bC>kAKQTVi!fc;m_%L6Wynmz$AZS6KK`T}| zw8eM~u+~}6=`$?aTio7$5t&&z?mtKtg5Ik+^31qnSab8Vgq=5<#CY6Xdq*Gww3|K@_CP9-qOUH@tdo| zuf|qAkWU4B2yXWg@2eBe&SKuyGsRO6El=(W;+sw2jLQy#svs1&04o@yhPA681}#Xt zFa<){1Rp6tJ)>T;)1}id9fdd7h4ai3wmHqt(C`zboDwh-;sp-O#4>f8; z-d+)I5d6)tR3OqAPUOoesuHAa4cY@`N-k5uMsM*3{&WUs5iJh#x*Ok5i0?Dk+?byx zUz>&b=Rk&92pXEY1^LX>{!uA$Z^YN&u=j+#b36Uj9?xbML)ti&iGp33 z`y&Up>7D9gs|>mpNLUz(?J^Sf!+Aw%m1tZ$!VN_#QsNM8hr~AKF6Ll*b!Y8r7^Cbn zDMEsabi?+D6mE|87$BKLz{OObnU`>OtAf}=A2E8fUu0~}o5ZGNEn$Ui<}jg{8Mp}HmK67xONQX98l2YzC#`X^>MtUW#IRz>qS!IxIrxp! z`fd_heYD*+CygN2GA z1icGdmW(QG$D>!Q8ZKNQf=M9mfz|`gkDR`stOGv@S&Rl9^g36-ovugBOVk&zMOSoZ zHEMiBbFGV?KhkGoZ@(6nTSXtcY0{-i5Y*L=NV1kE-c6rqA7}0DDu9PCNF~S%tBdg# zfBPfSe)l_%l2tfjLvNFBecy>iWAsBOGUVMj#7a{#w(_*U6+;EuHl7UwQiw%l?nKUG ztS0z~3tA1?LMU&Zx9CH>-QG7xw)wJ`qJTF_0TMMo)`(LQ#PPk#@XT)$F>dcdG<(tY zPD6QzR9xSnyS5<63%>0Ua=<_~=_(x~P@k$j_hcaMo)Y&-J1K$0IA(Cz7?e8OJK}>h(15y@@q0|Gh3rZWeV1JgsHs#Pkb!IZ#i5Bi-Y_m>Jox^+*SbdKrV z(=^p{HiP8I&apV@pu`L_x2Vddf_xOne6YE`phbT2rNfQVzY^xd^0DQgl(z^tqu*=C5D$2~WN%(bb}zHjblrE>PxI%-qaI^p4=Pc~?L(#p^L} zy+ivDt{Y%O=P}mrh|QMcu`bJ*U6?#=0JAo7Sp&Km#b?Jex0Pi-65fHl!+U;0mAIPT z6R5-7G{Kn;i`x;5zziAX(SSeT%&qbmUFBG&C!|O?Ecr}DS-^1xV*R&-vB`0f=PZ+` z=>&^S;=ajmn28xnFc+c~8$DrXTy8irx0GyL+z*r9D8XA_GJz86KXzM^!(X30*e`#) zO~=ICKQNf!#yh+H$CtS;x-xSg3W6%{i1&@JicbY@5A_cV_SfJt)0C0(xVIz2KTDa% z4iD~seEz(kI}e#-E6`>+gEu_EBIYt^9{JE>N_S120-h0$)TVaf8eAna1RbEu?=BH# z=SBSLT3HPi=3t5Tkqw5Uz5Ga@_l6lDWNmgT1Hr&1?X+7c9Zh^0KeX4~y=EbGMOq(aczXO8=mUOwj2 zIN?;y;q$=Y#8;i(COMeMQv^c3 z{{V9ZN@DJ0hQWi(YiL5%`J?sHUASLalDgrTWuE{=g%)6s0p3tyxMARxcnf%!k7@9e zgMidpsr6+m$9YVI)%Nz~EJdMp-IcqtF)2eN{JI*sY=Wp842ggWHa_BVnyC4%XM?K0 zfyBSIf7pp^sce5BW8M}pyUO^@ed30EF<#~Qh5L9x>v~u@KVm5x^ zU3}THamoJxCnUXx`hu8(zbSam6LJH*y6-bx#Ro(f#-qD}BNo)ig3JYm=xU~3V*8i5ZIA9!jW;3T@Q-*d zD6Wha()nQNnX_t?j_n7 ze+W8314)>lC3K!c8p?N!*)H3VQ zw zl9YiVN1N)M$l?+R-QDGGOGe1u@y&Oa@TfX`0_}3$Zb#-Uz0tBA+i5p>rw`0dRb#6e z$jUHxlz{I7P$2u46y>`2gcvH~rd6g!(>=|i8<#IBj7cp5u2N;r_`&XS^g7B03s~B^ z5N?`QF0QwgLl(gg8a%RmG4nXv(16%}LDuGNui{i5#uCm)4(E6yVD>R+5GCT}GmsC+ zhI5o$B=PSS=2uj*(0tCW@Jch?;&p5zj!_llxrdpsCi)&%cqv~jMl*07FF$ERaAn2u z@lb{#M)UIsaiuqw!g%;LU`q>Pwm2WTawIJP7kQ0qfyvB+!yM%=n6YGasn5jXUR!@6 zBe9%!#G<8P3H!rUDVFzyuyyGv5MrkjZc2br(jrv?`)nBx_72ucqZ(N>Oh%9ba+(8E z7aC%TX_n2^IxF;&<;Ozx4M0s3c(c5*@uQeNS%GX2H~5^p6A5jMR(m=E;q-p#`k<_Q zP9SK?l`2-0UXCM~ye#&|_qJSSdy5C<3?x{RD`(#MPjIrK1%u=M5i)AAuz^-B~lI9fLPRgiIqXc4GdrJok(MZQm2K|uB z0V*W!%jG=GAtG$f2%rRUfp?z^!yAKL>_fc3{4QtO+_8py8OPfsE*iN$qqNu_6QG1L zy@*-f4<=ZR@D}=sy2$r}<8~;r$I7MhEjcagh>e|!Rm7~~c4~XehN~%@8|-f}6Bq58 zr^zvdHQCnJ4LETtcEIi)q4tD0ViQ#qmgK}^nTc$}ysFo<+<~_q)i zH$$$QR3Ee$FlC)|75PZYphKNJPx*8*>D1r0KeX^FyyAWtxMRUr!yO4({u7{CL)8o( z^2FFad$NL1Pd0w*j0(+ojYU+5@-#Q`DK;k+6*C!>JMk6h#}4H>e|9BXp%@C>Nr|)u z4iva(WX!x=rI?QJo+9?*C1tRAT}S+wt(lBy*~fQa?p5ILHcYB5b38}1i_8zI4X*F9 z{t)VxiafvyJw_0&csn?NO-jto^ky7t#obMVK#xIcX2mV#dl87W7CPz}a2GgNRhM|~ zoJ1ozE{*a z+?A846WXF=w|*d^g6|a!RQyU(pgZmN6Le7JXrAfT*lit-L(}C35&+muZ=Sokb1J|w zZW3$?@i5QaoTbQ{&gqwV;vwMUh#l_b?%3sEutaaVHV)zX5|A}9#bFoiB$54bGX;_3 z?@g=^ylt`GZCTFp)Pe)V7Zd1<^Dd1FMECqc8@~Sl-V6dR7l&I_xSPyOziL!j&BQ0% zg(ha{zu^pvzF%RN-dyY!e_8$*BO9?Q{@kf2Xu#rfcE<+LpiQx&$3~ToWgI1ZlBaM1wE-Mp|<5xy3L!eUha=O zf_R2+<5}LqU)u2zv*JCwgU<61+b{+mV}poW$oGI$Z7(~h2H<^E<9Bz>;{{Xh(j5iI~8$Lef@VC9?JkG0dua9}ZhpbrqNCgD$n`JD3 zI4Ty?0G3_Qx1 zgsI^MTcuOzG(5v3_tBPw#gpujPK4Q~?FaXwv2h2sN9|B%=QqFmXiAj@1h)n7#5K$} zUbQoNo9=HkWBm2Zb3{ei zl734Ses^|;R|>z}%ZWf#Md(9^AoqX(?*vUkh?M% z4ds)dIKeVlm>ZL`M)q>_ogZFIvz95+GvI5ZRj5ff2%Dy56HPSNmc6lNS z3+j}F4UY3A4>LP!*r9TCzfN8DYbEIOIy!V&1r&D(T@)G0hS==MmQ}TxGJ6z4p7A_O^LU5P~$L@GS z1bEfB?F5^3FeDAm+(GQ6)KwYzQ;db&4DRMBO8hDy*$S+sBpW!_{<+6v6A~xpdvxst zfhnM4SGl|;s1A@FAO_OzR9iBayj!E)DF~wxpc~K(Ty!#n26$-LgxKLXqm=Uv{6n{F z%C>nehAFMTGl51pFiw!s+d-EvO0^kyzVehh*j@ebM(n;-g5Fy-nRv~lLqZ?u3#-*fA{-?b1ne>vl5R5AEOe5v|`II)WdjalOEb2rk2+@f8tmUh=BVR2ohp+UKV*kh;OUo9|*? z^0!PId+jrPyBmpwm;V5nv|wMwb@tTBCwGNT9{>*1c35&8>I3Qm6V{p^ZDRRvq$Z)5K&I+d;R zCQ$2QH*-|QyMiSOjI@Sq5u5;ZX44usW?QMVo#qN*zL6a0je?DbSk_EuoxcV4>xgIv zv2OXJE7o5ykA0>Nqc9fi-YKn%IJf;kWF~q>&uN*w6)977R`F8{e*|4s^8)a=)i@?n z5RkD^XNwW+SGN!^bXkVBULvSvED?4)uSW0X>)}7sEY$6TGp`It=S-QzGTV zF&8|c(!uqGw`X=Z%EV1Kge{|V9M72}-PU*D-ZjT!a9JNUZ&oyN>~k;EfVt3O>||Cs z&LzXP3zT3Io7(Y6J(L0)g|+z;qnnuObC+oR*OL4M6)!*aXAz_HHjzKmq3_T#;LFhn z$J4~V>DHni?=zt+`qMAF8CYG_TaU0lWrK6x;#bV%7w$gNp&!EsIzGDp0CM8u9ODyy z*9Ad~43v$G5~pd1CKp)kLH_`#g5#_pwr>ndh^++TFmozz6FD!v_Z?hKw-&DV;Fh*% zmtHPmh9SU{nghs3ndHA+Oj>r3HXQx3s8%~h;_lp>eK z{Y)4cjh{@w!;JRLqrI9}Y(R$p04VtwZQY=j9if)C>jL@$ZgzT|qg^vLYyd%D9I*qpQ$>q$E8* zlsHGty7&VD8yQ_qugGR>9A>AK-1dLustZ|w(JVv1&90olY9X`* z6*`cp@`Mc#v$9>Q22C6`V+u?QT@ zO~9%T&svDTlUafTyA`u843*z({>w5iy;mEZwnZ-T*S1b0S<0$)$B4=b)UrBu6#oEA zkD{0wcr&uM_JvxA6Os>6#UOP%oJL&L^YxfvH?z(i(%|S=v4|Ib#eU%{3lB@&-^D>k zK`yQ71vDu6sQ5^32WHRP`irO^bNhwx9!&gCYr>`r>Cyh98NnT#x*H8YVAsS@@g2ZZ+jfj} zDR~v)vN<0}Sj{G-a5E~Dcd2&JaO371m%HZc-gi86uX&9+=Oc7@IdXDgVHun|sIt1H zR9kWABmG3~*=psPf;+e#^ZU58$L_Zy+`;QC1ij(NE13O=18V^7a6l$Y3ofArXA1nc z-YMaXUEWx5B5I!9w--oZh~m=thszjcvAIFa4T29#uFG?0k>fIjCfHz|oR#v$Lvfco z{{Xp(B@o>Yy6+P^Y~uEOO9Y0?>}qUW6JhDR7LQVJkY-vw7>nkY&c72Y7_Fs8Vh)?? zXNJ?9TQ1n%R%Q@6+q#7Ppq{e-0IHc_J8VQ|131*!<(}d*5!bkOH-`^s)t5dutFyV< zb|A*no|>n5X$-`QnVm!tnI0AuGl9zmv=_uoOH3ooXFiwA`JtFnw_W1)YFnLK99Tc)zt^&gk(WkJ}DW%^|aR6+wM z6-)mBShEQe39Xl?6J-=ZuBEUT@++3lm z2P@JNI;1T8D2cfp^<;R7Ee13|Rj40kZ? zEeWIHH(-aczwFF*6wlw2_&uee#xK0Ucx!v`!Z_H6nwO24zA`Lwz-{|VQwwim+zuXg zhx7z57v&2PUCVLk%JtU)yf*UWvHt*aar8F5=33QQ-VKH+$lbQ}Td^S7$mYN{LSBcoo6jlbrRDZcQRa_-n3V1# zXMb^WL0JL|j0RPD6WuBt{fCN)MY!MUW26=_wgYaKAC!New4Ki6vNGQb-rTbi!mrG7 z)Gq890lv?XW!uD}BA~mCcqQnPagxc#kyh1=bOkra^v$vq$&7g5s#d4k0zPTV5 z*i0~QFS!8L4?o;LCP3pC;7S-GmljdFqVX^>f*3C2kx5e!#x3(R`@=CAaSt!y4Cq)W z9L#&9%M?b|?z{$9q#HEo+UuR#ItcTQcZ}|-PU<+BTcmcI!A=uq4Clun!RLIGwr+o@ zSJ!#iGQMJv3!YU4_&hLRb$h;9FonbDsYO|bvaT3v3h%S~A-atLij@jFH9!gOO!_P0 z8KJ=qDwr6n9v_suwm?8S_ku6N-=$7&Eg5cp022!}nwvI5q%*2JAKu&!f+~ZV`C%`d z_L$;II-QQiiA4NpN=SpSRSj14TMS3)`4yQ>3;M*>!R& z?G>d);~x2r%_h6WzU7crQ2+x(=OW_{X2r0F7=3~$Hnv>4HjBnC^3OFtXsd=}8V8B; zIXXJZA;US^;!r`d+=R7XG<8tHvC)4rt@tl%jw__8c0Hodk!0~-xh!t3@bUC7vc-xY z5~@Z#lI^B0(<#zWP2{oFFukt42(#8^8FTWNY1I#ZdA8BhWU*bXnADz0ViOMXe%riG z=804X1VkcQN*F|`S289^l$h#dOz1r(5H6u|OE8uPc#)f(=*OYWfM1oHd$Q%X4oS16xy8CO#oMksj^w1|M;Je`KkY8@?tu10vbN zj)S}wwJrb{T4q%vL2KcagVrn=w@$qqZ@0WMfEQr1QFfnTf#|8oTWaSV&9N{Cc>okh z6sG~-pU+qYDMPrn5W=7gs|p#q*~Qg0jNGwgwMIPUD9u(FGTk|Oh7`H{WW1g>-G25w zLuC6U@rDXHJ&+pB$GknJM5Pes=6Q@`3bDk*F*=MZbcPypDF)_dqD%u&bpg2ID6w($ zp;D0wEnGVA+u<3XU;u-)7Yo?lGNQ#-mTYObbJ|`motEAhUgj1)12WrCU6kHc1)b_# zfueCrUuJxe{4zs~4<=?{KSeKb+?Ylf$oonMPS0{xVp)zt3lpI9OIxwE@GlI?&i0&S z@V$9}K!tJ zKE*CbN4$msLmaqEuSbgSK{0P=&r z&&w5`g5R6?!)9JRAt9(E!g6b1N3X&F9JwgN2#dmgT4{m18Xbn z%t?uZCWqwfFlIT$uk|i{g!}CeEb`ofVQYz3m(K8z$i7z!`+_TsV=AW*!(1^qBaCw5 zIG2c{EJ)gf!M7!9LLF^30$u@qzjVIWra7r@^@q}@?jzZco+drwie0U?ezF z1(&4D062iP5I4{y9%{lsPSrAh&$VyHoOF#uCIm|zGI@Uiw2D-2!c?fIDP z&;2j&wuga?V@Ef3W+4E)4hLk8 zC)m7vFj7<;6k~dqC5zazrmva1APjUz#N1q?-+_;;*inus_vme@TN0fGfQn?r_GQj5 zysA5o7VIF$G{=)M{{VbLQ+xMx9dAYEWloTOtV-NYpB3CYH|R4eh|Y$c}k$2)&b>Z?k)Sc ziC-54!$wd9P?V|MmN15)US%dicl(R5H}c}j7} z+QrhirKAG^{E7K6nxyw?I21c)nuqZc`Z3NjKEflR@dTgJHA}iG-qReioDj}aAD{Y4 z20e*J`b5CHv{>wasG3xHt{!cY3MFH9UX81XG^{3+S&i zk%*1AH(+jKyhF1a#Z=w-ml1`y#gJ#fBZrNljk2Nkjh~#m%0}ylivp*MtALA2O7CC~ z%vp+VlRalWOrX$k&k@#N5NKjn2oH4Nzjz6lCwTHp2v_4~7wQeWlMeQ*{!8flL1M-I zU_F?g^Lk!)>o=6DK>^7K0kTAmz4zx3KykVdnNw#->r@lCSIGV+z=wZtw^Yl;BXE4b z6LCBKQB^&zqJ4}oUh>2#1>Bfo%%%sUO!s$eMYH8Ep77~SeJyBp+839X&!WdUbmXN2YdtBDQ_S$+le$@rL1GLS2GgW z&R0O}!@ltca17U(W3DI}u&7r+wmdU&x(;7Ih7l(e6;rOz@fKCS05r_Zms@jH_US|TtkVSaxZA23L}M`it@6%x=NTgo0oS+2V=a$ zaBQY`?#iP>5PvDK^bE0o-@ooroU-Cn49?{c9+v*)%z@2I->le`0t@SL0B1sW5FVE> z{{ZAHtFVVGt5>+(d$3XFWj9oIfMcWBm>zUdDabe`UdSExi}mJnAd;su$|gk2CgyP# z-Bh*1X%kr142UddH_UdW)LGE$a`pQ(ZRb97X5r)Od5TZPsD6+uP&`R&=DN6wC4U7W zM+$jCt=eyDPtsz(-W0lc($T)-!{ObByPUQDMb3`LN423cgGT3{|j$6G4?5S+prXJl1yiUu=vf|jLz zZC3rEwI?$=>T7)6Is|$f)al#8mD<-PDfQaIl1-=#${f7CU~W=V8gFc(-$+44UwOGa ziHVdqMZsgfR29l&lM)O9pbiOdx-~H=US(TByW^zyNwloOrp%$Lfs9NpK-5V7x*H*r zBMP306)anKfi1X6A-piJiv7pB@Xf?M2<`elbL%kxd<@+>nQ>0@XuNl^8GJj&U>FYx z5|t#cogcq$A!uvAuKh=dTFemN*K^$T0}<hJ<^7%TL9k>U*aj_nOS9SAW?A#0b*ZTae6a10mcCy zvvCzB4BU~t2K5Q*Zj~S=L2QTF@;G8+wsUY@vD@_^n~MPg7b(PWC3NN`u48GBw8&~D z;ZNQ!MU?qI(A>c6^5Zc{mmK(g;vC!MNI+iL%q0}XpnS}N0dC?;=?w+Ti0}qMQk|0J z9LEu;gAOD2Ep%_>BQqFXbG))$>Rni2u;N{;E#{Wg*f%RyYs|Z$Q)>B@;e)qs)9o)4 zc9XISgD;EUA^kzIup_aT-Vp@*rfi^dOMnyz%xh?FzvnSErs+l*IWXjo>CA|bo0dOOTuT9GyTPmxW7}0C$ zGM<)nTI~#b#x!$FQ=yhrIt_!*#ZKWYMP-AD%3s|70NOfsL{K;!0_aP}4b~_JJ2uYf zwpg@wHs9ht=Kb6NTXmJy<(QJuMjlWZM!x6|^-tJ1P#MpoDD4|G`^fBB8ZyQ8`ax|j2fIZC z;_6Y9J>_?qsld@-ne6gS(vn09d60D>K;OjlgAigLY%K8~*?n+YtZ?6!uMu=f}(q@3ob|!Zz4l#Jha^ zluDbQcoI7D?H2n8#LpweekET=LhXLx1UD(|C^HBu8K!RpZj;g@DVP;8P3f5y40fEO zr7sfZk32;1v!uK>PSqr)@oT1Ei94ibOYw6Dk9`wWZbx$%WX~|c-pmU_5GlWd zF&o+Tof+`^&ZuO4qtq@;vlHc(#W_>&T$o<(@+xD5=wrg>BYmX6{A+mM-02@27 zk&#m7k_c|k$C-At9*{ZaSZFNXT*N$#-H=T1;1|eh*cCU2CKv%Dsyk| zt4o0uT4OWwIxa{j+>|3TOxzrE8F@is_A%lCu)M&cY+@;y7cuTt1`4%o%60z$u?Yg5eY6G3E#_6+0UtS?`O`qicZtek9LlC4 z*8c!{XIbU&TzN4tUn35D+}=*KJ72;zIhU3g610c9!#f}=>=T2RK!3HZB>$qHTa}04W%MI=@pl3Tb<-B=0 z-mNM4nbD4~7K7fR6zHeSrAoIzLpt13*VzV8=vJdbBJ6>pHSQi~Qs@&0gz;8Af+o&* zl(bCRtFhoWcss%=k#yG&AGl!dM!T@+-UYSs1rSQDRL{kb!2N@(0Ej5Kn*}C+wC#IC zSJ$Mmj+t4QVK_;U!>E{q3?#y$>+K33S&+lK7Iah)SOv=yekcod-)I0d;-yXm;C)LWOo2&K@tA zOD$@>`8R+Rwv~(uF~%a;t$7wblp^${4<2qCUS4?vZKCq9SvEuxUb!3#e7Wzh5~+1g zf>Mxqupa}O&deLOBZ7weKfOhjI`mf}J4ZU<7{F1!hBm>BLNU9utAJb01+f>M&NRrc zc24ZS5C$!wN+)|bZbYAA`P?5`*;~A+iuD%5KMvd|XSB<6Wg~rjQ*G+wRm0fS*#j+D z5OMD1dN=Hsz#7zS+|x!=93t>}gEtYRNT7V;T-%I?b#E>waKOEiy~YX%*zA(X)vSBK zR%beoVGx1d;&})xg?=<|#7gHeQcDnBCSJq=hdD8ZR~RChULq*z1j2dZZ8EVMyKQp~ zhkuHe{sbnlR_LR%Etdpx#l48|&F92W@o{I@bG<0xCA)mNhNN*fs;XS9Spl^DF_iKMeht$%&R+MxoYImhdYx zJ*Dv47AMV2#tUo@+#Hsp=$2pJIb5k;7aN&w7+*0dWia&OI+d`@2>{{hm6&lTqi7tP zVcs}>$kbKu0qyof%NDBc&B@U&P1yb#M6B@_UP@eF6rRe*d(rObW! z`(f`hVWsNg8fH}DGQn{e8?@sWeJeE!5hhf4aFjzYOLJm#dBS2IP!7;zR<6CKHhG9e zIay_F9b3;IMrQ;_g98FJxiAus&6EVqk+X7%k)#G~?T{?lr0m45@Z?7V^RqWdg>eZW znW`+~gYPq$>1Ac|RByf|lZBB-3DMGTGMd;6`$qkMGT-l}wV6Y8k^aw#o(uGJnHV(M zTq(eaD{@%^_hq;z2Ya%|;U>#R9MZeCz(JBIx+omPm!KDF8>G5hHHJV7grpG`5dc?K ziVzsuF64kIDunF&r$v?7O_bl)(!JQO#6TI?Iv}tB6a#`I1P-zjED34`Xo-7oihCWp z0^ExRASZgs%j14Rmhy>My0GZI?0A_fHcvxQQ*Fbkgkp-lQ_u86Jks;PO3biQQ=@vpON?|ud2fq=v$vek86y0!flaA%EGsW z%R$Q<00~N}rY)`n!d!Bj#O^Yxf4J#Cr3>Z(b|~nTn4Z%FyDsVq>9$x)2Tdd!)-xE_ z&N%*H@v^sS{>E;SUF#s=1qNemv2b1H9IRZ}_KVus_nd8^&ob5GWo9~C7w$uMZ|aTN zS9sfYK`Hg#(?iq=?76{^13-3ZTQ?fRC z69}+#2`RnN9rvHvebacE=`E zL-+Icm)3t^1t-fq6p~b(ZNS^c(A?`gz&it!V6PbM)%`jl}li<<3n5(*zGdS zkylBBvgDzv))9j6%|!*;z27X1EM5k2itS=)6v!4AZ}P0VI8>@j8CZj=RIqU2bMCUd zr--TcNQzg0!z6cY_n1>`TLt3ijg)&OpxGSE>Lb%fxF{P4tjar=Sh~Ch?`gCp+?&hG z@KMC3EIEc*T;5}5-qCn%+FD!Jc)0TeN_$1ZFbP9$UY%pXvXU!+Mjr9tZg7OW!w@|s z;+(_Dn1>cBeySjOndsz9FwjB+pd9DcHRUKGbCt^B` zZ^}9*8CYG4Gk(Mt^7o34J~T?197`r(`IlnYy!f3O$S8JdElAdm5&EIc8cxxxY*ngG z(uU?#lch%N3cZst0fhemEhbS}@2OP^-%>2olo$p}1jy78V!q3{#woBnC6z5z0PSHZ zR@tOUOEC?bz3$SYt-kt@g7~%^8_s8PJKA`3*2*P;aad|(=3E#-zOlar?G>EtN(s*z zQ!OIt{gMxgz;QyP{{U#V+{`T9VhTmLl!cYJ#TU1iD>wGggAw75lFGi~7LX`!yvS~m z?ZPq3I23SVFh_9tA-Uj3ams9H$YZ?wKU8h`nEDIcAF7CI4mG>xeQN*cn5; zE9kK#-?3U34W`P1r-wu)N90PCj!@m&8icC?Ch)cHe_3oCZzv`7nU2!Ia}=!)ZRW<9 z`z!;VMr@DB!$m;dn70{Ch~b0_%?WPREXlFs^7+M1GC{8K=tJs24mwLGXD|cuzlbPk z-Mp*SXF?XSaZyfV%-tQmBK?H&?`@YAK8$Z1Lx}5{!w`mGsLB)GR_zJ8h_oKn1Sw}o z1c^Y#+6?qHX*P)Nb1CeOJ6sFu5%`sYlF`xp`GG4P)6a4typI+pKMFP)zXYoXt(k#> zmt?XTV*s-^xNT#F{{Xp-zQBHxs9}UBr!&$n<_)u%h3f=cR=`=@#IfxD69jrsxiW5d zJS%cJrFhwUpjZ>87>0wsRRfqNN4#)GaG!~HpZ0u4Tr=oMXM(9%+IQf<%b9Yn^U4HG z;5A;NvoV&pl0C_P@k3!-S8$@6I5oJ*S~jvHM#c$r3QFXw4u_;6Hpm${cEGW1)k>=d zf2ipz+M8b0`C$U^bMKNly`_A zncOmn&SC1r60H8L;+bgCAF9*E&=Rx4?-d8tmStmP3xZE?- zFE(*%K9@5UuqpDOEHYb*t??2S!M@@K--hyxRk$fWW^A8BF+0POu3XrBU{5pf8U5n5 zCj?2^b|NMDL^mZ{mhl1wJFX7E7NmvR6@+DBur**DG}$7;WiuJr_^o(5v$OmQAZDf2| z--9p{rDP#6_s~NwTa2x<-h6UhkZl5V8iicuA8Ca7lH5U>ROU-X+pFF-Nb?eG(A{MW6Lvd2 zzbW8>L##>?+Df84zk^F^chM2dznSNx&hM1lv@ZB}{^6B@(f;ONBgcP|V9t1LHK&H%BB8=%RF6Br^06I5 zM?$>yj_x>$iRem)D`Teb%}1IG{=`z$6d+ehaT%{R+MXZmj1Rs6zhU_KA@rd*G<9!o zUeTL{KHnXtLhLW^reaI+BXX|Y zp)9~X`1g-_*-GhYHf(WS2Z?C*@fTp)QFJ2h;H#JL)gYHUI;zS+&v;;i86cM@Shani zgL{c|3vvvG&?wE#yp%HeWjnZc{35pmdvg)T>JaNsx+^z zx}G9bE$#LjKg?lrrzi}#_O|h*Z;j&yH1J9kJ>n|txs)4t-X6qet+R2dw%M1Rru{*! z`@jO-VH*yu@G&mk!tksX%303LEjt`TE50C3BKhtiti{_=jJ))ldD7!!vQe9_v^LWK zUYqrt?vm!0Ar-zNw|ZkJk156P2?M6DE&t7{v$Nn=&%)Y z#7*AuWu-4LUY>VEyXIcIgy`ptHV;e5V?$)JD{tibj!1V$<|DZGjW|P~hn%s`xrgE~X|a|2ULnSW-!(oS{P&nW;0tj_pT~J(N`RyW z6agGO0y1wBhs|u0CEW{Xi%N$LrrgY<#X_MAhaVe>fLZ>ZaqlwA?kj!CX8Th1{h+5z z_TYRUdC733o0+ihqqd1Q1=z26PCVehY3DANg-@~$cbS5{9^6ZM%X$ku`QxXNp7`s%MAw% zF2th-ru-OyG8fmw(=^A7Ioj7qd@jbDli6C=oUcyJ}uyyNQxXos9i%s$v9GMbZ|n-_!hWl-tH&NndbWB5qb zFXw>W@9k@KGj8;y+`J)_ODMjE*cM|hYNhlNG#a26z?dF=H&Zt6N?pss1+1&8B(?5? z>D&Ar)LmE{yfY9n*b5Zxjk{hrVK174MknVuJ+^B z7ybgefHJE&s|_C5R-8BL5ffcjT}6;%sm)iRqzzDOfSRbImMtAMWX3C&?~OM900(s! zRtGN(CF&a#7+kh{LjFezFd1d=YBWW9Qm@y@9xfSc4@G1lWB{`5=qf}cpkAR$RweNQ z)>YLKTK7TpJ|ht9rOIm$s3>d;f7k;m;4=V>c+= z=BrHG54K1gVR3hRWu&}r(_8m`0bU7flnZ?-q0vLVOaM3Ng%a(TwvPfZ8M;+s-4Agp z*UV7DYkM9T0Abh}vsQb9ygcr`s+*{uvvB}>2NUvi{#@*`wv`N!meH6eU}g(~;`1Kc zVAtwf+|lO2Dh9|MiI3_G`xovfw&RDi_BrR}2N*UD4kq27Z|Y`bQc$xwAi!=eC&UqVvJ;V>B{J`-n5d!G`-goSAgT`VKz8F+sr74f(rT$eUzNM#K^}7w{9K`#Cu}e6i z$z~CS)!Fg~wN?hLLbE2Sgts-cxqYG&`u;{nJO!EQWNh`j)9 z+5z^9dvK3Bl}p91a9dRhGMa|`V;bu% z+P9uq^cdz+meL4ut9UX7^D!^$hQ=L-r7nS}s0A^&-^Ff<&_;&$A+^4!-uR%X&8@bo z3v5@`G(oAH+{CX2>0VDI%(lU?bXCA&jS9=l-FF@JR4X_|)$v-{Y7O%;koGVLYz)}Z z?+-Q;?^4TI=mD9sK+s&~y4$hh0CxvJEqr`c)wIb7B;_deNf`ngU*u>7g{e(U3EHXN z<`o+^Ayo&OnHc9P#XqDY{RLHJThr&6muAJ$)$^SSUa>i)edJ31-}VtO(b%guh3Z>n z8`yiPlGqOmzv3thkqEanE=qv-P_NE0cRtf}#LXZgi}854wkddVh=l+GlQfEfc8RE3QOP0MeNDu|3yGT5(*C26sxmKRqWIa1HGgRVky}S0-STd=0 zP=G3s+RQy7kIY;=-XWn~BC`@^ASYXhDdb#1p0_(-n%gmyctMN*#=ye%L*HherL<^IHR~H)lk=2oyB4DYuej*tL2TI~a|iTX|@Yoe>-9P;rjlWr&#){d838lR<=)y|jNDLkLxQXKvKHNjFX6+6(Kw)AdwGpCC>2!8{(~^f z`&Zl#knaw*jYTBZawshV)=Ed`q5EVVegno#FM!QE!TG>}Dy0;A}=rDf1w! z5tMMDK*kHVY_8B*APBz-prqfKv3a27c~*Pc^xn`8+q#NySW4ejzv;i}ntqV9&nf{h7?ecAhiD_3~hR$)7Eq6Ps}z_Um;>%G0e z!7T?dqajGQWg_RJtIgrnx7g8QtSw#xUPAu>b3c_+m|kA~&&;RMd2iT@xN~h2ie)=| zxz72&^ay8;t)+r{svLqtZ?fLW4_mM(p3&rXfPZ>s1OaZ$-{`=-+Baq7wRrO)?7ZB` zrAK?h)k3$zaqTFy5GXelj0<@>#dUW=O-Vreg^o74#RB#XnV%9kz zE2q7oj&sW9K39+7pzRxPh#e-)vBoA0J4OXA@YxkHegQkV{l`~&Hu}q5 zvP&C<{{W|0^$xOrC0N?s-H10}XS{2j4wtLUpsk+7cSUyR;WLIEZ+*9qfv^Rk*>Zb9 zWys+UIuUCLSpsLH)6Btwt&nqVk%k#Uf&2aEbl~@v@Unh#%w`8!gST@er2*Zh5m~^( zejIy2nLg~Nw;qe8Rr7E+VPme%`;8pbUww$yS05p#n)^Buxo%oMcXd2e?gQ z6AFr|_p1qmgRgc=9=fSZKLAbVUQmyjtlhYv7n~^aJcHqAvSEM1Ki}xE$@HI=$g@qYxpaym8?N2yz1uwQg@|m+s}(ej=is0Od?$+HAFZRg}VAZrjd=VF?NciIu8t zjl`AKonpxH<<}Jp-H-<$UllTfuDO{d*7|%(lZ9bsqUuM#@ob8-VNV(X8YaAy_D#TU zY2H);d)9K~D~9EQm9eDL}}2rE2;@cH)Ds*DS?hUEvs!qnCaV5Pm!yz{ZPJ3 z;txcray*xjyxcOnJZscM4o4T#V{A0}!c&-1ZcD~Q&k_(QbSIbvyka!sD+*l$4-i7R$kge7< zgTZD#MWDQW@-`I&W=Qt~&-az#;91!MySicw+epz{AVp@CFr*iaZMD-~@ZO2Ei?!@I zRh)qsS+&7N?VUtKdu9-P&GaRRgyNuWuuHH%PhetRxJQ9vu3*0i73m)e8V{fFx~c0b zc$m=|64t8}#!0(F_6y7QiE_0ZI@c!5f->zpJ|Zp?lpc!WXs$e^BGN-5*f@sgJsEDN zp~5z_4fT66zcVnYxZec!hqIK12rr}+-4fOu>9Mcj7Q#SfTJ0!Ol^vyEtS~Q0kX#yM z+%WGhODn*0;#QmUu|#RWf!;7^lEpu<(rnUFZZhSg;v}eC;<%Qw9V5VY?R=*A&#ZQp zAl-ksBy6w;6wX){$1HIu_Z)+yM2zwdW;|2x6{gFXN<(3o*uHYyvq$ z$%#8mEUhWJzW^A)Ax_rEXo1-NH@@0Zu-gTxt?7b*hT{tcF9ThGTc`g392dTzfZ_Kd zCeqou%yqT(l~v^xwK3hfi5?kkxc$23M>WJ4%&zLMJ(d(aS#H=86YLl}k#P zXcfFJ8X3ru3t1}bvd>W(g+@k;u^4hax;7mX&|J6&28CReTxg$M&^V(pr1h}23~+!gWMu4M(vD!F}I&f`zO)<$@D+6b_fk#Z%>*{ zc9HiYLBSm$B9v<|`=9WJDd01$J4iFGD#bl57o}y2-KVihvCEY5z?Y|ruy0F6>jVgk z!@U@`rf|BXfaw8>%!mhMN9K1~U&j74f$<-+LV)-FDz{{J{h`pIGmR~A;k-` z6?dpB043&Is7rxynUTgNxEy@OUg>}pv4;=8;{O2D?cU`?H`1kQ5=vYpkOWk3QiS-A zzPWc+7!wZmBL<1p&>fERxSL%Dq#0~bisy{80Fz)|lO0%!JO2P~m?FDEf!263%b~u`^cK}y*Zu~<^lG&&R>dr0- z=RuPL+)>2Ff0LEFY;~86V4&I@w@a%9&De?-!8t7_sXZ>T7y=K);eSKXUQ zkS6B?3l{U=?dz9lKPm*Q6?(1ORipm^SE8Ka%q&Q-AwL=gV;Ad@HViR zJc8A;6m53mSegTB?G@@hp=)qMSrat)OTiDDv9n?#$h>qq!Ay<5=Xh)$z7}Sbn-A_S z=fB(6F3^5d30NxiTeN%#qB)eV$79asG`AV{1G}$-%%Ih<2Iw4HFtb{A-*LJk0JFCA zP#yTan5;}s9F)TL7#{?-G@)=FH+UIy8#WzTS+}6Wx3rOZrwP0NJOzdv)0*9edT$n_&b3#wn--eTN)6G<4gcUJ4-aYFrdWH| z#O{iFo5vTH_F=Co4g3tuZGWxwso(Djh4x{4CX^1={jcs~J1OGJLQAnjvo{?0mRW`S z08#g1&7xDWGrrT^bFKd2llg=qfVJ0#=i;TTSIzYMRJzoDx_?%SvvKji+*D0_39q_! zwi2Z5{K~+f=D;$0Crq?U9Y03$63i&1Me~psqTk>(Ls1Ix-xy&@c?(|?{f%k^D5m4J>j+>Zd1e#9@5a_ zGfnS^)59c<5Z%(@S8)QWrPhVpf+HxMlOzR_qeoR?45)W!u{GHEx>?L7R2IqC9c{~Y z5RGc1tpa7JR&er~8xDk6%Dsd+7u4o5YO<5k?;XY9NJlvb3vX2}Z6VNK8Ki95KQ1l# zfbx9*06{RL<;xiU$@@YsE(7r$&$Cj}O=B*K*L-VIeGz-nanUY)zyg2ldIzdsC-Iqp67$tM}~uK?l>k76*>~$6n4kU%zdLQoSU&= zJ&E(cTpY4c2S$|gmiq7R8if^toAWbGeha5#^o2cS`f%2acg6I?3vE_Go_;|bO! zzsT7f#3k-_h~Dm?xzelww>R24Y8_I4TzpDuf_~^%XxpA;bGfsRXc}QneISlL2fI5; z)gLw=mlxzQALs?JS~lCv5}s@E-Gctz-xa2CN}?zvYix@}H+|S7*B*CtNSDkZR!Ns` zq(JZ;sNH(pMolcDseuHt@D|6(l5zSe!4NwqqiQ);C0BWnY~lBpH;#keDt;${Bj=b8 z=GWj%nO(b;aRZLV3iIt3m?nI8A<6L|u<3?H&K_TAmL=3hk(`u_mV0|v$9C_UPbgokig`N9=d za=BQ@&!S)h3v?r!@;c_dqZdBr29K7B$}e_R-T@#nZzzNu^D&*PPaoV&8Ec;B;3Ymb zgE?P<92F(=RUR)eld=bPSm4xLW)Sc{ih*x)xUY>_c|)K;EqIQw`@2TB@Jn|~kFZBJ zl;K^327e@QfTED7fpv`?v!akn@hRDkvi@-zN6l0)i+f1n@f<;T#=L8ws2oaSCY@Nr zaRlOF;7r?mQ&{MTjjL)v2yFB_cJHOMq3p9!U+c3O7`hrey9ns-o7RI{!)UrCw!NUY zskP|udD_p+3M<(HiVPbN(8>11shIB^UuflCvGxPeOEq6mI!jQwDu#P$USzx5F-;3s zQ`{rjR+ek{a1f4Sx~H<~?h#)FGldJT#Cz1kq`mgj*Z}N9t+nF0HPp@AxRl_G3Z+ho zBg_K_YS4lpv&TYXP7PYqptGMT-dJRnEU+623w+{igXIbah72<^IF>hZJLPWkCfNk`RG>_8`!&F51)RHO&rr;%Ka&S{R^+|XO0ZZ7?}f^x#qNZ zH?(Wt=1L0@VSxe7XX0Ks77vZ8p|uXt0CWjk(CP!)a|XBZN{b+pPWY;*Zuq%c?r)p;J`iy=SBHS^{8G3W9p~vFM|ENDfbYRvwqt@u@KL& z43ESh0*nBel%;fU=uP8e{HgdvC22#uD~Env-*m_GA#|z5A6+(ko5ixiuEJ!hJP~?9TbW_>2TS^;30j8jooX29>u00 zXMbtGLUvjRqj%7u>D))0}rUx4mAu8LFu~ zB*Ip!i{%b=~yENkJY z@dAft-!zJ)6k5E?qXyQY(7ghr-u_p!(YQw6mE7CxdEqU43s8??+u^CmNu9$Bpksp_ zS62tTHV|*pW7|gkd7X!o+Fj79^P_q@!q9k^CYx-=z*T+Xs;=(x#LILyh6?bEaw7Mg zI`}LfXjb-g&@mMx_A~dC%ZBnl=$A{nK3UhcM~)wPhbt4{mAkS#xqfBnXWEbLN|~jX zjeXPp$^AU z@SoeJ2jX`s8CYobbVwz%TadmSkb=Ji;rofR2i~r`(CDJ;u;5!NzCGvE{)iuHeb}{g zkCG~?wz*jL3kKcE?Q)gviQ+w4K{~rh!SN_94Y1?a-TY{K!nsk#RXd2{Y^b8!#I6ZP zZ^# zT?*_L#Y;857awVEl}Y=b%sX^1x@og+@c#gB{h`hGc2@&$0r!JEw)w(5)FKI`16{-u zVQwlQ6b;T7dv$%L(L2nlW%shC=16-6u}$0KbWuh26k?=T%ipGt&I}j8_usVM1#93B zxq1``6+q)@f`3O|JgTD6u7)=g?5`|q&cB3&lWLTMy@L$}w@|;h3-^}*ZkXn;1Rc@6 zQ;!+3{u}rpd#iw!^`adCd9BM!#yv#-VAX{gtVd7Ppiz4U8xH6b+GVOW_nps0+*Y4! ziQ!PY1w-6s5W}C%McT;_|=b&|i zX=eRd+I&h^w9jlmx!57>4cEN(osDnLK85RD7eKdAi}U=}DnW8w3NswKOJi6j;(w7y z^}zVU=_{pY`BV~}Ju5}hrk_etk)gL!wBPy6!#FvVagw}x6a`ugs{uC9-NGA>^W#%& z7RUHB`GbbVPFo*u@yPxIJ5a0a;~vFkxO#o4PrC>ZA7EhoNiTof!YKt5j}X&s4oB<{ zu_>=JO#P4$zKCZpoBK@LPI=CJ8CEyAYsq{tP!e})pK*%1`qOr*m1BK1RVdGRGE(zX z8&{b}@ES1Q1MqD3wLnl7umsID*Fo|ad?tm?z4!YqsPtBy?7iR7r*BL0<&19Z9`Hig zhqUa=emxIuI2th@RjM0E@777&%c8o&HvrfJN*YB7j!5>41pv``Vhm^7>}UOEP?+2j zv{zJDX!`BVJAG?{D4_{qC~zGTRME2dk>G-tFNlv7paY`@`Y(uCg|_2*OT$vLv~=S< z6tyf>Myp`7o}v9iyi`om#Io^3ptM{|k&P5miGzf=E)G0E-Bi;f#y83`sVcNr0+nBA z$f4i(9la3))xj z6IzPY4anLP_PuQfB3|aw^vzVe0n+hx1n8E9Y$9w?e7jAIi3usH@<(bxdw6K`%iWLP+V+oiZ78e^(?~+0b#_x=-9Zs4VnQkt=Ntz3y@!Cc8Lia zTyW7Ze=}=9&#|&8$0)9KKX?w-oIT*@s#v?&jsn)-(j+all>=p)O5O%r)KT#vQVl;$L~&FBwK3yADRPkC44J&(vJjYkZG zg|-L^aFr?v$#K|uZ00ZcURO{#60$iZ;bF-#z<`x$T_!_&SOvEr+$yT>Gp6eb$0j+> zS!L`!gF)CG>5gA^>^WLdU1DeqDy!K`olIy-AST+umlHl#C%sflJZ+27OMna>p67xL z#cMrPnNBLK+@R74v1+B6&BOpR+A8c**#(6Nl4FP{4b?(Vwgy@zp>)`R^z+_AFJ*#G zi;ETRT+Eh>Yoe+!^W)|Cx=`RgR&d>q?u-PFz+vrcG7`5Br~ar+}OU#Ar9AGsgX;=cnY;IB6@+sI_cx=kF^M+b(1& z;9>2qdfRWUmr&9%{{VIp^cs6mSXP@cRyvwtSS1+B&E;-YXgBK}Y1$<~K)VxeBi+1O zwgJ(#Dvqj|hI9Q<43Fubwqw@3#r!S#UxT5>(S)ZX88kRCweuBrF+-&7hOP&Ro>m1T?olqF7} zSnX;r=zB4O>lEy!12+TEbP-`>ro!Ch2oVUJEo;2Fd-b}#-$2I1VNm0%Y8mTPDu^F( z1b6yGI}tfG&gA9f!hw*`A>|EAoXilUyKOIAMFCcWD!|UOqLjI$UIo`41I@qQSkRV& zgrbyJ)rO_y&=df4jSRMq&j=0+-w;C}0_O_T0{zLo7#YwU0{F4wSHTeL@`ASxvh&{H z$8jkOE})#u+aGA5#0}71?WGfxwHFtlMMfw~3l4?~ddjSe!9t2FA|~cmdP#gzdqFKQ z(hBf4+Zd|yE{mwzmrI*EQ|eibzCh%FI@loS`&ag9_Na#>zapTs2w$8Gre?b24a=Cv zm4vOR#^T%Qa;Z||L7IMze8b%8QN2vJmIM)pK>!}^RPcvznla14YK87oD_A~a5$wLg z4EVP`;sehF>6R{iIe;5&e!%5R{?P>(I|G;4lz8wk`-)+hY}r=Fl^k%VbYtW9fTb&C zpEkEi1Yim3jhjBxKG{*dKGK;uIeyiq=%Ke~f**?v%M~oUZ=^<%Bv5EBb9Y&KKs(3} z*-q38Wf>|^rI=pLu``4LrHgJ=m~@M{WL37ncnEM*f}fF9DT}#RGriFoH>GisbSl-i z?M-{vETupW1XhI$Tm8(s)O!KHB--DJu-F|+qus<{Hmcm>+^xEHqEO?~$gbU=P)=aB zuEye1~iwjk9ynTfW%4))l zjh<)>;!#dIp@I8Kg_SC1Ugf2}mcXfImtxN8LHCrv(2>7QkLuE!);rx@cm13yh#zqT zcltzSZF{k)vg~Qc+=NW;icfm*k8)TuAGYBeP#5zt+3Hj#G0nCxg~?1pLm&uM6j3=l z3gd@}0oO%J>AC^)gPyQBwN8hP@4Q^sHXMO2#lR9`9z3;S?AfMmkh_JG-G9VxnitDh zep+#(-L0Q?oUHTx;qHs7s&Ri^*Re=!itmB{08`MoORc-g_C@_wPZ!hgF1jsDg?I<) znY-YDc{-iVR1Evpt_K~f9m$(WQ0T`e!OzX>wXDD3ee~$c*PK7SGd=^}%coVVJZiB! z6lJ3^?-jEb3cSVR6_`n6EW2WGZ0Hh$ZKAEV+i4HeLq%C^*$Y)*`S*x9rB}Za;)}Ns zD5lsqz{6$?7+oD?e$L|!QwgdJ@S!)L0Bw!1kn0~tTadzCvV+HIN#pm>HpBw=_Kr#m->_r9vN3?Saut^3>8Wc4ERN}RIQLZO1zFxJrCWI-GOnQ6o7>`k?b+wO@< z7QRDt8UoVbg7KquuqB|&eIohvzf_Qm)}k z!Hz6TOfrbzAp9tjQY16^zmI#!8=fxyoRJQaRe*@Rmd638>ANMs*6!cFJ5s z0d|cGQQlR6BejF)-Yhl#>w=A!0CbU8|aM z97>eEcR-SD^gnEAuEaetoN492g<6z*6>9FSxH8d(BWzH(bB~6IX%<7=*Y1?!5&5BU z-7;&g==$LHcoQ;8r%@=yLD?`z2`2L96glJe{qO0vLxW$k8G>t#A6lA{=g@V@KsV}F z2af0ll?+EH(^C2m?(>)n&bTxCBd;kJDg20903 z>yFR=#Uw21oNYTkKT5`uf8Csb1l};6)h|gdlKu3(NB{w$cuQTwc z81Iax=}eP8ib9Doqygap{?Ov1^Z1Zhqm$y>heq%5$Xt`lsbzV1F^8Cfy9r}DMa^H}nY&z#-IeH@Tbj&N)_{NJ=~3>vgAdpQrz_ z$+!N^vMX=0?UVc-Utha3HK1wtHJLj9IQ&Fv-OijxhT`+i>+!~_IiZHO-5;$x65OPT zuXkQ5zq?#@%S6;Px_QA!?ybyaGtIsZ!!d__p2PUisGn)yqGmq#_*uG|dft9z8nShM z4A{ozt7^MK-rtT=jyOM|z68{7I#+d}p>qUy!?kw0;6v00u^+Kfw{LcT*Z%$x2!Xv! z+MneSJaCZrfQ9Nl&mfgQv$8u*Ug@4?x{Dzl=(v+ zFOKp~YXmojp+XzY$RzIZ40yB}&2|3YjuCO=P3Hd2MlIg1E&7NTf6V3jjjm z$*pZwWd(LS3s_}%hD^oL(lw$jAKTt6X731W;k0dhJlu)w1c+ZOrz_pXMjPO76%zJL z1qhZnR;WDYOkWAuJe_kd@Zx%w2;VT$UoR`mtVP0urM@S@=jp6HMHTZP0Tr5Q5vwdm zIz2&epGPJy0oIWu9O!+oRh2r5V}-A3K}2B2H^3U~L@G&<^n5QNf;$5>*gH%CD%{CG zAg*eRc#Ywq$XsY(Z@{X>2#JVVb=)&!xSwHZB6u_a0b&*uqzG&by%VuE+~+A2`Jmpr zo~rcFfr;+Wk63dj)>_i(1?_tFa1o0Q?Y~h1jK0iug-0RRlRe`8>LJL7hLb}EwuJc1 z9~D%y9zp2mZqW*=D!Zjylp~221(c}xO~KOXG-#k72CUTX%}3SpLZpx=wz%pVcM1Zh z<@rAxNDWWde6fO;vduh~CWy$i0D5f1Sl+xmrri$h+~UXygf#>q=#T$t_)_CeK(TC@ zfJCr{!CPKI(N#Af_8E0zW*yK+8-@R`2C;709yO+=lN;!0l zI6R}EjvoRZp&5ZZG?L?zrU7q{?XfXKQas z**`x2aPRhZLDtei=vzG+w}G+GBlmq5rQ%=}Mp@=OF;mevjl%W&=y8f5AOi}#x;%8o zFkf7F#W6jU1v55Q8}W;}7MC^{590tOpUO5fM22--agyFRLKKn+w09Z9>rJ@>kI=x* z`2XRM_9KzV_jKq>hgy&>{RSB~_SV`{V+_w9NVa7}=m59XMD@n<*z{+vm@_aMf=O3pNCI6|G5{t!>|hs#e9&Qo z;K<{^Kekk3r=Rf_BcHW_u21EKq6g(u4=DJ{7ON1Cf)R`*EzeL%r3^41tSbXY8O^N8 zQ=_MML!e4`la@fOUeV`VRi&*on!g{;u2t96ko@igMb`Hnd5dRtod75o5q&gcthO9f zO-NGf1dUeF1wVml2*6V?L5c&COY&flwu58ZT6O6`dEnyXH+y&Dv^>FDg7N%x)slX8 zY~eZSA@`a)Mq0;+7yT8wq$Sd`wL&cM6coyLj2VphaL_ZNkHK*ZtVyWxhs1b4c+eG3 zv!&w>iZd36@D=F5UPnoRiYIsb1^(@R@%;7EKT>;(NgrLdvw@ye7C(;d4({`G{J)%Z ztT0ua-xVhE<0Rb#E_(-&6CWbzcgO)RCf!nzt0^RmMq&;E;Q8+6hKkN#A_-o)KbogdKYyQ+A{ z81&s@WZT03Fv9)yPntMvnv$w#snaD_7hqQ{-XfZcNU0vn$R*3!B<50Y@L%-MwwtCn zehJcqe`&zVM|W*Xi6Q*rqWrxH8DwZMQNSkYJSuN%AZK2`2te3JNavMo&a z(9}(}=3VLOg-^*kGrtpCPo2}DMIh4o1SN8^Nu|n!3rdvGJe{|VIBj}tD8vVH5&jH! z5F}AR)V2{EK6e8m6V-8#hECDllo$>rnKz#E_Y?%{qy1tx1N~xEDS(psu+IaRX{>3~ zTR^>#FgfEw`C0WsZn5{H@ybYvX+i+YG^XboJZo2=Bqx@4ZBfj$7&#F&0#|%wD||WT z3FAlk=f&;c>cYG^^PJW0@Uc|y+r=9v6h0x}HyB*HY1*pkL(1$poq}n7@b<&~A6F>av-(tXCm1Z@@R9o7X8lo4;K!49<^+pKKMhB2Ccj zA-pwkpt&3g1JzYX5JY!id`p$bfLSNWp#RsjPv$F{_e5w?*ZyUfd;hsnq?V7WHa7e2 zf+9TE?s)3^I68hk={+H?i7nvMs+5>jxr^B9i7*kp^!U4Mmrn~zQ1iN(@{7$X$T3Op z9J)JE&mNp*4bD@U?ueMD$_91}Ti6Zdp_|)4F2wg(Vcg+NxIxr$Ymg8D##iIUfwvmu zWK{Z)HbeESk!=*jw8Pfk#NVmk55ot!NUrJvgAiaMJSvyOTk+DT_eshx?G|(k0D^O& zY$H^LtR`Q)5QYQQFaL698g05`vb#neZ_tQe|sPy3ri3b z=Xh2RSsx!3=jaNu-HfRqA&mJ0$==Lw`#j~rQ6|Tx|7`v^a=)lGEziQJTqjXExO(%2 zenQB{fRT;Oak0y1l-3VXAFvfU>l?=<7ADsHt1T$?En?OxbhjdUTS#r$@id4QC`!l2o`LLCk#*`#{J!S5_nafv(+E zpluIoIMBpNgEhKbpnFgvPgOgBvApVQo<`xyu;jb+?7i_&kq*j;wyn6 zOUa&bczTYCz-gb033%BZ_#(=}w#!qou*8E~|2fYhP%Oi}Wl=c|a zU&l{UJob5<^ppKa*W-WBcFkw|QiVP)7G|fy!^eU~|!bbk4~+h6a-tvs$zKAW#$g@uE$|SJv=%z%ykVQk-ei zl~3L;RdB>rP^Aw@R<)#DE9K8UsgjE)QkN{?UWg7oaoQy|eG?SMSPFUS7oP63iC<)n22qhACzabWb3(!>9AcuPw~ zR2-SK=V=7y&FNCfT|SV{&hgW)Xwe9~o`e4sM@G7%`HLJhuv-ssgbgNjWdumeES9{* zYfQ}Fr&UFv9i@WJ`Eq07WL7xDmgaI!5M>j)2rftmnMQfmkB6E#GB!Kl^=TwdE22P3 z=mr7RA6#8fC!6O>8KUVkc1knid}n84qR218D_50N9>eHN<|GD5PK4<`Zx zicV zQ~V9oSwil;BW5DTe({^}i?m!n2L@IK_=jX7joHUR6u&wIma@7$hcM>P!-`hue=EU( zgo-eHi;nWc#ace~5v%ODaJ-&V>su|DJc6!)NTGTfcb{_uCSE9bOSI4(SpVTRPT^Ai zOzD>|q(f!2Y3OE|9B{es#SO;SjXWcz?CNfybB%keyv=aBp=q@$4dyI2*-OL(cCef+ zY2xYn46o6M2P9zNApskH;y%xC@GDF(j~S%Xa7jqjH8Eqi?c@PeJm z6-SVdt|G%_+iM*;(+Ev>j?qJ*aPTX7E=0_aEKB(~W(SCom57=n*&2zq=RiQ-$PB1b z7jNB8H8>9zz!R^fK`j4w-+I3Ay<{t{x;N}~>D|Skdsq`Gfvy~APMEW~iweKq`zs7KS z^?-d~H?Wbob`usPKk3W(ArgTG%%FKr0dS|EXK3+f=q*|d_-0n<(yYh|u`~?_cVxS~ zY61D6xWs$GE(zlh1TAVnHby_B@4_>Ppt2oT&l>!(F5MHs@fw9iT=MU#0LkhR{Dg$! zm)S_bzVL&mSk-oxj5hhR`#dFK<7VmxDP(z8ySwu~53g(_fnXbUji(TB^Bbp1FCuVb z>e^cuuvR+bGD7}&*A&7iQEtXUZpQ8$F}oUffMF^RN8()7 zE!8Qgdo-951! zK_;9GzlsQJeP9#aPC;xQ&Glqrjpg6LFH5*-SmG#w!W?8lWkY>5f(9((qhQ`Gkn#%J zck?h>B8LN)9&jA~?|r_)sl=wgCawo`{4M%&#Jq`V<3Bk_R}?ONWS$h=Rc-1=JfjW zK*p(pTqrUft6>(AZ|mux>_-&Mu0d&VeJ}b{Pch!3Y;0j@m=6K=EQml;Ny$j>1RAT> z?(=B2^?Cs^^Y*-%digDsFINjBs7_ErolA84)Jg?i4107%HY1osCKc4f=kM0qNX$^D zRJ}j}15<9A;9omxZbUuHv4V8t`0o<_2+1#Uf;w)VskLz zct2gAh1L?!0fR*|>bC3~HarDat1~Oij(o-`Te7-RaFR#SBj%|`Z%{fA_Xe-6#+l-X zvdHXeXb7t-EAN52A63iq*l8uQhw`vICP>-JpAXh86u-FI2}7VjK9)=y_uzFoNry8M z?s@eUl$|`ZZ-aLX8DBv)rmpf=hS<#iUoRJ|o;-Ck?B!c; zT(!JYe;bvrAwafX*#=NNlja#BRDS*x(HtC`Kcj@BXG12TX2DRX;;7iljnylhYfQ5P zD%H(j*fwx&hI@o`=NB1KL9Ak%G4j^czPPL;J^gir!RBPutGtGqO? z5zV^f59gbs+~UmCfG$m;y<~$Bnt{$uNY`+;R%6V3`;N`6%`2RET;0*48vk=z;&uXd z0cEQWHYYiEXa8_bK}K;=VsINYn;@i|g-GEdIDn;sil7o0qoC&MK5|P9yPs!Z_m(7lFK=#SB zi1dtP&A+oZ4Z+!o_vTZ^6~fq8VY~s9taR_>;aClEg|u@8qNL?;IgQVL<8K}niQ)?_N3aw8Ym~tH!nP=$rQ^_d!LGI z|9QMvfS8TmR&$YMO6>rRzs!oSGU5ayQiiPp$o+9!_qP0?w@03AFmX{wPd0D-QYTMN zX#==)dZsuB-ubfOJXhJ$Skk)_GN)`e8qpDv=cq!JEmv16FZfUI3cn#P& zIp2452z`q><`i_VrR7vM@p0q%^;{X{bLFC%KBhmd8b6URCrfM#a)oX&ze``Ia}|(9 zIO4nnUWBW+6+`z2v^IiS5GM%+f{%P=$Ig!D^OdI2x&Z^#M~{F>c)jwjf-ibuOhyoN zs74gBi}^gKHDlR|&<~M=@Iso~j_Ck4zVp@i_1v>alK@#X8f`%H{J^?Jc#IjP7fTj8 zz`gIg0};zd{^pf2+RO-cT-j&})izs7V;Za1%UViP1 zxq5E#;^}DBIa{2T4<+0Nlipy5;K&FXnK+g9HeE=2#?^S2anXYiNps|AnjHWf-jt33 zN1O?!YNPiRS19pex!(EjybLbSy-e4!%z9I6tz-j{Azu`hA3L}F z&W?SV_*oTa)tD{fA$2jK!5LYpg+|su1RQ4$4M}&wII7S1ztjod(sW~dIW>tI4jIAv zn4&bdqFH_Hn`LG(zeLaxNgz7xnq(*?F~b06>*8&mizmS9N~C-gG-!*^bx$-^OTWc= z;oWk;&6Sr6+2?Ln{{Y1tmXP2NnMqt{EO;F6Q42y`W5Gg| zjl%-V!A45g7sbv83rM~xHa|BD;h5h3UF=8jY@d7COg)dKojzHFMq`h*A}jE&G^yv8 zL(8=)*I9OCcG$$T`!mH))SO@tlM&jmRB3WsUHjI8<64AWO=2yB@}Px)M|=gF^uuKh z^2`Eg3OS)VoIXs*qM3>tM2fK>_;2*}yt*5|B*t}H-&Pn_j%F-{`L#WPJ2ZB{J3_h= zhSK7oss#Gi;~a2Nx7?w7?KE-JX#^s}OpYvX1d%ezc1uUg+Lg{^r2BFU9$Xz2NFjaC-1L${0sA z+4xO%_O(l2Mb(4e^k{uQ;@#Kl7m&u#_>wwz+E11=Uo0f~c@?eMCer1_PO$=M+b|V+ z3~=nL8R*kdNvSo>;I2^O-bIlFDlZg?1IbO>P^=EZ>(b|QXvX00O3>W|6%@)Is6KMF zow|n6n{-pH-GIbIp1+s>VCkjQt<%522j?1 zm7?o&E_3{@-7&;G{o3)0^L^*&TrEcYV?toKHYe|K2qTmwXnT6x)Sx69hC~N;Vvy~6 zjQed;tp+z@z;Q?Z#F5`+EU72on=1W!Cv0G7#Z$F<6CM~=HfN&~F6iJL@^<6m=`s4| zS!07){jf7hr`TwVSKvTreyyXS86qTKRsv~*W?aFMm=0m)N*<+};A^V6m+X4ZmXCZt zeBFUgmC^F|tnok3farWvb*GjqG9f^qPRe8?ixo~}$FkH|+Fp%EXst=L* zUF&F#D-33_J(vFB&?_J$)0s3r03`KZT@9{a?(^gY+a>*Jr>??*s918+BcMR>hV1JI zoHKe;8Ww1%XilEO&v>MMp09N^SN`02)|3+Bn}!X4Ar8F}`Yl=Z-9NJn>+KN7 zl-rf%CL(t>=-Z#Kkjp(ShF48bOWnIOttvP0Q-;!e#Ig6yS7`CydgsmiX@3?kJoo8q z9hX}&+**oU`o;g%Y@Wt}{pgt6JSFfpOyZ9DdQZgf6?oV*Mse6=aJzQb{xw61Dc74t zOOWG3M!pRT7Tz7t?3LV(d>-wa(74;%BHeB#GPaPGNb}kIiQ>J|+H~r>;i;`7y+*Pv zlOmT|o$b@jH=OI{m-pR<0`B!RBEot24Zx;69k^#c#6Yvq^ z!_9Y0$*qw^$99;rkppqjC=@2WdC~k;(!@>MmrqZcugP8O_l4v-{qjr$vI9JpYj zd|l5t^JDv`oFsdF?82ZZMd13tFX{PS(Zt|E)IT0aG}4tcc3nD8OOsc0zM9r<^p5>5 zTJ$Sa{C>PV__8@rxzJL2>_w{kvMJ`3L+nn+uGK{6@+0Sg7Y$c$zf$gdF{=__dj0+G z=-Go~Pkzq$^&I}Pc+C50`0l&iu|M1Dg>PaK&0`k-?{6b6LdTYab>p-$hTdMj{dPd$ zXZZX4Q@P)+aMRmse!tg{@LqZP*FyV#cIrq9^^F~`*QB}m?iab+ySaXgJpb-WJpG~h zvt-x0u*@Q!I=}gSZ)NT*G}dYL?^@Tk&8tV;-<`O_8-KQKF3k2qEx-yJ5kKGE1V_8d zb*_gioHyxtRNS5EF%di?KX~Bcd}h!?bsO|*L3X64{*^~{5V=D_z1fvM%+VAHHwuSs zvRE7pH|f7lZx4_N!1VVmY#2g>+(94jj3zH0TFW4ju0}4p9+}AJ1RvOV>9kGBA>ZOO zY)Um}itRjg3Yoq6!1HwCHKX~QzvKRoHpx2y-8Z1&WgUM9O&$~g)jFRP@$1BTn-Ox= zj>ov*xtU^(Ry`8QO27IR9$Sw|2i;vT+QTGGxcp`Nur%cjUTW*UiC7B1wa;UAT-TSF zR%fH5uhRo$#LPr1cm@u2F8vL{9vK^$`m?mwy5n2rtQRP>DE3^ zbNOSbxhxpHkkJuX0^+o$tY-f8f}_ANGZ_`jm$D zDTzyVY+6#ylj4BSryh@TEn?lEF`L}f{)T+MZ_1sFpe3(g*x(tPuGQTr;(OQC+87~Jv{2uW z89mNbYch^~8kzg}g2+vOlf9h$d$*<@#p+tWA8 zpZ1Hz%aqMx&()VphokTGGS!aQ5`MTI%ue_oe6qX^0kIfNeql<}bIeN{&Y%m=K8Jr+{aXE}f0<Khj1c0$P0RdTYEpbQD0^jntn?ECcGE|y8L zx>}iK>q+dkUEP{j*{$A>^`^V#bd}T3hivsm5;vD_A$61IvOn%| z`^k&jd+T|gX48v>wJb@m-L=QouUbdGZ#SLu-S|6uCFR$lzR9GuoA=~@6>g93nhON( zaUH?!QGf6)`fJ5?3n;bsMng0H^Dmg!b3-ya9v6RkFb++Tz%&1 zIDd>eoVB80V!G=f@+R?;vSMHTcJ42qgn6&L-D|DUg)l9Ko%oS~0!5$JHS z=?Fc2YF?ztEAje{suu_Aul|`mE_(gQn7VTBpoSu)M`I#$Vd?)E?f;mm*6mv>0$+DY zKW?epWg++GoF66m@LzcIv7x+Yqt*iH?q$_NJZWf#x^zF#ci4Y>Nk2nMmm7-`SUyZ`1lo3AF-&; z!>0%R!O3>&EgroR$N9p}kFK0PDL27_oOa}N|4^EFl|%~M6Ic;g`7RM~qDf$TSF%{*#nwfW z5FOpLF-0Z$%3lwk9!0Kk9Pq&ZIH@TIvI(}qb!V?AUJJ@SyUg$Mc9*f`SX#qNcx3=pA*YA?DJ|*e@ zL7b7t5-Voe-?yVRp2*RcOH_MYGI&4rrUtCS{&Un`?8Tii{IXlzeeQqIb~)Iss`y#3%=uQKwYf5D+2 zy}_NAzG^f?&KM2TuHL{21<(iDcU;tO{<^-KTefF`uF1Y(;gYxgu50QH;4n^THaz5Q zdmfXk{H#Sg!>956@4oNQdqJ{Aig&k_48}+4HtFxp&Ws`tS{(aPv5|Xwd8@_|3H{u% zAozuT3@GLIVOD+*}o6C{6EZEzTcRueV?$J+hf*0Dt zg5JOaWOuQPf7E6_Y@e^!vQTbcG&OB8Ti;8Z1uKeUd*{THm`PSp9qtdYKfhfBt9q1k zv6O`AmzR}`P*$BGiRY)D-mK5=%UCIx#QiiKNq9?coG1=no7FyZ`1`HkWlS)>G=hj!mjUN^vgdgZS9=@h}+P4 zlXQYJ{@f&*V(tcL0gg^m`%FHH!MOs~nI^`SyzKk7x9Xkn{rfgT=0zc{H~c3dAM!B60S*VbD?|7rbK7`t*)`p>{d+~c=ye-qtu6Lh{!S)e-ds!j*r z`iTEN7%6^b{UTC#=uAe>znMB@)|a@Stsk!a7Wnf!3i053doNc_hVz1tdRF%lsulhA zR&^SgV(rh{bc8rIc~}HNM294af|We-9TP; z*4oOCSK2y%KJ6{L^O|7`ko0W7U2Lir3upi1CU-DE*lli=h~}|K>I}?B|MJ~tzI>IM zY1;HBB;oacHzMn5Z}|3!jpJ%LG0nOQUkxv0etO8wvgP+1DST;FExPBz#B_bwX!$8Q zCyf8CqOMV`;594Umr(dtSq7r~zS~@Nme&CLXPfyYRmrTUYxJnqaMEg3yJ2Q~sQISA z?FU~PAD&&x*|i?IdF62ZQ>b#;@2u}rfEySw_<82p8;9Y&N-F zt(T>H-m8|M^ZC4Ep^rGl`^x*N_V3iV*TErgZ|_Omxm*8oxoP({V$xLa@zs^6_|C+O za>}pvd2GEA@wv~vgWF~j8L2IoUQC>)=g9tJV5ffDHo;@LzbD4}J^tyD0mNmV-95iC zm6(O?!YgHe{;+TGR6mAX-^DJ~OT64pawkTy@#EGF_zA{f$h+V_oLM0gJd1VCn13SBClTRIP16%yRK~AML*E4QR(kh&L>drnq&bM( zKF`v5wU20Ikr^aui#|!8zMD+H*twzHOT_!9QIVHsIy!f z1dd#FHjXW2i{rI6B-vE^E4DttTg9fiZGP;v*;CvRiLfFvEz)it8XP*JmLqOCv{tTY zJO*^kvi7W2!)VhnI@|*V*;;TJ0)lprZ6?umxlGM=Dgz|84uqO!{)X`>2c}>|V4e>C zzUtNDlwr6A+Q5@{pXVNtWJ^cZ?H!0VGG>-<>0rPRDD2UY%T zz`3?2UO*;{7BVs`dEGoax=*B@?dC@T!Ieev%!;$4oA({+sAF_y7|V({Qe5^`&lZ3d z=)dzvzj^C;s+d_Hnn}VZ4J-YHLQ>Dipv5=T`26Wj@3^CkPz#FWq zm?PxhazG|J_sFLsZpq>5XE~rxEbJcmNfmu!3%&ca)6;-NraCv~g|-tL0)$sQbcsJs z+oe1QIxMh)pn)9*cCwmgpd*-fca#5Q2ej7sPvcfU__!ituzkc#9U@gL{CT)XF2gw^R_ao16%Hy!sJ3o3#H;c~Lb>N<7^R^k$^j)WD) zM%!_kyR`qGu(f#T;jP5Y{vckF25UQ-mLcc4W1-(vo`x->73K!%xm&JvB37-GSAqi% z-cWDmp)xkRmF-v&__II)e=I#PG^e9)^%lpE8BrmWfwz3eSICC4AO3Bj?r)URD7#v*Eo`RwRf)&s^xNfO3dL=!->{f}^M3gRhhcVuc9EJhaYbRvNf=E-4r z>R2vi_OhS$T>zO3zF&QXw7eEP;y+VKvaEh=lpW83_)zaOrLZ0F(ZxjjC>QYq&6srV+h{nIQXG0x zs{?c$uGSYy9i&d%+Psv}%}-O%@)Waf9kFC~IvNEK?{Yjf8MOF~;wD-;G9ON*YjAR$ z1sJ-tuH=635%;gb!>tEezbQ*K-Z|g5aav&T|IgFDBRy$1SUF=$4sbq&gF5J+_6AHh z1`A_z0!VN`x?bpVya%C=*87^K z=qrI2G$tw|ctL(;d*a@(AnTWdcM7iIK_Ug++W989oGz71jE`eewy&8f|ZHoKs__WtV}!Hto;=Aw>|x=UtPG zr*ef~12mNctyF1_46T8j_0CVb%)q9;AKbRdr`dGOd5urS{{)LCckBQBdBP2}Ms6~) zd1E#^esX7Bn;qa(!8Wa-igFsqv zW(VnAF6VHcTT1mMc@?I$P6Wfo%k}EhX|$^N*`#F#U&z4X%9Amvg!mq4KNb)boo!KROy;jMoq}L|3au zUOrwt1wEzfxFWk3HiyaGO5`ZuClBW6TJ~|?U=EFCJj*Dgcsi>dpYksWp&6^OR}@o+ z1l;0l^>fN#rGDCU8eIL{U1*@nLmOQYd7{|4>6Plh=&QI4^SrQ;gPzqR|6K~kgxzAD zIe!iJX)@+CMjtwiT{!r~MBNvier#bpaygf2K6o;*d-)Pg?`3CVA$^;X;0Uqo9~QiC z#dvB9pAl5S9?-!{K6168Ux(OO@plRYqSB z;U-*|&sj=D+eS-JWg2#LrKV)4aQ!m3W9COCa2>mS>pYL zQ`Sll1<4}Dp)b7@v%bl9L*rO2Vm1%~I)*~K z%EX-&C_2y)W>T{H@iq7eiuZhJ``@PAMLdaynr3&9Yp$m+jQq^jGiz2wP^5X6oYZqBv08LM$Cq6I} zt&?Y=V($_O_6Ck6U;U5C8}sT9c{v<s#(_(~#8g5fVd=3<3D zihfgNhbLsZ8-}DFUEmX2ieKo*%0IO~M$hJi{eO9Ka-pE7kS^N=J4qWh*yEkD;(&w$ z(Z)I<+4^fkagXkqsVn;lM#V>0$1}edoah4C$ytV_$&+&84vl#E=jkKbUU&NQ-@~zj zDv2WcLrR%D7D5Iuh7`hok+F!9quaGO=bw^Co7UW36`cCMvNa-bc9H-W?b_!_zeGzN z1_?%83t!pJ&(G$YgrNP&6+2r&)W+Nm8P^jnJUBTMTvid#Z$7g%|d3++YS7 z`NQG$FcTY+C3C_asLM}eT>%CgbriVzVt9!%sckSZgOYw;!mIdIP+?@@-4jy4!yer4 zJ!sse7&>e?g+;aYq3CqWtMb}0wU({nkOP&=8RvS9_>HcYv&>8JgbW;?Fy|`!$a!PX z=M?!;Ej|?o%M^;+lw_4#95GEAW8d<~vGuGrzwVU*TSrlgEn&KUd?r2mi%E2^8;LBM z6X>f?6Lhc!V9O+~!mHt>m+qGW+d47cIqBE5&?iP8<@p;#)?S_#VGFspY4O421rrKV zw9S*dkv{4%c?NX0x9>%DKW(LKmpA zRawU8#jRK#I&l7SR!C1;K{&*^b<9SRxkTcc8Mf_pFBM4;A-uuqQ07v ze~3OsgJ!kHva14U`dEmy;L*pL$Bkqwoe$?qUn^-vK1=UKn$`K|Cg)e2Ikw!){{|jTN!#3E`8#Bf?wV&>&iV*6$Ib42T0h+eC~x zJ4Opzb&3cS6v ziZeIoQvffPFN|4TQmPhn@@$ivM!(1iNZ0IAMuqB$B6-T#z2qOs(hjke9zy7DK9G!H zH=hO2wC$pS@w<5&e$ARW6ienuG3^1?)>h^um~&J?H6c0X^0z@WY!-=krC0yr7YVa* zw@TOOoASHa8C8688Ud70!&&8eMPZcg(n2^LdG~xgb2VelcyM9>?h+u+@~6(?R$siw zSB0~M9n+Qj)t@bol|*|w-YU3()25BmR0cm#SoKq!qt*JfG$>G}SAvzR7g#bz)2FS9 z({qknGGQS3;VXxTc&AYu8~h)MkR89seyP0d-R{UHbZko0M$CHIFsWzB(w#56ElGy0 z-Fgg(aFaNGm0ZJquqW0A8fa`v8L_%Vt8r=$bPWT{27j)6Jg@=arTImnO*kn+t}v>1 zFacS{1PYJg+$l*XNlWaTHC}8g_uw1<{P=&&ytKduuv+wTm*MVZ!Nz$vg%$+EmE&SL zh8OJ6N9zxrEUd9F=@+n!SZxX$vBZ&BHIHnN+|Q>o3W=P+?n^YQWB&^Lb+IHAQUbl? ztdCQ`vQC_Gbr(Of;Ji?)Z|`D+Bi(n-P5yJiYs*w`fa1vcD$;4o8apzW#x&ODDTq-J z`YLWCVuDvtwTD30lYymN%`N#1;OgXi$bkxRdp3VTD3CUTnqK3Y?tk}Qj#G3NX7IVu z^ZSWq07roqLuqcX%2ROf<_A#X8Q$%HadtE_4Vb3%S;goiM}YXf`fB1^@4IelmT-Ki zx$>QHSiZXe@*^Ml7{6NQ8s)w`Vu-W%)7(9@u~-+73?B3kGS8$n1K7k0PPry7z#k`1 z)wbn$hH>1i4LJI^_*$@>AgiLwLz(!7*O60tj3gM!Qiuy1$|dCtf8m#~+lx@Ddkd_K zKH6t)n4+L)SyuCM?a9eL5n~06K66tX0}|1nOv#;e`){90^(v%yg9L1>w5Ko;G_FGY z@+!a|4)zJHt?u$B)<`G)1HL<2k120w8>GYXT^qwo{kR9~eRwS$yOqyrU>fNheUxE_ zJ7Y5;T+6$NQcW5sOE1{i`1bd5>fCA|(Hv)c zk!~k&O|$}@U4zUr{OB*f$J4hX!va5XH^9~SGbM?HTIn02Z8bd}+J!`%f-8)Y)So0l zad7Z2!Cd8th@F$Ok*-$-cpbcqg3P08mW*97sshI7VwH7qgx+UQTdzZy*O;FG9oYSi z^%4L~&%jmCKvCeKROdt56)?0f*U%;_Nnz(=`bl-lnpI-?C3lhyKzIo>j?V4$?}|C% ztcX%dyF54PALw5K18=%&63OJOud0u^f{W&vK3mZORc5W40G$KGlTNjpJfA8EtFyL; zA0w1>^Vq+BqOvYhd4Hcrh52LC%LTEi65W+Glpb8uE$85=2&-u)7)x-FX@VHZ_cCln zky-n_95-Z;HG_f*0x7!!5O5^f`C;rle7eHe7(O0eiGn~g4DhVZLa#23XDQ>=HJNfE zqad-x1mo2+T#$Vr%-I^53zBa@aE^M!pL|PTZ2AX3BQfW%B66X-{D%w z1`h8kRqmfflC{s*#gi}sv?v#nVw#nloxMTfvyQOE6BtjC@z0I8bCHfkX*5&PZtNJT+TF38)+Lh z#>s;vkT5Q#l8}Q@NhwTcI{ou|;jfpiSRjg;qg}e-T4G8h!_Ji}e=!JPl)0i{da||= zvFci$>b%-EQt{v`5IyTsrQ~o$6v`D9#~%thOb?1XZlL5A8+sD2$Kd8IDm~CKR;LVI znuJ_(OrsQGsulaYh97{#Dfk_cNJFJG|EyVw!9csL5g4AZdIRey!Oll&f|z8-M->!N_qYI%*sqlMi#fu-G_i%ZLrC=4{R?naBuZap`bqK zx&LpBy#;jK%DN@oW@ct~%*@Pe$J}OSW{jEIoS2!J9Xn>mn3)-4hL~bJ)92hf>wkCF z`)A(QTCGy4c2`L%wMzBDCa@}rJjC#5{6IITFgNVBX~*uIr;meADXi!#8nV?Bysx<@ zVL^r$$YeSmP1Go$kGMzpM$8${pm`uELmGxWfMs2V5nk!GcfzPSH-B($G7)T?>kj0=$fplkc3>jWlVRm+Lr7*piRUH${ z5s_9Hx>q8yv|!Ljl5v@yXksD57CceI?Ljl59oMT?Ak0L*a1xt-LTk|0O|hI#(4(DZ z&~DT@YYXI`i-jvu1c_VpT6s_=f_+F(1_JXpF!$45l%^OoU^Of9LZTUtUI_Hq z?h*8OvhRU`-$cJUhy)}mjv?2>w6=|ox1LaYf=7Y^YhWG#TarnER=a!zju9aqzEPFy5# zRtf9A(WWv=uw=-{iCpd6n&tO> zRyMMZM@Ad(tCZqVD%U(Dd_@y75JQh`lPH=e3}5`D8(4NWz&;qj z<4LI7yDTO~Ji2K7$6p3bZ#=FV3pRMMN|z&D_FinZ-~~$tVcpq984CXgayXZzVzRF@ zzF%g8#0E`nsbNNrwgWOTe_KfW>Z}#l5aF3iGv}n7_=0!S(+M;eS2qe>I3|8LVF%%2 zH#~Tb4>SO8bK;e~$6{O{k<5wX$DUY{4%QtI;9nyI4Qn8&+89Fao{ZRVQ4oBoT$~0L zn53qh4{>>J_+<4onOSXKDKb0bTxo8Bpy^wUCX1s`5>P!Pm>v#65(E>-c1xv!%BEWU`J&VaF8cz!TT z*1uKQ6DBE6Vu<>}alaW=cQpEJFR8dVQkP!FcOvlZZ)f};nDtUpluSSdu0_0>wtcO_ zlX_*pD}&u^S)c5J;>n28{U7eJdNPCw?EZFVOll7H}kCw?Je zrKv?DT97|V=_9iiNef9MfmOXJXPE=*+=lOV566u2UZsr+3FIev$+GioAGBjl8iqX` zi&Q81l5pC{?Rwy;cf#fRn>f|^cR)8-M*@){tPuN#nEJ+&`Zih!p2G!ek6Llk=N2nn zKiCrp1xT9`Qc*10{WuO7#nR#aI1wg27&?nr1aXE{{L*z@Y#+CpZ+F0NuEo^!_59o}QK#LvEBba}(N-8{Koli*7I9GCg#mGNc~rMSF*#CWsXv+7E6V z*r`*q7EAA+x%h4W~5X>j#qKK@^eYeud$ZC z&1F4SL=~5Ws*42ioGtBX4s;P)GS%m#7tRm2C~!lAo+L$-Y3rGD_qB*^f{k@&oT|zV zil4^b`yCQAIF{_h9YE(jLEvYZ9jtMwc)Ib(fNR~!WjUnhX>;r%edIlJgX#*{aV=gj z+N9qu-F8y=NSsAC#&6#&*S&Vc*{^w^10iJf?KI@-FF<6)eYtJ$W;BDBt}$wEi#M2L z>`(5mA;SeLg6%KTn>G%x-eg!V48*pelam+e=Q7JxC4nPk-W7Sv4S00Vzy-*Imjv&I zRFT@r!hJ(-dKeMeD{Bd}tvDK&g1cAC-1UC=1@x%g=!7{Dp=)?InQo-mLV}MXm@b;w z**u)Y`siZ?3PLmVyC!5;xRz3CBHBv@kp^LzIU1lVacS?F5$?T&@M&z}tU_5#3uXs? za))nCtz9-Vt8MoOCH{>4HdxnRMC13@J(Mdv><}lIdk*N1bi!I z!OlF>)pM*uGiFJmN4e{rU?Oct?ijHG~>-w4k5vC#FnEL}7c*~#AjnHYVggfkjpFr}}Y`4Ov!dauTQ+e8; zmIn*=aRFlk-A=O|ay?=6^I}^^qfQgj30J=WjZ#BU%ukLnzeTAzoyX_p!blFIbtKZ7 z{#h1FcA}ri%s)5wc5@iImV*uBMZyY3q6iU%aSemm z4jY``;=kPow>Z|mXo7<{g;=hXIDh(pjQVr`{XNQCY1DP_x|EZ}=;l>=9IC6wq@@`7 z$5y_$6$~~OR!N{o-%It&!u9Bm5@*#rkq5RN^Su@6Ux50}g7mn+oka`_f=ZWhJnz~) z@o|Fhx-5;PX3OR&$^$6JM319S0L^TfSscs{=cVBqt-`dh4D|%~2joF?=hgJG`OxQ_ zW0SNZ-xY1Vk{|88m>{#@JM2vwYJF5HuJUYKCB(A%BWm4oSsJ{87t9O$^N?)MY*d_xru|_IhL15zpWW=BM z5U}&amXLY}l7$NF5$TjjLWPStMd{ud;p)B%s(c)~PvC?sQ$5B;{lIGRwzDWSEcSXN zU%VSC2^B*s;WD&xYJ!^!aD?GqS(3O6CxO!3XitT6UW8UHFS!InMr)6+>{6yNpLS`h zH;U}M{K?}6aj&j37;JX4J_)AQU%vMz>^;t$5%i>kU21_RftG`ap5H>RIBvFH-loCv z+CHtwXL^6049vShypPqk&Kl}U2s3Gq@$gIpNR&3Ag*+u*_$zN~h!(?LpErxL-+r7~ z82#NlI8=Iz9EoiU$@8|=3 zXmqRJutbe*_trADq0aB{#db;$eyemvxs` zTMp?r9}pR50OE``U6DuMvbTZ~MBA!&US5YbQC4Jq&3C{C-A!z#&gV}bRAHUB<(tOK z`KE97Ppy+2-hsl{q8xkRC`8_uBnx$)&8zt$CRS!S3#Owa6UD9FpH2IG-al8k7BsHD zyq`9M2}ep^Za;plJZD4Mze$>Ie~4~6){Xs15T}#dSiadkAj1MU2E~o{V%_}(;Btoy zFO!DP@n^8+it<_G)me(2$G~tvb;bW?DXCgT#rp7|T6Lk&9qdzSKqP77^!YK`Pw|sX zluyjFrCo!RN;K(yb2G2b`ozmN4(^@Lv2%cLDyr-yOv32O75|MW+p6E&z~RxG)Fyud z6)1YCx643(yxIGdK2B4pflHf`oUm*Sq*r>v`GlC zxwxNBS-J;(+fTXb305_W-RNVEAY(0zATnc&;!634eInGS+mCyQAM5vDq>L-bw^l^i z!rC23W@kMrbx;PFNM|mysd4k2H>bLLdV+><8=iCP!#$lM)tWEAe6rso(TAu}SsC!^ z!TNC%%?MjSKeof!n8ri8;O3_iMTl%e2mS|@kWt!M*Cze=3-C(^zLod}Y>EQqCBjNN zTiYZ0$2=Z}5S;C4dYbo6Sv!36P-u1@Hx14k3f-av(9FFaQ8_z<(9IFG#@E z)ga4(bBV-0q%V+N37_n{o~b8aGu&T|ZyXPKy=8l31rSJz-rK*yeGdDtP=Kd2tNl@n z3>*hk?QqkU!r{U&(?~QYd}=|mzGKKv`P#4bB5U7;MP!+Hyk@33~f{Y zsdj_OCkeN6S9$n&wF@7pRIa+FG+k)PC2|FgvC{>$!WS5qL%0|Afr~U8oYi7M20@)9 z|6dk~-If4Rg%-KFZSz_uXP7UsHzCv#RBOQ&3e^Hfz+Z1)L43964IUee3L1=WHZ2=E zTvZBuRc^9Kjx8lDpF$mZa^f3>`pdNU7<%FHjZXG-26C9;C2#XZABbK{>$>bI*5Kmm zITNzes#`YnGx~Jre<4&uIksFQ&xqTq0zYlD(GkwAP1>XsBRS1~MxY<{q`FnrzTS(T z-NRLq2fT%lA+l6>AOE|>7HMPPrn`TTZN+fB@=mP!S5~Y5J4- z^u3}BS|zNWB289a0s&p3|8afERkx8WmtgC23iC}5kT7zS@%^G_vF=vVUqfaiHF}%H z`+sWP9&IWhui9nBphWx!Rz4iG9YO%WEnI>HLHc+c|CV8q&@!kh-YTOXdeiTXpSQNB zi57@2Uls-Sl%kdV2Uft~OWs}kTDZDiUG3NByin?woI)&}3t=dJ-ms4rI^B%&(VHEI zym$U>d-^ab888;&^6x&i;n)P=<_6(=W$~JrF&faqe}2A8=B-4@>d4 zK3=MaAh{LQ!x+ci?M`=Os>gR#Oi^ z&NzfW$`Xil(C6*&`^lK38qB)7C4o5Vx0IwWmR?}9Ir)xVZszfwQsY?Pa2)raHVXkT z&ky*008-FVr&u9$`FIL~MqyO%NTzesR!GX#K!deQ!kHc{DU}}JjJvB~i#x7ynZ+61 z-`HgU;8V}TEC9gX1EJqmZo)`K*;w|p^}HJvx&P_%g zYm^NU00jWx=-LGXUG`n$$n3@7jDo(=k>FrR!`644s3^!Je!gh$9n~?yq20{u2 zAKq2tM^<8y*;d0oxLyDl_qV_T*pa9|RueS|2mO27DjC65+s{zXiA^-yCZbW>)FObC7XUmomIRZlz0` z{We*~g>U@e$qR1}TXlDp5#RkU0RBouJ(>AlQNs7z{Pj*Rxno1vlf~S+TbYiV{y2IrR10}Avpp;rJc_3MzA`iPB zTDP0r0V+E)o=EN3L2%l&WCNYRX~I_RRMrO#TF zHr9K<7h!N9;Zxn+%mC2|O)Ak(xMNJjj>;-*wBbZ);ff4w%X|rArYJ0$Y|i!qmI$*Q zWT(Du&*o=xIH#xs;~8aP-+RjT%ns@3SMm`dZf~kQhK#28MVt-Ch{8~)OC(ReGL_39 z2H(`Io2PQ)?iI&)XtNbk2QbW%Wsl{>*o_ga*6y?mMIga)16#v4t@|0s=Q<=tf)$IY z%U&iS;i11N`ec;%VQ>g)qRHh_W z>iT^1aU9wlQHpfY<*DWKj6*?6xAO#22u=F)@}Rr58j_K@X3oE za560D+&jCulHc#{I=EjfJp>&>9mxl0X#`ELI6HAwGTqJwv)jykqONq9;$c3CgS43qe z4Z4eu%DT~^yW^yL7Se{Jr!bHA7%&OyX|WI6uusfKposK2HIjHtKw#LthmPkqovj=A z+{ReZd4Zmc>zNB5BBRRn^OGL-x2B}SU9=ut0Zqe*48#X@H&5$(NQG9*FLQ~w;^(6o z84Z~Py!5(2=@_9Rk*uxkZ6n~^*020LswI z%-qP~8XT>*tu-K+r(Xy?Jx@?QM#0#bAI{P5>r8>#jAry64Uy3-mB28dvIu_hn~iV- zyw5r^`c&uz(fO4fOJHb#p6GIEABV>)5p{~_LlR{|_I1x2e$cQ5vYx3k*x-;pVe*7W z10iY08idZZc|CaK0nQ4m?hgMflQeNIvgQNDW3nJ@lO&~M$nVyW_l z5#rRo&kUd`o=}csm&m#tYNH)+8g;|A{JM`o(8o(r7U+G@MyhdOhpSq9NbZ!LR(TC0 zrFZ5Hb*}82T#X;F(sBK(S7dBW+Pc8n`mxuz0{dhY<}=6Z1IW%xO*>niq)z(?gL}cL zZ{V(ge*SCVv}bI^o2;5-Q!061Ra(8YHiw;|i$DJ-sC!qA35~o+{)crM&i!ET_et9B z2{tNzE{xldHVB#uqj&rbVq)DH6DaGoAp5t7@P?^7bzVVM0aD3Lm}rr30oJC7ps=t^ z873!8HsY$_18gWL`=?XoRn2^Dy(1oXt7A*PJeXfrXle3gzlYeUnvxJj_Ds@0PpF;J z|HAe;41tffylzXkWV+uZucxeSVMr}ol(^jV5%pDJy1;0@s;lbe^~Oy@N#}Q#uvhtm zkk&jv?|l+N+RoT_J2Ksj;BH6g{@YNFXg;aYakMuoADM1m4@#OSV5>BeV&I^nefIuO z%Kg5G|f#;DA_WBkSTa8#gT0s%)g04kVhdT2yncUZma;JWVQ38__QkYtLCvtK& zBc4z0$dFXEOx|g(a5FRr(TK&4&`VJ*o`r}VdY_GZ!Ut2JGUsflw8&{+ovjf~yzZ#u zr<>AhcU;Wwdc^w_(t7~>+~0qqDWvUA1&6^+D5qEicP&jgpu+?&(3dm;bxpVncF#qp z>qN3}tzU5$!%ZM`kgu)8up3`(f7WLPJj9eGnn7T-KY-4?7HfCNYV?oLtlPpx-=&)~ zjduKwD}@{BM1w-l`JUzD=L@Qdi27hhmnrHx6$&9AcB4TFAUWz z`eFORr3C?(Bl4@r-VkhBTu(@eyI%__i#{SF559 z;o^E;ym4|DIy`n-w9JyHszSv*WPACGVuG!7B`u?D!=z=ArI~gRgplT)=R_&^j;s3o z6W#YE4fX{IP02VKq$}3=Uszdc;2>P7vJlMzRz=`)oR)0s0;AO{@`4+sV)!JFU(Kn@AMEdK}_qy@fev9`*!2g}?s zyD9kP2_1nN073m#jyhNl`l}o?B)Av^;41h8g26y>a!h#WU;s3DGy{+Wr>W8ZsV+$#IuwE&JeCDxlhl~DJ6W-F z6K2c4e|0P{f&crLlf=k_FHFz@^0SpBYn7^7y zJDsSR*j7z)=-K?8^)Epn2d}}6{J#j&k4W+KhKG3vtOXsy7_R@XB!mtCe1_Nn09AYd z0I86PqUw*>zxM7zigwQY0jGs?etcfp3_rXXl10GU-+@3*Ke3cE7{K^kAB`>(DH&%0 z?F7ct!SX>t1Z(5qLP>^xBk>Gg{pZ+&`Vr%I<+6U$Wrg2D-CH%qG_Y(t4rcd z`92w?-~MF8hfojnd03MN9Emh)gxVz)O9;yST`v&=&G^aw^<~L`f!uhk7?f4~NiYN= za5@cUn&C^jVE^^1}+WpF>0iA=Eo8}6G9Is>8rcksW8watlmK-d%@0pgM5ylmRhrl)4{L}30ZB1 zr9bv5t49j&C<_T8@jT9wBHBr`K>as1v0;K{tL5&~C)3Wr zbYAKD$~Id=39ox!_WMU3oeeMwDsJ&X}!cYpkXE5xwm)O6v{$4?X`^5hi zs=j|xf8RX+y+9qK{r5Zm2e~9{|GOpsgTntu5ylRo|0C!BvH6d;B?Q>p5^S?KxEb4} zGF9gH`uQ~lPOIoWL(W6|9H^UVeJ2CKvTr z%t5|r*(9Mmo9gQw3|uUC9Y#p~nnibTia~DmFiT7%x!*J4ZHEiL7f-y#DUd2khaT_m zZ0ZfFR63fIsQyH`Y<&{^e%3o#*uxUEsk(FZaj^W^gD)VJ!Jc%Zw@rNX>SMR9cMGv{ zZQ?cM996IN2^Gi+e1h?Lv3v(d(gyRHJ@0HfFp;rd0ecg6HXrLw+`jBwkstpCAC?7} zZ6?CF`+cB)=IDL+&1!CAe^YID_3UFe<`qQLoB2NTBBvK<{UkK8#qx1qb}hWKS^b*) z(e#@CkiYrPqwx_2P9=X7zb5?p;e2KJo_M9PUHkpxXtxFIbL{SF=&h6!XuQeG@)YDU z0}d1+x&~HrZhjm=_E+N|#ws1e?CLMFS!Gso`rvEMiF5ab@T zKk*uCn9vf&9b4Pm<|6bQ0hEi&Xr!vV)53eB(K*NQE1NrRZ z>Wv(|8kWZT8NVQSfS)jk7wk!OQt14L@U3x(r!+{0hPZZ^C$W0WTD+p!+2(lHTK!Hr zudcBf4Bz?#dD`sUFLCh~60C;rqc=}+y7nobW(%dM_aenDgT@rM)t`1#k4qIk6Zf@> ze1w#t3~DXIF6s)}-rJ6ih{U@8YHrqvGI=(8n^KB zO%;|oeQOfq2ayFebL30@B|7fuC!ep6mG z;JDN8mnv-HnSc`6vZU$}IPgiG0ck%$Jf^t)N!>1!xbzrRxP%jY6;xo^XdX?wW&Swa z*hkUY-PV{8>T`7~{l4gleF+a@L9yUj*CaM)i`Ynm^qs~RLYh>OIi74Q@URZdyoAS& zRVCPOF+o;4r2{TU`)zn5hS3bq%zOK!Wlpnr+%CfyuNxki>B~iEo?q>`$CuMxjarX{ znbFvW>N5yu%&VUC#MFJ0K`tLG7H0(97vr zp2@M%4TBHMoJ$DRK3DpR3WvL1Ynl90Uxsn^ zVc5Ng^siG{+J-d2am4hv4Th`{=?L3~Y?|62yf2i36%pIqnWasi67-KBQwZFT1??Y$ zPhF3ZWlY4|x~(rnZ-w_|9eLMrFEeNN0b)o*?y#~z&Y-;c%BJRq%cIydmw}Eyk$szU|mFv~9(ORu;Anco8(aZovt+$N{4oYxoe(b&VqNn6}W zW>yoKJA}ryj!oG&Mm}iftFSm-47qKdjw*NMB+19|WTM~R z5wnlX;iz=(n@-L&)i3q&o+5{>n-w`Dix;7ASOgo%l)bmeF*jC4=00UtU*q_klTJU! zJo|Nn9R{}Od$yUQ)GG>G~n`wj5 z#E#?UIaGpp)v}rP{1r`i%WHO^vt}8N$u|bfs^XPNCyB<$z4ntqb!{2$g~z$nJg2Hf z_s|NWEavvh_{!}E`Fy{Gm;>A{+IH|SUTvMYZSwP56VQ?@oK4v{_el3C;f;~_?4neB z)u|r+I1E&Ls_HSsSVK&??4zKzd>JkZLuvkQk@tZ+`MkZ`of@sIzi+q>732T{XhDTj|*$V{S35mr0i5VLY zsC5_p4QQQ>SnLr5^WtLUtG`p<)wP-9V*oLe1Ni-ea1FXduF z6Dp|YP0vnL6gPAlzEKFR`tYNK>@vwD1*21G$F%9`neG%9gm0sw)?+v|65P*Jr)U*}I=hxH|}o%YI%shi8EKG;b_9~t@7 zMwnZr#A(~TujWD}c?_?82W9dYzeYOz*&!XW`*;q>y#E(~BY~Eo_rz~GkMg&r4Sq`L z@OZ_o?({I2cYV5#12(=3MC65d!NPDb3|R(PfZPaXkZJtpo&eXUAx2ym7hJK7%|hTG zQ@4coo?ru2sL9`MJz~kSshEsXpi=d5#PAcS)1y9ErA7oZZO?#Ng?_t82LkB9{t_!l z4gOix{!_d9;Eg0bsOkNaIP!Nyn#MoTGEYO>FAu4jcUVZC%nF{-Y8D=%7ijntq!d46 zDJL4~NF*~#tC1UH^uAtRWi0g~e^WF8NBa;yOoFC23$ge!Id&r>AqhoT;RRHJ;9Z7T z8GQuxKjY;%ARdNO5k>);RlbwWkYV0ouhub8Sn6glpKQyf&_qB66E52)s{UXnZFI*H zggNu_j$g({RX$P@oLJtN9E+4Yx*Xz#bKF}(@@ZGW?Nre1Jmu9lO;Ej>m1Xn}^GP>& zP6>V7HmHs*^19PW_}X#KVZ934xQ4}J9vpBUp+8Gzb%;7hhUR^= zO8_ch7quTldzC5E&;k<&8^~nLY;g=U*!`pNzgaLxBSmo#oiDNdhT+SW1nitVGtWz( zBCq_7Z4=B$ga+=fo3(!YLaxXm-iN3jn`Dm8Gif2ih|0d^**Ip>+s)V6(|&rX3Dm0pFc4G1Q0=xovO zAKe`UU5;GnA7HRSoLX>xn^X8ahh!l|kWX zHd0M7G7#U_Y7XZy8`*7)^!YhU;pN*oDVu+#CN}>EkcL-hg3y`oUQ)1j&B8JESw&gVnzlLOn&xt&&In#5LaKvjGi#@x``f8_I zmO?L&j#YC9oApN?2ZI8zEX=)FsGJs9o^<27jBOQrES2O3R{=l1$UGr4Evpv=PdO$1 zZUucClUdR4XOFIA)1ssCyaXH^Kh)O#oFguRu{JZbgKm@_?%O3t8LmcpLdiWe7a}-` zXE68r=^9_ECQ!kalQUbv#BK<~E(4hlT`d3^+lY5{XzdsMQh@oqk#hVLEsiD2Q1dS=;VYd>Y)&S{e67-70d7{OmqJ5A zLwcn>mT5%C1Ulf+B}u54$-$7Iu081bVn7T|`x6!`3Dt#Jo^EQ|0fjei#t?Ef6C?mn z{kVGDg9i5gRuD|4_5Dr3q#i#co$KqF(iDH(f_o>MNzJf{eGO!~>c_Lmei|sjzN-!J zSm9y4O-f`y+~V#6L|NXpEN$-Y5Ys~>a6bSGd7{Iq%@MQJa*XnHO^}7 z-UnD|yZzC91J|HYEGBpv0!|36e!_B)0`0R-+VO%-Fo|}NuXD2*e$OnNy@=&3-D7HI zoQBJZ*{;qO0|?+bVs76q=@rKtUZ9)yb4A`-f11W%5}6W?V4biB3t}}w-%7Km;htP? z$a1lo4ThpufEk@}kgW-w5UMnskS7Sy=`chGNvUCAFZ76*SQuK_(y%u^C5y&HriD9a z7PDkRH#nJQPP#-*GrE20o57$(OiG`tCSP<9VgAq_*uA-gH{moMwi-gg6t7X7o2W!$ za#HCa`zK7XG*5?Ep{L=D3CX=(z{D3QNBca|W|pX!;e8f@9P{+#U?-$(^<>6I_f5W*5KL z&Y1-tqYaWdwoF>=((X{}GfX-sf!`m}D<3nis@l^#V62*8-95Vi8V;J$Qg<9X)L0=Q z^?U5KJ|IIUDbD7q*vi~zc=%pA44TDfGtJdXPt7xTq|$Flamw@G)@fZaY@CsnuIB~# zg7<`m6PQ3qEPO`G)2^UR{?L}?mvJ6*+|JM=uXH#sJtwY__?51~_>TUfd`=T!4fM9q z4ljn_;InW5z1B-li5@UrUN|Q;HB+u{Jx3)czvg=wTqR!59bpv|5m6dq4%e*+QFsC$F|G zv<=N0_)pO}3>c6a5}epK4ZUgXMlfzz16oq5y)C-DNaW{B(5#P5khN#2k&_si_W_+U z5>-DXv-#7DZq{{LCOHQ4Xqnu*>h2tj45togj2LY#FRliq`#USJOal&-2if)U!x^Tq zD!xT=HPCld#F#nhOl(d4ZNh?L{??en z##1JnlP}sAMjaaSS(D1u3bt{IYn7JL`IY4=rwgdMjz$r*LA-8QR`uvz8O`-GxupRr#EK+q#}1Z-qm ztMyo!S5IxM6UID@`UKP2T+!rnf-J-H7oc^y?g5dS8j?yrS-zWMA;P(Yc|7tZplMNx z_p5=L2IV+Ok!C+6oPSlTB0K|ktu`!SOrst3O^z6|Ko~OQlonx8Tn+4gGDrF>3#Cq< z^w5M&0-wcaw#wfj8xj?WUu&tDrC_fnRawL6g0B-I;rPY zyxr6iZHQ4S27~^HiS6MhA%&I#Bh>L>pjmdXs+Pm?k_FT0fbU(qUp5z#;xO}1EokJ_ zq>4QtCDDg)BXkhVOj(yvy5tZYVW*Dy4zJmnS1=m^d|~)P6Oeffss}=vWwRyI2ysX^ zVrl5S$X!W`39OiHICA6xVO})b0M0Id9I0Cp6FyV{X>_I5XiZUe2f<zND*WE%N!Z8xbAU+F!Tf@6-}FFFzg0GLs0j0CB$EWCH$bD_KD*~{{Jrswc zwljy?f(W-c(M=PU83c8mwxYkvCRqKT+-nur${}AU;8)#{((l)x;E|;nUG6u4=BbX< zm!n@V3#*q8TH)l*{MWOYTfCC!F#j4N{hWU6F8Zuk2@PHsx zm8;oq({As~$`q**ibjP>xkZ)&7P{PVs1>?ID}o4gs1k>ArNC=6e*;9v$IBf36KNob zPN%Mi9L2YeuZ8W%gnc@6+skpbITOw}w@;n%89`PO6x`86Gcf0K%_vW}M#5Tyr9Q9P zRsrFT9P=EZS`d=evcIr$&5PDt{5#5nrA~0f$`U!QkE_cgJU=q*59X#r_pvMjx}O5k zrb1JE9hp+O-6X^QXkpj+Q{t$Nj;%X@l_Wz|>j?yF`*FnAGxO<>4d~wz8giAjv0Yn% z4#36+L}6mb@r@X&VWLAO4Y1vI%P=m%{h7l63+$Gtrt#O4ny|1-#16Jv#bblH9T43V zc)FN;T8A@AcX70Y-^<972)Bum+nwY0fLCz#o|5JuNo;}@MaK^)gKe5C5(Z2l>@53J z56vdZB}nCgAVOeO_Be*O><+GdR7YyJbAa-_V4__i62~l=&kanR@~urSA|za5WYS`r zQaxp@*#X}r|B6aN5MTXPWxlOL;44dgmq0b@&Z8bNIYxze4V2kM)QP@aFL%$?y86YB z7DQDj18v=?yI-1aAx@{>Cfiy4W;))Knh>Z9|y2g4t z8b^_H-YvWKOOa0Eo@vO7c=ItkwCr~{5?{`G7((f8$zvVaXc&H;x)^c`P9_SwsxhYaDz~wm0HPJ- z8r)&_{*w61Wz!HPY|0dih5|IRjVdc=i*z>r^WVXT+dw)4uMDQ+cC!d;OnbK)_fXK` zXB2=729K$Yj>^xt(&crXEe&*4D46eTkOP7p2tGtcI`VEuj%~KGkb{C>r<~a5Rf4_^ zAdh$6@e;I2V+Gz2Ku#6Wt!X3@i?1Kcg6UBXqO*MWF}HOi<>0Tx=+L4a5XUkY!^t5$ ze9{VB6nC_5U*ii44!TVDsT)V;Q(M_uInCKvC09U+>xNT*65Y*HD#FAlSazBPLF(zZIzyd6#z+<77WHD-|luvWIF)>1Gtf zmhv1-`A6CftR)#z$e#^r7GmAu2!5Q5bX91z!M1sdT-n?_3`CdAy>HieowxxW0~K0% zVgn5Eqs~%e+L%=~3>ZO+bnuEW=wrOD#g|afGd5eWXQ0(!!G7)Q4sTF9d4>jINiie3 zfQO|DPP67f?oo6*6p86EZ_VU8%47Vv$t27ZY~tbu;*QOpqCi_Fp;Kv?j|3T$3^1+S z6oS{RmNzbIBMkk!i6D!Y1kUXiB!4S_Nx?@lSUZ(MQIlhK2}fzep@@wqwN4j-0RRET zqoI)i<*Ni`ibRLW1wse$KoLzHFqvyDY3IX1Cm~hMMl&YCPwzFsJz35=`0AsqB_}|B zlW!;H(N}88|K75Lx!9e}X z3mXfET;C+GRb{J*QS>^9qecZQv&XOaBLj|x2O+l>GwvF@p&&7s*E_f4>$+D8{#~xi zRjRJMhS&GUh)xu5JZl+B?NvUnP<3kU=&oxcbLd{?@5P;0n^NA{GnTQRh3L@)^f@(o z4KgFuY;W3h2~Xmmg6Vw^wsrBYVT^VgV0adx#*Q^gpngaq{t5d&t0>oIqQD_+Wmb76 zUWYu*W+r@&aYOPV_0w^lG2MqwBU3C#hE!h$-@U6F9uanqrKW<%dI&?r(!09-pcg~S zoT=DCr_L}lv<^i2(`2?F zaBbNtB84n`(murEIwn<>=47F^`c> z*bl8!p+GWWjhUw%tLt(pF-%HP1diNKp+plorxJQIfP~(WbcXrueISZ1&aBw!wQt&g zs2p|r&K05NDCB@z-`K~}JiKHHf1ezt6kq9=^G37cC}iolQy^9c2~AOiw{n*loF^N> zx+Xv&b)4k%=SHNecyKGRDvLLPY6OS#c*n?kj6)%X#fSjp^2j*RZaSm!=7W;LPk0N3 ziaAvvb5f)X>|$Uo#>lbwCv$v#HB$ z=3Sa2lM3}qXK1bY)+KGkp5Zg`&lOW z^4b2#kgCU8b%!M6!L-lO4kS<6Rf_GcRn;+PnfVV)l4Og6I^m78G3%kVm6hpf`C;ijs~r^H`R*C%-Ha_#=lJ`3zNr=kjFk| zaF23+>QK`NyFz;tgJBN8<+Uh@!))Vp>DxMmN@B04|LmqG>=V%xaE@-=#V4Uk|GzkU z?_jv!H~d#yWwq6N4>emQ#MSd&VRY1VB7SZiwJ%Z*o;f4?L$fy^D z)dabLs_x)8an{Y;1bgLd{jctnxUB%$jT2eK!GgJIJ4yPO#k9sx`-@#?4y%IE)~64W zA|!+F$R_>#@ogcD!P6w;_xh|lI@{Hg5FOwMQc5{vYQM+NlTXtn42$oiXf$em+xpE1 z{r9R&y9X+nBR$tm^m+15tdk!6us9Tl*Y$$5AyTY9+20NI%8geOy}$QL`1pLbsH%4E zAE(S*(Qie!)|uazMpQ zTNzhHmm9iwh_gOhl&wm8Q2YFhq3Q2nld8^J)w1I!VQnZku5P;#S0A|kogUz5%0D(?8IMebnXC1t)6Mday!>R>X?SH(=${(t!2hcr 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

OCgQ1ALOJeV@!^szh(ZQyanNZx{=0 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

_V-Oi87aX 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 QORdvPi>3wt0PjEl*?ceEod5s; diff --git a/testfile.ipynb b/testfile.ipynb new file mode 100755 index 0000000..1254dd0 --- /dev/null +++ b/testfile.ipynb @@ -0,0 +1,55 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "16d67fa4", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "from diffusers import FluxPipeline\n", + "from huggingface_hub import login as hf_login\n", + "\n", + "print(\"Setup ...\")\n", + "hf_login(token=\"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\")\n", + "pipe = FluxPipeline.from_pretrained(\"black-forest-labs/FLUX.1-dev\", torch_dtype=torch.bfloat16)\n", + "pipe.enable_model_cpu_offload() #save some VRAM by offloading the model to CPU. Remove this if you have enough GPU power\n", + "\n", + "prompt = \"A cat holding a sign that says hello world\"\n", + "print(\"Generating image ...\")\n", + "image = pipe(\n", + " prompt,\n", + " height=1024,\n", + " width=1024,\n", + " guidance_scale=3.5,\n", + " num_inference_steps=50,\n", + " max_sequence_length=512,\n", + " generator=torch.Generator(\"cpu\").manual_seed(0)\n", + ").images[0]\n", + "image.save(\"flux-dev.png\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/views/adportal_dashboard.xml b/views/adportal_dashboard.xml new file mode 100755 index 0000000..a1d83f5 --- /dev/null +++ b/views/adportal_dashboard.xml @@ -0,0 +1,1079 @@ + + + + + + + + + + + +

;O>**;P>?@-h48_EQ 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