pyOpenVBA 6.3.0__tar.gz → 6.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/PKG-INFO +14 -2
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/README.md +13 -1
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/architecture.md +6 -5
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/ms-ovba-implementation-guide_v2.md +10 -4
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/pyproject.toml +1 -1
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/__init__.py +1 -1
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_host.py +2 -2
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/__init__.py +168 -171
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_workbook.xlsm +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/forms.py +47 -23
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/vba.py +9 -9
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/.gitignore +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/LICENSE.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/excel_checklist.csv +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/host_completeness.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/power_query.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/research/access_complex/README.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/research/access_designs/README.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/research/access_macros/README.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/research/access_write/README.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/research/pcode/README.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/roadmap.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/docs/vba_runtime.md +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/__main__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_a1.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_deflate.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_new_project.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_oforms_pages.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_oforms_records.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_package_signature.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_ppt_container.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_references.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_relationships.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_database.accdb +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_database_module.accdb +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_document.docm +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_excel_addin.xlam +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_presentation.pptm +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_workbook.xlsb +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/blank_workbook.xlsx +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/engine_skeleton.accdb +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/blank_files/engine_skeleton.mdb +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/form.blob +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/form.lvprop +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/form.prototypes +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/form.typeinfo +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/report.blob +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/report.lvprop +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/report.prototypes +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_templates/designs/report.typeinfo +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/_xml.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_alloc.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_btree.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_collation.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_collation_general_legacy.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_compact.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_complex.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_datapage.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_ddl.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_designs.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_facade.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_format.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_index.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_lval.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_macros.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_pages.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_props.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_queries.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_rows.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_schema.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_sql.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_storage.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_tdef.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_themes.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_validate.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/_vba.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access/database.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/access_read.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_arrays.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_autofill.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_autofilter.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_bridge.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_calc.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_cell_styles.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_clipboard.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_control_refs.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_controls.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_copy_names.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_dimensions.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_duplicates.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_dynamic_file.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_editing.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_engine_book.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_evaluate.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_events.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_find.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_font_rows.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_formats.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_formula_format.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_hyperlinks.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_hyperlinks_file.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_io.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_merges.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_model.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_named_api.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_names.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_notes.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_notes_file.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_number_format.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_protection.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_radios.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_refresh.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_region.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_row_formats.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_shape_api.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_shapes.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_shared.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_sheet_copy.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_sheet_move.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_sort.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_special_cells.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_spills.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_styles.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_table_edits.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_tables.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_text_columns.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_typing.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_validation.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_visible.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_windows.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/excel/_worksheet_functions.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/powerpoint/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/powerpoint/_bridge.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/powerpoint/_io.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/powerpoint/_model.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/word/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/word/_bridge.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/word/_io.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/apps/word/_model.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/cfb.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/excel.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/exceptions.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_arity.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/catalog.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/cells.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/collate.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/dates.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/evaluator.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/aggregate.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/arithmetic.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/arrays.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/common.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/conditional.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/database.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/dates.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/distributions.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/engineering.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/financial.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/information.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/lambdas.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/logical.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/lookup.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/matrix.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/statistics.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/subtotal.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/functions/text.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/host.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/lexer.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/nodes.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/numbers.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/parser.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/precise.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/reference.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/registry.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/special.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_calc/values.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_deep.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_display.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_formula2.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_inventory.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_parse.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_prefixes.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_r1c1.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_spell.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_structured.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/formula/_values.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_ast.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_constants_data.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_intrinsics.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_inventory.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_inventory_data.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_lex.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_objects.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_parse.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_preprocess.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_runtime.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_scripting.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/interpreter/_values.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/_eval.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/_inventory.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/_inventory_data.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/_library.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/_parse.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/mlang/_values.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerpoint.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_binary.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_files.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_mashup.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_metadata.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_opc.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_package.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_refresh.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_section.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/_sheets.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/powerquery/workbook.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/__init__.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/_docx.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/_docx_text.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/_drawingml.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/_pptx.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/_values.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/shapes/_xlsx.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/vba_pcode.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/src/pyopenvba/word.py +0 -0
- {pyopenvba-6.3.0 → pyopenvba-6.3.2}/tests/fuzz_corpus/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: pyOpenVBA
|
|
3
|
-
Version: 6.3.
|
|
3
|
+
Version: 6.3.2
|
|
4
4
|
Summary: Read and write VBA macros and Excel Power Query in pure Python, no dependencies.
|
|
5
5
|
Project-URL: Homepage, https://github.com/WilliamSmithEdward/pyOpenVBA
|
|
6
6
|
Project-URL: Repository, https://github.com/WilliamSmithEdward/pyOpenVBA
|
|
@@ -40,6 +40,7 @@ Description-Content-Type: text/markdown
|
|
|
40
40
|
[](https://pypi.org/project/pyOpenVBA/)
|
|
41
41
|
[](https://pypi.org/project/pyOpenVBA/)
|
|
42
42
|
[](https://github.com/WilliamSmithEdward/pyOpenVBA/actions/workflows/ci.yml)
|
|
43
|
+
[](https://github.com/WilliamSmithEdward/pyOpenVBA/actions/workflows/security.yml)
|
|
43
44
|
[](https://github.com/WilliamSmithEdward/pyOpenVBA/blob/main/LICENSE.md)
|
|
44
45
|
[](https://pepy.tech/project/pyOpenVBA)
|
|
45
46
|
|
|
@@ -1104,7 +1105,18 @@ $env:RUN_LIVE_POWER_QUERY = "1"; pytest tests/test_live_powerquery_gate.py
|
|
|
1104
1105
|
|
|
1105
1106
|
CI runs the test matrix on Python 3.10 through 3.14 on Linux, plus 3.12
|
|
1106
1107
|
on Windows and macOS, on every push and pull request. Releases go to
|
|
1107
|
-
PyPI when a `v*.*.*` tag is pushed
|
|
1108
|
+
PyPI when a `v*.*.*` tag is pushed and the tagged commit passes the
|
|
1109
|
+
security scans.
|
|
1110
|
+
|
|
1111
|
+
## Security
|
|
1112
|
+
|
|
1113
|
+
Please report a vulnerability privately with
|
|
1114
|
+
[Report a vulnerability](https://github.com/WilliamSmithEdward/pyOpenVBA/security/advisories/new),
|
|
1115
|
+
not in a public issue.
|
|
1116
|
+
[SECURITY.md](https://github.com/WilliamSmithEdward/pyOpenVBA/blob/main/SECURITY.md)
|
|
1117
|
+
says what to report, which versions get fixes and how the code is
|
|
1118
|
+
checked. CodeQL and Semgrep scan every push to main and every pull
|
|
1119
|
+
request, and every release carries its security report.
|
|
1108
1120
|
|
|
1109
1121
|
---
|
|
1110
1122
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[](https://pypi.org/project/pyOpenVBA/)
|
|
4
4
|
[](https://pypi.org/project/pyOpenVBA/)
|
|
5
5
|
[](https://github.com/WilliamSmithEdward/pyOpenVBA/actions/workflows/ci.yml)
|
|
6
|
+
[](https://github.com/WilliamSmithEdward/pyOpenVBA/actions/workflows/security.yml)
|
|
6
7
|
[](https://github.com/WilliamSmithEdward/pyOpenVBA/blob/main/LICENSE.md)
|
|
7
8
|
[](https://pepy.tech/project/pyOpenVBA)
|
|
8
9
|
|
|
@@ -1067,7 +1068,18 @@ $env:RUN_LIVE_POWER_QUERY = "1"; pytest tests/test_live_powerquery_gate.py
|
|
|
1067
1068
|
|
|
1068
1069
|
CI runs the test matrix on Python 3.10 through 3.14 on Linux, plus 3.12
|
|
1069
1070
|
on Windows and macOS, on every push and pull request. Releases go to
|
|
1070
|
-
PyPI when a `v*.*.*` tag is pushed
|
|
1071
|
+
PyPI when a `v*.*.*` tag is pushed and the tagged commit passes the
|
|
1072
|
+
security scans.
|
|
1073
|
+
|
|
1074
|
+
## Security
|
|
1075
|
+
|
|
1076
|
+
Please report a vulnerability privately with
|
|
1077
|
+
[Report a vulnerability](https://github.com/WilliamSmithEdward/pyOpenVBA/security/advisories/new),
|
|
1078
|
+
not in a public issue.
|
|
1079
|
+
[SECURITY.md](https://github.com/WilliamSmithEdward/pyOpenVBA/blob/main/SECURITY.md)
|
|
1080
|
+
says what to report, which versions get fixes and how the code is
|
|
1081
|
+
checked. CodeQL and Semgrep scan every push to main and every pull
|
|
1082
|
+
request, and every release carries its security report.
|
|
1071
1083
|
|
|
1072
1084
|
---
|
|
1073
1085
|
|
|
@@ -85,11 +85,12 @@ Other files:
|
|
|
85
85
|
{pull,push,ls,forms,access-ls,access-pull,access-push,access-disasm,disasm}`.
|
|
86
86
|
`disasm` / `access-disasm` accept `--with-source` to interleave
|
|
87
87
|
the original VBA source with the decoded p-code.
|
|
88
|
-
- `_templates/__init__.py`: generated module embedding
|
|
89
|
-
zlib-compressed base85
|
|
90
|
-
|
|
91
|
-
`
|
|
92
|
-
`
|
|
88
|
+
- `_templates/__init__.py`: generated module embedding, as
|
|
89
|
+
zlib-compressed base85 blobs, the empty files each host's
|
|
90
|
+
`create_new()` starts from. The `.xlsm` section is baked by
|
|
91
|
+
`scripts/bake_excel_template.py` from
|
|
92
|
+
`_templates/blank_files/blank_workbook.xlsm`, with Module1 written as
|
|
93
|
+
source alone, and the other bake scripts splice in theirs.
|
|
93
94
|
|
|
94
95
|
### 1.1 Layer rules
|
|
95
96
|
|
|
@@ -399,7 +399,7 @@ that you need the `PROJECT` stream (Section 8).
|
|
|
399
399
|
Each module's source lives at `/VBA/<MODULESTREAMNAME>`. Layout:
|
|
400
400
|
|
|
401
401
|
```
|
|
402
|
-
[ PerformanceCache prefix ] MODULEOFFSET bytes (
|
|
402
|
+
[ PerformanceCache prefix ] MODULEOFFSET bytes (preserve only for unedited modules)
|
|
403
403
|
[ CompressedSourceCode ] bytes from MODULEOFFSET to EOF
|
|
404
404
|
```
|
|
405
405
|
|
|
@@ -415,13 +415,19 @@ text = decode(raw, code_page=project.code_page)
|
|
|
415
415
|
**Write (in-place source replacement):**
|
|
416
416
|
|
|
417
417
|
```pseudo
|
|
418
|
-
old = cfb.get_stream_in_storage("VBA", module.stream_name)
|
|
419
|
-
prefix = old[:module.text_offset] # preserve verbatim
|
|
420
418
|
new_raw = encode(new_text, code_page=project.code_page)
|
|
421
419
|
new_body = ovba_compress(new_raw)
|
|
422
|
-
cfb.write_stream_in_storage("VBA", module.stream_name,
|
|
420
|
+
cfb.write_stream_in_storage("VBA", module.stream_name, new_body)
|
|
421
|
+
module.text_offset = 0
|
|
422
|
+
module.prefix_bytes = b""
|
|
423
|
+
# Rewrite the dir stream with this module's MODULEOFFSET = 0.
|
|
423
424
|
```
|
|
424
425
|
|
|
426
|
+
An edited module is source-only: retaining its old compiled prefix would
|
|
427
|
+
leave removed comments and string literals readable in the saved file.
|
|
428
|
+
Unedited modules keep their streams, including their cached p-code.
|
|
429
|
+
The project cache is invalidated as before so Office compiles the source.
|
|
430
|
+
|
|
425
431
|
**Write (new module):**
|
|
426
432
|
|
|
427
433
|
```pseudo
|
|
@@ -19,10 +19,10 @@ import zipfile
|
|
|
19
19
|
from pathlib import Path
|
|
20
20
|
from typing import ClassVar, TypeVar
|
|
21
21
|
|
|
22
|
-
from pyopenvba.cfb import CFB
|
|
23
22
|
from pyopenvba._new_project import with_project
|
|
24
23
|
from pyopenvba._package_signature import signature_parts, without_signature
|
|
25
24
|
from pyopenvba._references import ReferenceManager, module_offset, reference_spans
|
|
25
|
+
from pyopenvba.cfb import CFB
|
|
26
26
|
from pyopenvba.exceptions import NoVBAProjectError, UnsupportedFormatError, VBAProjectError
|
|
27
27
|
from pyopenvba.forms import VBAForm, create_form, form_names, read_form, read_forms
|
|
28
28
|
from pyopenvba.vba import (
|
|
@@ -677,7 +677,7 @@ class VBAHostFile(ReferenceManager):
|
|
|
677
677
|
write_back_modules(cfb, project)
|
|
678
678
|
|
|
679
679
|
# 5. Rewrite the dir + PROJECT streams when the module set's
|
|
680
|
-
# identity
|
|
680
|
+
# identity or a module's source offset has changed. PROJECT is
|
|
681
681
|
# always rewritten on a structural save so that any duplicate
|
|
682
682
|
# declarations or stale ``[Workspace]`` entries left behind by
|
|
683
683
|
# earlier buggy writes are scrubbed via the dedup pass in
|
|
@@ -15,178 +15,175 @@ import base64
|
|
|
15
15
|
import zlib
|
|
16
16
|
|
|
17
17
|
# --- XLSM template (generated by bake_excel_template.py) ---
|
|
18
|
-
# Source bytes:
|
|
18
|
+
# Source bytes: 8547 | zlib: 7936 | base85: 9920
|
|
19
19
|
_EMPTY_XLSM_B85 = (
|
|
20
|
-
"c-
|
|
21
|
-
"{
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"*
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"!
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"$
|
|
86
|
-
"
|
|
87
|
-
"@
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"$
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"{
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"=
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"|
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"{
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"
|
|
121
|
-
"
|
|
122
|
-
"
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"i
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"
|
|
151
|
-
"&
|
|
152
|
-
"
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
"
|
|
156
|
-
"
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"
|
|
160
|
-
"
|
|
161
|
-
"
|
|
162
|
-
"
|
|
163
|
-
"
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
"
|
|
169
|
-
"
|
|
170
|
-
"
|
|
171
|
-
"
|
|
172
|
-
"
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
"
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"
|
|
182
|
-
"
|
|
183
|
-
"
|
|
184
|
-
"
|
|
185
|
-
"
|
|
186
|
-
"
|
|
187
|
-
"HKYkE^|E|6NY2Z(N_#XqY5dTt({{;T2q5cERhx}iP>Yw006`y~=EWrPt{`04uKZTHg>=?uRz"
|
|
188
|
-
"h#j>t^CQV|6@f5?!R*Ee;W9cb@<1C56T}L#GlYV-}nB33ZVa&x4-"
|
|
189
|
-
"}8fIpJrKX48F|B@pAg#Q`s|G?V`{&(yvNJ9hv`W61|@P2!sHPK&x{y*0Iq!R"
|
|
20
|
+
"c-"
|
|
21
|
+
"nn=1yoyE*LHv+0g4xg;O_1&#kIwXy9N*LP~2tk;%+T2!L1Z8R=jv|clel@^{@G+@B979%DE@"
|
|
22
|
+
"^=Gj?m@3Zw$Re*bi0{{S!UOwc2%5-iu0~i26^c4Vr{c=Z7671k=?%-;u>FH?hqR--CZ&#Jnt"
|
|
23
|
+
"qezw5q3-i?G3BYDJ6|&U-p{t`c8TQQ_OZ~5=j27-"
|
|
24
|
+
"eGm+pfSVhyUhhGq6PFA1iMke5@r(|DqJL!{VSoIO~+Y;ndtJyQO~e65<W3l3`o=<{a!0+qu{"
|
|
25
|
+
"ichf+%)HG*g+a#O){z7ao=+gwo}6@>vaggd2Z*hs5Z%7uq8n@B;9O^#VuQfYv<IlwL6<_EA?"
|
|
26
|
+
"Ke0unyme*fvRp=dtXmI5W!NrpI>A<#sa?7wy|;1#TUTvcL%X{R(dw9T?!LLz2;ZjpGF_z=AI"
|
|
27
|
+
"f$?Ylw2?dridDFIZ`zx`{@?^VPLmNJD2d;{BcXke|f?6T&ES{w`AE1Xs7vr)f+d0e(9|fd$m"
|
|
28
|
+
"XJ@jM{iv?sW_CUY{YqW)|83s4lZv!+$&MdQ3<sZjpgodQk2y>fTvITROy^xUo=Bpjkn}?3aO"
|
|
29
|
+
"U$cfH<skO@aH^C=cn`L`A+c1BkU#u=<_DL>c7m<@Q#i0;AN)>3jm<JTn(Mg?Oa${{#>i3y5-"
|
|
30
|
+
"^6F%Z_;)&xUZAeMUKQW=NRAuCd|i1<l+4)avliKUB8c<A{k4Hs*VJGtPng`@4Y8Nr>OR5seY"
|
|
31
|
+
"%yh9bl~KWAX-`gWh~=7*sqIp;j+?M;M|U>&-"
|
|
32
|
+
"*U>6v}MvFGlJu!d$ny_Wtl8C#flR8oY0=g_*I!>Hes;SBM=6Z7FSH3mSL9jH4dx7+M9Sk-"
|
|
33
|
+
"I@MWXx(yj3<LGG!^d9sA#Jue*V}2)EByRGf~P9H6<C45xJ|FX@Rpw2<s_g)I&(yNZ`_{Uky;"
|
|
34
|
+
"^T;_dc%PE8;G#GR;0z2bwFMI0!xL@Qx$F(?YOD+2Rxr3i_X%bLIe097wv(O>R(*s(&u&bB6C"
|
|
35
|
+
"u<c*xGgS|~L5CBts`cYJz@r2qx~5z((!R2aizMcUUE4iZK98KLJ+|>wbNSt>Y;#M!U<%K#YL"
|
|
36
|
+
"FuzG1LWq=V4^NVNESVd`~2J6IGJzUYEDr(Bfp=Gt>kLf$>hJzBP@&ClT(!`Sc#Vqi0Wg)Zhm"
|
|
37
|
+
"&ox74m(3-"
|
|
38
|
+
"8*7$^Fba?s~kJog#Y=ANfSd*E0+Iz==q6KSC>XWceifdA2eRukP2SjHckhllcRM13w(`ReM8"
|
|
39
|
+
"i5X+%)MKsszOl;wFAc|RHuOyHa<?Yj_sbRU7fOK0;#wtXBL+lHt6x!LsQ?8q1;B1AB!q%IZv"
|
|
40
|
+
"{%AANx$%k6m%r1D&e2?CH)vm0H=MHk|0~B&uzK+tLrO<4RAGDo?tQ<Jf|pIb+r+WBn3wiLG!"
|
|
41
|
+
"9vRE}4!G?Nx;g@%ryB~^lk#yO$SLhfsQDrddy%<-4-"
|
|
42
|
+
"z>7hnu})fG(aV?Qa4J&Cei8nIBZgBI%EPFAT4`Fig=(0mWytkPS)TP$^{D=;#!;M7hkA)@3I"
|
|
43
|
+
"3-kPJ&-al?7a!Bwn9yvZ-"
|
|
44
|
+
"q1Ed1E>vf+d1pHeM9ltlh9hh+(!T3QIb318D2pgbrp}640JJdQh28^f?KtHE?UXWv$g6L-"
|
|
45
|
+
"Q2HtK4S5?FO{LEOfsYSdrh)F-fsZ+wSRc&<giE~AGH`w@DG2O9yg`tHcR?bO-ZKVu4xrj>fG"
|
|
46
|
+
"xGVuuQl5OQeIbqiV!jxe1Kk-"
|
|
47
|
+
"%9trGkL0doT6)eDJWd{ijH^X_n&r|58>xns2>Y)7t1mGvJ4(<n<#CLH#{I$Sr`)fu8-"
|
|
48
|
+
"CbGH0dKOfn9}TVJ&t;QuE*nX}vbAsKy)|>>%r(T$@&%XzpIYF=_-"
|
|
49
|
+
"pG^pbgS!^LKATnH9oc?bmrAE|S;(ZD^h^)^$4NguXiDbTu;f%%yOW}9omm{_<L;Ym>jx1#SP"
|
|
50
|
+
"!}HbpTze-=}L+>CRE*Y<C0-"
|
|
51
|
+
"PpU;BBli|_J3%;;C^wU1ZbXYgxxSMXSW#w#_5mjVgkS&!R{<;_w^U_x?*<O7E*6g&~iugKn7"
|
|
52
|
+
"!lduRB<~K(Q0`6FsScVes;jXYFV;BUR`79KYnZIjlJ>__-"
|
|
53
|
+
"NU!(1UewPH^@ZM2`CoGm?>*ELXY`NqY<!8w(F^y4=|LrIg-uJoNJr;s)7hz7zCly`P3bu#SU"
|
|
54
|
+
"l)M+g9W!JzR{-"
|
|
55
|
+
"pi4I|g1LGv2=JN?u|V;ot7~cbNL$PWgApN)%V_Wy6rZe!JA2A?&1%AyKN#i&Q2U(gX9sGVzZ"
|
|
56
|
+
"eIYXxM&fZc{Zy7@)rL_v4@t!;SnY4l-CLa@+;o+rIgS(7M8}r_sycb>-"
|
|
57
|
+
"3Ro+YtRjKeWTWUUZ-?qa^QVW^*T$}x5RPFPch!G^ip-|-"
|
|
58
|
+
"=Cah{j8CfbcHMqPn=pFYH?~T*44r!u#PNO-TEN-Y75^~TL{?rm_-v;!tsSglCL$EZ6&#-"
|
|
59
|
+
">^AR<Fs;<9qE&fZlVEp+_KlN#uWE{3H2;JOiEU&q+m$si75^jBVQ>A@0u9My-YSzx3@JB{6!"
|
|
60
|
+
"I>zj%fqrvr<9kh3l*E&!ax}Kvyf-a8OpyEmOE8p-"
|
|
61
|
+
"20MadtPD~{y*`{#md~=)rIx13;Uls%bqp_FOp#ZPOjzd(RNoJSLHJ43gy#e_IrzMmamjg7G&"
|
|
62
|
+
"77;0v9&4%@V76a>mx->t+3-"
|
|
63
|
+
"#hWtHWRrH8cYaChe_g=bWOZ1PqyZJxNC`U2;^r~q!!>9S`SA%O3f8zMl*v{OJCScWIGY-"
|
|
64
|
+
"9^ZQ=@-5`!vJ{h!ern68#9iq(%j~<vm3|ZHnzm^zpj5Alpxm?M*Y~OQJ=Pr6HDQb>Ij-RP8-"
|
|
65
|
+
"ls=m27Ti(H?7K$h}Bnq4)aCd$+G3IAq0<TT|1aNc)e(VU;+EuTx+1SOznXErvX_W!ERB63>X"
|
|
66
|
+
"F7Cv7-"
|
|
67
|
+
"Je^w(Ghv=lEbRYLsmKH^Jq4_mKFHfT*PZcJHe+QP)Sf~XZVlcMKbaZMHeKtm#~hviq+yu*V$"
|
|
68
|
+
"H=EDa62gYu4cDL8oPXi<cS&5Z0k7>p7O7{J6uOB>wq>rhEZ`u|?f>E%LDHiQanmBOWJf<M@2"
|
|
69
|
+
"ug|^dBK+LtfLOl^Jh!Jg1JEOf~IYi;iOeeHq9`b}p0?oJ49Vchp0M<I5od0T;p`G+Vv;LsSV"
|
|
70
|
+
"qY1GH|#tah0qCHq}$N`=%(!k_bulWhW9T?E|^B@W4T;e=163F$G{n>Cn5a%j&|r4<G&4mWmG"
|
|
71
|
+
"SIf&c(uQv6+9y%^rr%G}=k@AWU6AL@?BZ8W}t;_W_@?H)By={>P)E3M@&9E=^HS+whI-"
|
|
72
|
+
"Y`vKLFm-U_6Uf&Vf(kgD+Iz?PbvhiI3q<OSOvUlxroyti{g2tL{|IE^uyJHHr-ysb>JiB-"
|
|
73
|
+
"m&+?4e9L-"
|
|
74
|
+
")80B_MY6V5ILbFGqc(KnMF}o5%wi`a(Oe}W;YBPgt5+dvIP<nt2k5c>w^1J*sj!nNY*VlpV#"
|
|
75
|
+
"#W;>Aw_MXoLXe#f6Lr@+*>=@KwYk5u*o3!+W`lo#ZoeHe564jcoLA)N$s=aZ!jVY*RDq<9G*"
|
|
76
|
+
"XUloPRCqP0%3^$7t22|&Fr$(P68t^e4^kIMpwu+SQ!jg>Edapu=F-"
|
|
77
|
+
"hlR@4jRXqG!H|7=l|O1eZU_8_0#T2={NCwo?dT*UY&y-Xn``ia1P-"
|
|
78
|
+
"h^7d`2e3)ie^(!D^&8ytq;5oDV0qnmuisR(VSA-_e|4XoH#d8NtofnwdWY{&WdItc_37u-"
|
|
79
|
+
"YA-"
|
|
80
|
+
"r5cphx+0nfl9=zVi#HgQQqXb^}Mw6`VFI(>L4K;0U|gzsq<axF+wBFM6?r}?F^6<H+Z<E$<+"
|
|
81
|
+
"D?u&?!#hWD6PsbTFkFoME>g2Zpl!6YjFG(_fhvuvkzmfgK<u=8`>z5aG+88@gM3CDZ~Ychg%"
|
|
82
|
+
"Dy(j#`kV*dgI&8yM<&epkU;)9H7<R{}P8o)PGFqIlgdE4CqUd_V4gT_gJV<8Ej5>EY3`lXpX"
|
|
83
|
+
"!<oSxV)ARmt)qkk{yV>LVNRy%O?J~&!K8{s{vkQ@U+wBIm<gK>KWP{t7`ln);iLBLFb_IYf>"
|
|
84
|
+
"RWAOgf%G|!jnD1a3HT#D~h3`A|>`o@0NnnzI0C-"
|
|
85
|
+
"7Eypoq9$AphfG*BQOP+Ks6r&0I%YKZ+?)i0=4ejnU5~vs%%PwfsYD|SoHEP7{Dfs9l~8|nJW"
|
|
86
|
+
"nlw@M93))=#*f+%kx{@RGeTEFgv@eZ7S%iF6$YsZt5n5@-"
|
|
87
|
+
"eG_ceY^z@82&U?c%@A((JPgl`X^8`G0>GlV67PoO2kP8y2hM(6&BG8{M%&Sr~6POg|`=~FfA"
|
|
88
|
+
"3;Qaw*H3=7EOryiFe9F}OPhq>BCX)n)VETC>B88@w;woUx&%z8=z{hHslc2;fuyL{DAAjTjh"
|
|
89
|
+
"8OOwA=8B{$DnWnFIfTg67O%hRl4rG??4a_;{*g*EwcWuYeM-"
|
|
90
|
+
"s>vmWyq*$(;~W;ak9^`>ej$obPt-fz(M24fSy}4<hBi|@wRfP2yV&@i7wu_fU~w0^j-"
|
|
91
|
+
"OW<Yx;1OsVRf6OpgL{ib)Pw_e;1XMJVL6S870G<yj+J%^Y`0)3Pa^?bDg8<3tsIbg$sO1;VR"
|
|
92
|
+
"zyl<$rZYJ_goD-b0sfl1(X+1(u6yIrw-if6$h`J(}!7m4P$Mf`IwbXY-"
|
|
93
|
+
"Z^q^NaxAa?v)&eQ&m;OQkE!+)r&QAY)HbyKwv)*o?QrWpXdC*eh1KfG6n?ZZ%z74lNyoU?eJ"
|
|
94
|
+
"_HdI28H;+m%A|k`ljr5(hh<Fj8~b;%g$NT3cgFa1?*3Z4~D%BU4h;D-"
|
|
95
|
+
"N9bYC>|{qCIVG0_?!Uc|`k)JKOY}&!z2AI}S&7Jqdu8L&!t9p$S9OiZaBTsGg%nx2_arsHF*"
|
|
96
|
+
"0jYtu1k|TV#aYZR4V<EeAmq_zs38X$*DIIELBkrfM1jdVG!h{u9BP|K)j5x}cy^H6(wDu0$y"
|
|
97
|
+
"Ih3eS}RG}x9m~ajIaeF9lEbNRo*Yg+nfm%L^~Y&_O-"
|
|
98
|
+
"U;5+Tj#&AL^WWiA5AQ4Zi?to4jDqyw4HG~ua=14+J4O^ebrn0**x4=)TTt3gIA)TVI2%tCM%"
|
|
99
|
+
"dHxC)GTV1a@@&aCHWGZ|f<3ns!=cNhN{4=7mq{yuD-"
|
|
100
|
+
"*r?B;~kbq!4i<jis;W@_BOy1HN(9?R-~8dx+sX=61tO$K_9DD8qIB6~L-"
|
|
101
|
+
"ZHqZ>1EGsXZiRb91KU_8{Nxz((vcf{k8CL>vI#^NsF`R*@9RD!SMH_z&`8ucB@U7g(^z;6;1"
|
|
102
|
+
"0RjwU4&}VET@8PdJ&0$&`~W#>1!?KQOS>e`XI!%ibfqqrgyf-"
|
|
103
|
+
"3p|;fQhCG$@Jw=(lDqiK$(sk!jE63`RU--"
|
|
104
|
+
"%k^1W2tdkIsgk@1sWGlL^6vya6q*`(Z?f7J(?F{)YoOOL*Y!zvDFpXBU(x^egI~@lOGOd{*c"
|
|
105
|
+
"qo!~3b(upw~~Pr<FIkPXT4sb#!Q>sB%?JmKiYu`vHt|A=TqtW#e-"
|
|
106
|
+
"bIvW;L&j;Iwk0(8}x7P=q(afR{zCQng)jun<K6er2;_9^(+sy8CV@`I5l#^?Is?==y{6crG%"
|
|
107
|
+
"5635h7`U;p_t@Z{jU9o!HqiqPC6iYJ*)lbYgj_NPmItqiSN9YVYwY&r1DDr5gtG4p3OETNg!"
|
|
108
|
+
"Yzeya>IsrIUL~VJqLW>j%fyW@s=fI1tmI^OavW{NetcAXTpDrcz(ZNUfJ7`TFk!>Eh~XXYTT"
|
|
109
|
+
"6YAi}wwOwSx7+giX2ZgMV=u{t4i@&$dAVk(9s1NR7Xv_-#^)Vs&`@;OQh#9Su#30X)v|U%o-"
|
|
110
|
+
"O{zsTk^T=M5DnfY#BTZ6%(Z9YDMOY)_~QVuU5!`=ZbTRgrg|UJ7@;eaiH*X?_m&cmiGjGnLZ"
|
|
111
|
+
"5fN|Q^-hlcgYmI&*Xqh!12ci-"
|
|
112
|
+
"9~>TEZ4M|2K*$f?z^2Km($t@tpu%kMzpCRd(|GAU}z=O)yJC-"
|
|
113
|
+
"*t<f#uuRw)RYVat2*!C6%xwWA?BD-b_>8hBIpUp9j(hR2T~4tqIjm=bSCA!nC;)oip2GLO5|"
|
|
114
|
+
"~@j4(^F@-"
|
|
115
|
+
"ofP;6tL_{0ILV=?o_A9xs&6TE`{v)j^X<TzQ9xYS38^Xxie(d7As98=nBydO^EL+B<IPsulm"
|
|
116
|
+
"F9!k<Evh_$31Rf)*OE-YSc6k?9iY9PV}71uC!aha`Iek6mL?KCy><Ha(l7P5K(woA=ob8UnR"
|
|
117
|
+
"A%wokvP<`vp?kg@r&rr{v1$sutmUI$1pGL|#%glYTGk_h4O|pcSG}x-xh@qERz3QWauUS-"
|
|
118
|
+
"JiqA5^V1Z<p>P!cR@*nom#`BUJI-Co5!n^z8rwo<M(PqWR;2pz4;*+zH=2l)GV+o(Ys2jOt8"
|
|
119
|
+
"cOrwT3Qz(y!-LZ+SL=9JJprcju6#SqJUOUFeX?pFh$)_IMx_86$`xWy9{zHU^<HqWI=-"
|
|
120
|
+
"eJVqJpb6Mz+#0{wvHPqp1*cETxTpF8LY{+|ked9ABpv`<->heo{dn-"
|
|
121
|
+
"L8<^H(u|uvQU#K?<hw`E=qnuJdG=;39!r*_j`WyfaLk6Zk{TIZIrf0Iwf!05h|TmFfnjuF`c"
|
|
122
|
+
"_QrKK#SUme7NrK8zM`z>8qand9}mTp-SElmN&_h~deU{N5~6XnF}zYj2QF(g{$&n?YMmG}1n"
|
|
123
|
+
"b~iCrbq3p*o4T@?SUVi*>f0^OzIl2({5fAL;%9UEMs8|ClAQwcbz-"
|
|
124
|
+
"u4S%i8NjyY|EDeGAlms7?hE=fhIqEfzwWf{x@L9NgQ`EF!>R{#$Q50m{QIZ3UF_j!=8eJ>%Z"
|
|
125
|
+
"@4^H*$;3xD){&LF&sNP;TSE@SdhSt7r6LhiTjc2DEjvptL*6W4-"
|
|
126
|
+
"{$kArWNoL;`=ou;%2=cuv+jjFtt_f8=RdqhYn?$`Gwg4d2S(fBX_~Id;_6FfJl*_c_1U&8aL"
|
|
127
|
+
"tz>!9#pXF3Y$rz3mI07ig_SXti$T=7WNGqKfvNsUsJEJvrN-_xQ?OaZu)w{37VLrbTgB~_dM"
|
|
128
|
+
"`>u4NKJO1_(Y;+}=;LtNv(M5MSfIZ2L;!I4rZ>`f>1u@ua4p}MlF!_akbDNu#9d{maJ#5*k5"
|
|
129
|
+
"04-+eNVe-Ww*{)3fQYX$Xj4wMl8PbR>S2CiX235X9yog;7gyrlar#TXlvlh2&CP$85{?4O}W"
|
|
130
|
+
"CO}JcyWvKxyVo&8sac4Ykf|&<Td+)ZSF+ZKPv>;cfJb-GGJBK$7o81G7T%+1FTOD)<e{^<!h"
|
|
131
|
+
">DxKOMP9n<yD=0PbNTOQjc!_hvb-@@6pqeuRp6UKf7Yp35tjYq6G-"
|
|
132
|
+
"e1c#Q**dHy3ECgeKJm_PjLpX-"
|
|
133
|
+
"x;#9K1y7xTs(Nmz#nUQ(ze8Jwp>poP<T+&STPfnCmEgLqtgm_yIy-C(M%D-"
|
|
134
|
+
";Q*!8cKZaYZFM-"
|
|
135
|
+
"p|7=F^6$CBntRdVHt=AgAUnFRst8zllf$<+XSoD|8U}Dvq)>`3z?XjI}4Ka*hQxGE?tx&p1|"
|
|
136
|
+
"?rVr-ef3+>E_~9WFx^IPi-"
|
|
137
|
+
"1hOD(?BkLbZ;zZc3z;;+=ZYt40rBq4+X7p{f%|8(e6V1KH^xjq=zcl`l*Km;BOolM;F@AdZ&"
|
|
138
|
+
"ep#57{KGt+RUwG~i~w*O7bR^Q_Bwj3BI0X0Fd$*$Qw9youu;Giino)%xj<PBy4S0)?ltchEu"
|
|
139
|
+
"R=LLQ^FUj19DQeS;<LVcaRryuJ*y0t;cE9rKS~FNz+(Y+T)}CRLyfw5<6|k3{;cQs&bw`#TN"
|
|
140
|
+
"Bp=TN69#TNA4hkdeIO*^#`sXp*~XlmijLi>9JERA209|Cuq=UHWfkTt6~rZl4REyf{;<^TG&"
|
|
141
|
+
"iO8;8cG2yW9-X#Q1XF(Gnv2|MdyQT|JX6*~!);nUOguCy1?mfY?nDjiF-"
|
|
142
|
+
"}YIpHe^ULG6P6wdp`j3kL%j@7lfvF-MQ_Ii6UqF{E56P*V*<LUel<vsf!2~kQiU%7y;;ahs2"
|
|
143
|
+
"12@RH`Ag@_T^f7mM3fnP~u1uX6*uRGN)rX#q7Eu-"
|
|
144
|
+
"Zn)hD^%T1V$7s+3&dq2MbSFyZUIcSSBhQ`+U?Ftq|5Xf@AAt9}1co-kV?&Jx^GiK?tvIOt#c"
|
|
145
|
+
"fuK(c(>j`!ZWN3If$ExVzah^N<5LcD{-hv5fx8A|g|C)(Dyk^$Gm&oL*RI5_rt6;@-"
|
|
146
|
+
"+5=&A|+7pM#kGrICG{XyBel&@Z3v0m#vGMcBVa*u-"
|
|
147
|
+
"}NnN%Q>;h74k2aQ5kwpVobxPZ}bh$alG=rM3Bo<L0M}`Iz>M&Tz}_1MQpLNVqm!V(|7A(}%$"
|
|
148
|
+
"mvmZ=iID@Xf<#<Z{`Y65qkZHQL&7UrFXMgm}QxvdrAZ9+dzq?tSo$W_h%NB`PFIo`n2Z^%OA"
|
|
149
|
+
"#2Pzxqwds44p-FXxY6B(-"
|
|
150
|
+
"M<1EKtuoc=Zy6U)ovv4O|bd>lu{6eNj7p@)aBYny0!VzdHN1jGT;NE34%(KB%Eka?iJ({qrh"
|
|
151
|
+
"^riloWqwYp&5CVnYVQ9y>TRbH+vywZvKk=)kDXJ+}apQ!s4GM`sv6XL9c{gQ*oYjO;K*_m}2"
|
|
152
|
+
"2~u)?pxz9G~^_M*RcZyPYUu)bU<-"
|
|
153
|
+
"6VEo%kMvP=?toRTNP<X_$iB=O1>Zy~{*zslG<!O2)kG&LQgWoSPP@S4nSkcL6)6`ZqJ=>a{="
|
|
154
|
+
"8TzqKf*WfRc|_SM3|G3F0Caqxl2v@jxVFFZY6YcQ!nk5xu;AClyLI>*eQ^M#E^u=Nq1xJHX="
|
|
155
|
+
"NPs1PI*JSb*Kl<884-"
|
|
156
|
+
"ub+ZyrY&*jKJ8(O{qp=h4fdB9$#L3Rr9AJl|%C3!&eD;6*|F;b?q%|FrF^bVdVI=GEb?bUI^"
|
|
157
|
+
"mqB_X<h$#fYNXMok4kAV&^C#Ed*HehE<imdWgKY*N_Le?WEzIuKs4^xg`)B1JI4r+rDc}c9T"
|
|
158
|
+
"Wk-&DluW-PqHGfxD}o?jj?`Pkol9++8266?e68@e4tc>Fp5%(?Ki<cj32l866%VAXCqQ;{EC"
|
|
159
|
+
"F$aF5@WwA^9DE2tUmhKiFS>11WGQ%de~FsYf0<ioUxZ7vZ6_JSD=le}!d2G@Fz9{SWHfYVOU"
|
|
160
|
+
"{=MiqR$Qem@Un`yp1;fhQ%Fx_Ny|J_qn=P$^9W7>mPnk;6#cr0A=2=F6ysDaoqV>^D17y&=x"
|
|
161
|
+
"%BGgNj)5&QPcPWrX!jpU!XW~Ff2jue(EY}>ihPJU(X@{NTc>4&eV|UhGS+0$INXfsB3yQgA9"
|
|
162
|
+
"7K;omZ6DAg#x5JOb^3>j_r7QLP6Mch}jvVG$&3|#x-O?_3<@C<77`Gr6j$we}yhc#-"
|
|
163
|
+
">BA7ebE<YVIc*WY$={=f-a!`xcu`39AeI-a110dzh1p>Uh!LYT1-"
|
|
164
|
+
"_*oV0^WOfY&ii`0H18RykTza{aO#3TsC-NCf*c-"
|
|
165
|
+
";rNi&<Nzc9SbzYGko56>K>C+GhCn1Tq)$=RiEz6J-"
|
|
166
|
+
"`>q5jdBCfVE9nUY@my<LZ&r`Q<mt!08}zGvAR{&U3js%gg96}gf$(#K^VXw3~ELloX?<7SpG"
|
|
167
|
+
"Hp9g}f3r^$0J><MweG++#X5ATTEb$)gFjHtQcU+z-"
|
|
168
|
+
"$JR)*`+<PSTx+vzS|8IlEu5@4Cm%*Yf?BCUg8QAot^l)@xH3d7H|5-xEB#zkpHGmC$3Z7g^-"
|
|
169
|
+
"4defasR}u!>#&OULGQmL6z@CUe<7a-"
|
|
170
|
+
"LL$U${tsLmDAD{G3CqqicKP)_*u<xGk*ClN5;a1_q+DoDj-"
|
|
171
|
+
"!X3eF&U+fNeSNLKGxS5ubM9E97w_Pb<(<kk%wfzDca`q8l_#5ZVMDCurSx>Y>0wz!fOkGO&Z"
|
|
172
|
+
"q6@f=2|F5<<Q&};z1eJT!I&f|LFn?=TklvgUhMyx20@V{Xx#2qP48%+NDEm*v^OH}qz2!FeL"
|
|
173
|
+
"UPem(pysSN)Jn&?+A52-Jo_3Brh0$^u`q1Q#_sXIqwRCZJ<O0HKDyZDnM@{n>-ul0Zg!-"
|
|
174
|
+
"MQW==2__xAMo}E*<Ridy-"
|
|
175
|
+
"r+Cj+Toio+rD~xtuNzqXb?0#OY?iqCdAk?yrqRf1)T%>J5|)Io0c9=o9HB`oFboEC<B!f6+4"
|
|
176
|
+
"L%lH=Ke{0#;(ebabZDO~>A{%PhG29(m*ilSYHC>q4dv+>DulZVl+~OCS={i*%9I4sb>x*FfK"
|
|
177
|
+
"DV|UFG~L>GSPU=CjE^sxLEwCq1rXh3F5Wdt&R+Ry{AWKnM2`9bTNZ~(A~hkD(FrA6_Aq3T})"
|
|
178
|
+
"^0Ml7^6eM3h6GdEY*dwg=&m>M?jFze7gs=D&5P?8^M2(Tj+LY)Z{>>*fRNBDSgGzOJMa_x2V"
|
|
179
|
+
"Np5ye=Vi(AX0Gu&zJ!q=JdP}cguJm76+kf<Hdi~GAnk%u4R(yBd?@~96!X!(r}SkMn(XuDyY"
|
|
180
|
+
"L^z*4`Uf)-"
|
|
181
|
+
"z|t@FRb4IQ!>eXi?moA|Yf+)YI@|Yb!R=6PSV`lKgru6uALOiC_4_6plIE=e&domo5bhvc&5"
|
|
182
|
+
"X!I*Ke!V||fU@U*Jb_1+9RP5sr7yO&zbOq>nA*7>eUJBc*YLocUbv>Q*Cnh9py?v}HU*J29c"
|
|
183
|
+
"#EW9jW_OhUl93icW0FnpSb7MgCTzGGoNp>!D{7Mji<=ULnZy~-"
|
|
184
|
+
"N+qCRRIPT2k?J0+W+qr00a2%{Pynxe&=BS5fBISFGluv;O{);KfprR|6nbD2mj8h`~&7h`2T"
|
|
185
|
+
"S%zsvcZZ1_ix8RGv<J^U`^_sR7?QuKlUb&mbJfZsd&e+2kp{MP6H4*k8S`UfhC{a-"
|
|
186
|
+
"q)|4_hhLGd4W2ho2Ck-x)#_x69_lqCP@`>G1?2!B3BetG-8{NV)YpFjQ|AznS~"
|
|
190
187
|
)
|
|
191
188
|
|
|
192
189
|
EMPTY_XLSM_BYTES: bytes = zlib.decompress(base64.b85decode(_EMPTY_XLSM_B85))
|