From b91b52adbc5452d994d9b30570d60c023785c990 Mon Sep 17 00:00:00 2001 From: wangshaoping Date: Mon, 25 Dec 2023 17:10:26 +0800 Subject: [PATCH] add theme update --- app.platform/build.gradle | 1 + app.platform/platform.sql | 128 +++++++ app.platform/platform2.sql | 127 +++++++ .../main/java/app/platform/Application.java | 2 + build.gradle | 4 +- gradle.properties | 5 +- io.sc.platform.core.frontend/package.json | 2 +- .../src/components/index.ts | 2 + .../src/i18n/messages.json | 3 +- .../src/i18n/messages_tw_CN.json | 3 +- .../src/i18n/messages_zh_CN.json | 3 +- .../src/menus/menus.json | 9 + .../platform/components/grid/PlatformGrid.vue | 58 +++- .../platform/components/grid/WListGrid.vue | 322 ++++++++++++++++++ .../platform/components/grid/WTreeGrid.vue | 39 +++ .../src/platform/components/index.ts | 3 + .../platform/components/tree/WTreeGrid.vue | 10 +- .../src/platform/index.ts | 1 + .../platform/plugin/manager/MenuManager.ts | 15 +- .../src/platform/types/MenuItemType.ts | 1 + .../src/platform/utils/Tools.ts | 9 + .../src/platform/utils/TreeBuilder.ts | 2 +- .../src/routes/routes.json | 12 + .../src/views/Table.vue | 54 +++ .../src/views/TreeGrid.vue | 48 +-- .../template-project/.npmrc | 2 +- .../template-project/package.json | 4 +- .../template-project/src/components/index.ts | 2 + .../template-project/src/i18n/messages.json | 3 +- .../src/i18n/messages_tw_CN.json | 3 +- .../src/i18n/messages_zh_CN.json | 3 +- .../template-project/src/menus/menus.json | 9 + .../template-project/src/routes/routes.json | 12 + .../template-project/src/views/Table.vue | 53 +++ .../template-project/src/views/TreeGrid.vue | 48 +-- io.sc.platform.core/build.gradle | 1 + .../initializer/ApplicationInitializer.java | 4 +- .../java/io/sc/platform/core/util/IpUtil.java | 47 +++ .../platform/core/config/logback-spring.xml | 40 +-- .../platform/core/config/logback-spring2.xml | 124 +++++++ .../io/sc/platform/core/i18n/words.properties | 4 + .../platform/core/i18n/words_tw_CN.properties | 4 + .../platform/core/i18n/words_zh_CN.properties | 4 + .../asciidoc/9999-appendix/appendix.adoc | 2 +- .../asciidoc/index.adoc | 2 +- .../getting-started/windows/install-005.png | Bin 107882 -> 715860 bytes io.sc.platform.developer.frontend/.npmrc | 2 +- .../package.json | 202 +++++------ .../src/components/index.ts | 2 + .../src/i18n/messages.json | 1 + .../src/i18n/messages_tw_CN.json | 1 + .../src/i18n/messages_zh_CN.json | 1 + .../src/menus/menus.json | 4 + .../src/routes/routes.json | 17 +- .../src/views/plugin/Initializer.vue | 26 ++ .../controller/InitializerWebController.java | 31 ++ .../plugins/wrapper/InitializerWrapper.java | 67 ++++ .../META-INF/platform/plugins/components.json | 5 + .../io/sc/platform/flowable/api/AgentVo.java | 98 ++++++ .../sc/platform/flowable/api/ProcessVo.java | 97 ++++++ .../controller/AgentWebController.java | 9 +- .../FlowableModelerEditorWebController.java | 7 - .../ProcessEntityWebController.java | 3 +- ...leWorkFlowSystemDictionaryInitializer.java | 17 +- .../entity/{Agent.java => AgentEntity.java} | 20 +- .../flowable/jpa/entity/ProcessEntity.java | 13 +- .../jpa/repository/AgentRepository.java | 6 +- .../flowable/service/AgentService.java | 10 +- .../service/impl/AgentServiceImpl.java | 15 +- .../impl/ProcessOperationServiceImpl.java | 14 +- .../META-INF/platform/plugins/messages.json | 1 + .../flowable/i18n/initializer.properties | 2 + .../i18n/initializer_tw_CN.properties | 2 + .../i18n/initializer_zh_CN.properties | 2 + ...8__Process Manager Database Schema DDL.xml | 94 ++--- .../templates/pgp/app/build-common.gradle | 2 +- .../templates/pgp/app/build.gradle | 1 + .../java/app/platform/Application.java.txt | 3 +- .../src/main/resources/public/configure.js | 14 +- .../templates/pgp/setup/build.gradle.txt | 4 +- .../templates/pgp/setup/gradle.properties | 4 +- .../io/sc/platform/installer/installer.html | 2 +- .../job/core/enums/ExecutorAddressType.java | 6 + io.sc.platform.job.manager/build.gradle | 6 + .../manager/jpa/entity/JobGroupEntity.java | 88 +++++ .../jpa/repository/JobGroupRepository.java | 12 + .../META-INF/platform/plugins/liquibase.json | 10 + .../liquibase/PF_8.0.0_20220606__Job_DDL.xml | 233 +++++++++++++ io.sc.platform.lcdp.frontend/.npmrc | 2 +- io.sc.platform.lcdp.frontend/package.json | 202 +++++------ .../webpack.config.common.cjs | 9 + .../lcdp/configure/api/Configure.java | 4 +- .../lcdp/configure/api/ConfigureVo.java | 51 +++ .../controller/ConfigureController.java | 3 +- .../controller/ConfigureJsController.java | 1 - .../initializer/ConfigureInitializer.java | 6 + .../configure/jpa/entity/ConfigureEntity.java | 17 +- .../service/impl/ConfigureServiceImpl.java | 7 +- .../META-INF/platform/plugins/messages.json | 5 + .../configure/i18n/initializer.properties | 2 + .../i18n/initializer_tw_CN.properties | 2 + .../i18n/initializer_zh_CN.properties | 2 + .../LCDP_1.0.0_20220606__LowCode_DDL.xml | 34 +- io.sc.platform.mvc.frontend/.npmrc | 2 +- io.sc.platform.mvc.frontend/package.json | 202 +++++------ .../support/AuditLogAspectorBean.java | 55 +-- .../support/RestCrudController.java | 121 ++++++- .../io/sc/platform/orm/api/vo/AuditorVo.java | 3 +- .../orm/api/vo/CorporationAuditorVo.java | 11 + .../io/sc/platform/orm/api/vo/VersionVo.java | 16 + .../io/sc/platform/orm/EntityVoConverter.java | 15 +- .../orm/converter/EncoderStringConverter.java | 17 + .../sc/platform/orm/entity/AuditorEntity.java | 18 +- .../io/sc/platform/orm/entity/BaseEntity.java | 15 +- .../orm/entity/CorporationAuditorEntity.java | 17 +- .../orm/entity/EntityVoConverter.java | 13 + .../sc/platform/orm/entity/VersionEntity.java | 34 ++ .../orm/service/support/QueryResult.java | 16 +- .../platform/orm/util/EntityVoConvertor.java | 54 +++ io.sc.platform.security.frontend/package.json | 4 +- .../initializer/CorporationInitializer.java | 100 ++++-- .../initializer/RoleAndUserInitializer.java | 12 +- .../service/impl/UserDetailsServiceImpl.java | 2 +- .../META-INF/platform/plugins/messages.json | 1 + .../META-INF/platform/plugins/parameters.json | 12 + .../security/i18n/initializer.properties | 5 + .../i18n/initializer_tw_CN.properties | 5 + .../i18n/initializer_zh_CN.properties | 5 + .../PF_11.0.0_20220606__Security_DDL.xml | 228 ++++++++----- .../api/announcement/AnnouncementVo.java | 13 +- .../system/api/auditlog/AuditLogVo.java | 153 +++++++++ .../system/api/corporation/CorporationVo.java | 41 +-- .../io/sc/platform/system/api/ds/DsVo.java | 3 +- .../sc/platform/system/api/ds/JdbcDsVo.java | 11 + .../io/sc/platform/system/api/i18n/I18n.java | 6 - .../system/api/i18n/I18nLanguage.java | 21 -- .../sc/platform/system/api/i18n/I18nVo.java | 42 +++ .../sc/platform/system/api/menu/MenuVo.java | 10 +- .../io/sc/platform/system/api/org/OrgVo.java | 10 +- .../system/api/parameter/ParameterVo.java | 15 +- io.sc.platform.system.frontend/.npmrc | 2 +- io.sc.platform.system.frontend/package.json | 202 +++++------ .../src/i18n/messages.json | 7 +- .../src/i18n/messages_tw_CN.json | 5 +- .../src/i18n/messages_zh_CN.json | 7 +- .../src/views/corporation/Corporation.vue | 5 +- .../src/views/menu/AddMenuDialog.vue | 119 +++++++ .../src/views/menu/AddTopMenuDialog.vue | 103 ++++++ .../src/views/menu/EditMenuDialog.vue | 128 +++++++ .../src/views/menu/Menu.vue | 96 +++++- .../src/views/org/Org.vue | 6 +- .../src/views/user/User.vue | 5 +- .../controller/AnnouncementWebController.java | 3 +- .../AnnouncementEntityVoConverter.java | 31 -- .../jpa/entity/AnnouncementEntity.java | 14 +- .../controller/AuditLogWebController.java | 3 +- .../auditlog/jpa/entity/AuditLogEntity.java | 25 +- .../support/DatabaseMessageSource.java | 4 - .../controller/CorporationWebController.java | 6 +- .../CorporationEntityVoConverter.java | 35 -- .../jpa/entity/CorporationEntity.java | 39 ++- .../controller/DictionaryWebController.java | 3 +- .../jpa/entity/DictionaryEntity.java | 14 +- .../system/ds/controller/DsWebController.java | 3 +- .../system/ds/jpa/entity/DsEntity.java | 17 +- .../system/ds/jpa/entity/JdbcDsEntity.java | 15 +- .../system/ds/jpa/entity/JndiDsEntity.java | 9 + .../i18n/controller/I18nWebController.java | 3 +- .../system/i18n/jpa/entity/I18nEntity.java | 21 +- .../i18n/jpa/repository/I18nRepository.java | 1 - .../system/i18n/service/I18nService.java | 4 - .../i18n/service/impl/I18nServiceImpl.java | 11 +- .../system/initializer/MenuInitializer.java | 12 +- .../system/initializer/OrgInitializer.java | 114 +++++++ .../initializer/ParameterInitializer.java | 28 +- .../initializer/RoleAndMenuInitializer.java | 12 +- .../menu/controller/MenuWebController.java | 14 +- .../menu/convertor/MenuEntityVoConvertor.java | 2 +- .../system/menu/jpa/entity/MenuEntity.java | 20 +- .../menu/jpa/entity/MenuGroupEntity.java | 10 + .../menu/jpa/entity/MenuJavascriptEntity.java | 11 + .../menu/jpa/entity/MenuRouteEntity.java | 12 + .../menu/jpa/entity/MenuSeperatorEntity.java | 11 + .../system/menu/jpa/entity/MenuUrlEntity.java | 12 + .../jpa/support/MenuEntityJsonSerializer.java | 18 + .../system/menu/service/MenuService.java | 6 + .../menu/service/impl/MenuServiceImpl.java | 79 ++++- .../org/controller/OrgWebController.java | 10 +- .../org/convertor/OrgEntityVoConverter.java | 35 -- .../system/org/jpa/entity/OrgEntity.java | 18 +- .../org/service/impl/OrgServiceImpl.java | 13 +- .../controller/ParameterWebController.java | 3 +- .../convertor/ParameterEntityVoConverter.java | 34 -- .../parameter/jpa/entity/ParameterEntity.java | 16 +- .../role/controller/RoleWebController.java | 2 +- .../system/role/jpa/entity/RoleEntity.java | 57 +--- .../user/controller/UserWebController.java | 14 +- .../user/convertor/UserEntityVoConverter.java | 24 ++ .../system/user/jpa/entity/UserEntity.java | 67 +++- .../system/user/service/UserService.java | 1 - .../user/service/impl/UserServiceImpl.java | 20 ++ .../META-INF/platform/plugins/messages.json | 5 + ...rm.core.initializer.ApplicationInitializer | 3 +- .../system/i18n/initializer.properties | 11 + .../system/i18n/initializer_tw_CN.properties | 11 + .../system/i18n/initializer_zh_CN.properties | 11 + .../PF_11.0.0_20220606__System_DDL.xml | 281 ++++++++------- settings.gradle | 2 + 208 files changed, 4619 insertions(+), 1369 deletions(-) create mode 100644 app.platform/platform.sql create mode 100644 app.platform/platform2.sql create mode 100644 io.sc.platform.core.frontend/src/platform/components/grid/WListGrid.vue create mode 100644 io.sc.platform.core.frontend/src/platform/components/grid/WTreeGrid.vue create mode 100644 io.sc.platform.core.frontend/src/views/Table.vue create mode 100644 io.sc.platform.core.frontend/template-project/src/views/Table.vue create mode 100644 io.sc.platform.core/src/main/java/io/sc/platform/core/util/IpUtil.java create mode 100644 io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring2.xml create mode 100644 io.sc.platform.developer.frontend/src/views/plugin/Initializer.vue create mode 100644 io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/controller/InitializerWebController.java create mode 100644 io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/wrapper/InitializerWrapper.java create mode 100644 io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/components.json create mode 100644 io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/AgentVo.java create mode 100644 io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/ProcessVo.java rename io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/{Agent.java => AgentEntity.java} (82%) create mode 100644 io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer.properties create mode 100644 io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_tw_CN.properties create mode 100644 io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_zh_CN.properties create mode 100644 io.sc.platform.job.core/src/main/java/io/sc/platform/job/core/enums/ExecutorAddressType.java create mode 100644 io.sc.platform.job.manager/build.gradle create mode 100644 io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/entity/JobGroupEntity.java create mode 100644 io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/repository/JobGroupRepository.java create mode 100644 io.sc.platform.job.manager/src/main/resources/META-INF/platform/plugins/liquibase.json create mode 100644 io.sc.platform.job.manager/src/main/resources/liquibase/PF_8.0.0_20220606__Job_DDL.xml create mode 100644 io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/ConfigureVo.java create mode 100644 io.sc.platform.lcdp/src/main/resources/META-INF/platform/plugins/messages.json create mode 100644 io.sc.platform.lcdp/src/main/resources/io/sc/platform/lcdp/configure/i18n/initializer.properties create mode 100644 io.sc.platform.lcdp/src/main/resources/io/sc/platform/lcdp/configure/i18n/initializer_tw_CN.properties create mode 100644 io.sc.platform.lcdp/src/main/resources/io/sc/platform/lcdp/configure/i18n/initializer_zh_CN.properties create mode 100644 io.sc.platform.orm.api/src/main/java/io/sc/platform/orm/api/vo/VersionVo.java create mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/EncoderStringConverter.java create mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java create mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java create mode 100644 io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java create mode 100644 io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json create mode 100644 io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer.properties create mode 100644 io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_tw_CN.properties create mode 100644 io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_zh_CN.properties create mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/auditlog/AuditLogVo.java delete mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18n.java delete mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nLanguage.java create mode 100644 io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nVo.java create mode 100644 io.sc.platform.system.frontend/src/views/menu/AddMenuDialog.vue create mode 100644 io.sc.platform.system.frontend/src/views/menu/AddTopMenuDialog.vue create mode 100644 io.sc.platform.system.frontend/src/views/menu/EditMenuDialog.vue delete mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/convertor/AnnouncementEntityVoConverter.java delete mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/convertor/CorporationEntityVoConverter.java create mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/OrgInitializer.java delete mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/org/convertor/OrgEntityVoConverter.java delete mode 100644 io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/convertor/ParameterEntityVoConverter.java create mode 100644 io.sc.platform.system/src/main/resources/META-INF/platform/plugins/messages.json create mode 100644 io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer.properties create mode 100644 io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_tw_CN.properties create mode 100644 io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_zh_CN.properties diff --git a/app.platform/build.gradle b/app.platform/build.gradle index 37ffb5bb..76a38c4b 100644 --- a/app.platform/build.gradle +++ b/app.platform/build.gradle @@ -13,6 +13,7 @@ dependencies { implementation ( project(":io.sc.platform.app"), project(":io.sc.platform.developer"), + project(":io.sc.platform.job.manager"), ) } diff --git a/app.platform/platform.sql b/app.platform/platform.sql new file mode 100644 index 00000000..de222171 --- /dev/null +++ b/app.platform/platform.sql @@ -0,0 +1,128 @@ +-- platform.xxl_job_group definition + +CREATE TABLE `xxl_job_group` ( + `id` int NOT NULL AUTO_INCREMENT, + `app_name` varchar(64) NOT NULL COMMENT '执行器AppName', + `title` varchar(12) NOT NULL COMMENT '执行器名称', + `address_type` tinyint NOT NULL DEFAULT '0' COMMENT '执行器地址类型:0=自动注册、1=手动录入', + `address_list` text COMMENT '执行器地址列表,多地址逗号分隔', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_info definition + +CREATE TABLE `xxl_job_info` ( + `id` int NOT NULL AUTO_INCREMENT, + `job_group` int NOT NULL COMMENT '执行器主键ID', + `job_desc` varchar(255) NOT NULL, + `add_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + `author` varchar(64) DEFAULT NULL COMMENT '作者', + `alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件', + `schedule_type` varchar(50) NOT NULL DEFAULT 'NONE' COMMENT '调度类型', + `schedule_conf` varchar(128) DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型', + `misfire_strategy` varchar(50) NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略', + `executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略', + `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', + `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', + `executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略', + `executor_timeout` int NOT NULL DEFAULT '0' COMMENT '任务执行超时时间,单位秒', + `executor_fail_retry_count` int NOT NULL DEFAULT '0' COMMENT '失败重试次数', + `glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型', + `glue_source` mediumtext COMMENT 'GLUE源代码', + `glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注', + `glue_updatetime` datetime DEFAULT NULL COMMENT 'GLUE更新时间', + `child_jobid` varchar(255) DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', + `trigger_status` tinyint NOT NULL DEFAULT '0' COMMENT '调度状态:0-停止,1-运行', + `trigger_last_time` bigint NOT NULL DEFAULT '0' COMMENT '上次调度时间', + `trigger_next_time` bigint NOT NULL DEFAULT '0' COMMENT '下次调度时间', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_lock definition + +CREATE TABLE `xxl_job_lock` ( + `lock_name` varchar(50) NOT NULL COMMENT '锁名称', + PRIMARY KEY (`lock_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_log definition + +CREATE TABLE `xxl_job_log` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `job_group` int NOT NULL COMMENT '执行器主键ID', + `job_id` int NOT NULL COMMENT '任务,主键ID', + `executor_address` varchar(255) DEFAULT NULL COMMENT '执行器地址,本次执行的地址', + `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler', + `executor_param` varchar(512) DEFAULT NULL COMMENT '执行器任务参数', + `executor_sharding_param` varchar(20) DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', + `executor_fail_retry_count` int NOT NULL DEFAULT '0' COMMENT '失败重试次数', + `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间', + `trigger_code` int NOT NULL COMMENT '调度-结果', + `trigger_msg` text COMMENT '调度-日志', + `handle_time` datetime DEFAULT NULL COMMENT '执行-时间', + `handle_code` int NOT NULL COMMENT '执行-状态', + `handle_msg` text COMMENT '执行-日志', + `alarm_status` tinyint NOT NULL DEFAULT '0' COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败', + PRIMARY KEY (`id`), + KEY `I_trigger_time` (`trigger_time`), + KEY `I_handle_code` (`handle_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_log_report definition + +CREATE TABLE `xxl_job_log_report` ( + `id` int NOT NULL AUTO_INCREMENT, + `trigger_day` datetime DEFAULT NULL COMMENT '调度-时间', + `running_count` int NOT NULL DEFAULT '0' COMMENT '运行中-日志数量', + `suc_count` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', + `fail_count` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_logglue definition + +CREATE TABLE `xxl_job_logglue` ( + `id` int NOT NULL AUTO_INCREMENT, + `job_id` int NOT NULL COMMENT '任务,主键ID', + `glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型', + `glue_source` mediumtext COMMENT 'GLUE源代码', + `glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注', + `add_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_registry definition + +CREATE TABLE `xxl_job_registry` ( + `id` int NOT NULL AUTO_INCREMENT, + `registry_group` varchar(50) NOT NULL, + `registry_key` varchar(255) NOT NULL, + `registry_value` varchar(255) NOT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + + +-- platform.xxl_job_user definition + +CREATE TABLE `xxl_job_user` ( + `id` int NOT NULL AUTO_INCREMENT, + `username` varchar(50) NOT NULL COMMENT '账号', + `password` varchar(50) NOT NULL COMMENT '密码', + `role` tinyint NOT NULL COMMENT '角色:0-普通用户、1-管理员', + `permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', + PRIMARY KEY (`id`), + UNIQUE KEY `i_username` (`username`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; \ No newline at end of file diff --git a/app.platform/platform2.sql b/app.platform/platform2.sql new file mode 100644 index 00000000..7c39062e --- /dev/null +++ b/app.platform/platform2.sql @@ -0,0 +1,127 @@ +-- platform2.xxl_job_group definition + +CREATE TABLE `xxl_job_group` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `APP_NAME` varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `TITLE` varchar(12) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `ADDRESS_TYPE` tinyint NOT NULL DEFAULT '0', + `ADDRESS_LIST` longtext COLLATE utf8mb4_general_ci COMMENT '执行器地址列表,多地址逗号分隔', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 组表'; + + +-- platform2.xxl_job_info definition + +CREATE TABLE `xxl_job_info` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `JOB_GROUP` int NOT NULL, + `JOB_DESC` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `ADD_TIME` datetime DEFAULT NULL COMMENT '创建日期', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', + `AUTHOR` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '作者', + `ALARM_EMAIL` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '报警邮件', + `SCHEDULE_TYPE` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'NONE', + `SCHEDULE_CONF` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型', + `MISFIRE_STRATEGY` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT 'DO_NOTHING', + `EXECUTOR_ROUTE_STRATEGY` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器路由策略', + `EXECUTOR_HANDLER` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务handler', + `EXECUTOR_PARAM` varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务参数', + `EXECUTOR_BLOCK_STRATEGY` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '阻塞处理策略', + `EXECUTOR_TIMEOUT` int NOT NULL DEFAULT '0', + `EXECUTOR_FAIL_RETRY_COUNT` int NOT NULL DEFAULT '0', + `GLUE_TYPE` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE类型', + `GLUE_SOURCE` longtext COLLATE utf8mb4_general_ci COMMENT 'GLUE源代码', + `GLUE_REMARK` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE备注', + `GLUE_UPDATETIME` datetime DEFAULT NULL COMMENT 'GLUE更新时间', + `CHILD_JOBID` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '子任务ID,多个逗号分隔', + `TRIGGER_STATUS` tinyint NOT NULL DEFAULT '0', + `TRIGGER_LAST_TIME` bigint NOT NULL DEFAULT '0', + `TRIGGER_NEXT_TIME` bigint NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB信息表'; + + +-- platform2.xxl_job_lock definition + +CREATE TABLE `xxl_job_lock` ( + `LOCK_NAME` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '锁名称', + PRIMARY KEY (`LOCK_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 锁表'; + + +-- platform2.xxl_job_log definition + +CREATE TABLE `xxl_job_log` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `JOB_GROUP` int NOT NULL, + `JOB_ID` int NOT NULL, + `EXECUTOR_ADDRESS` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器地址,本次执行的地址', + `EXECUTOR_HANDLER` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务handler', + `EXECUTOR_PARAM` varchar(512) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务参数', + `EXECUTOR_SHARDING_PARAM` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2', + `EXECUTOR_FAIL_RETRY_COUNT` bigint NOT NULL DEFAULT '0', + `TRIGGER_TIME` datetime DEFAULT NULL COMMENT '调度-时间', + `TRIGGER_CODE` int NOT NULL, + `TRIGGER_MSG` longtext COLLATE utf8mb4_general_ci COMMENT '调度-日志', + `HANDLE_TIME` datetime DEFAULT NULL COMMENT '执行-时间', + `HANDLE_CODE` int NOT NULL, + `HANDLE_MSG` longtext COLLATE utf8mb4_general_ci COMMENT '执行-日志', + `ALARM_STATUS` tinyint NOT NULL DEFAULT '0', + PRIMARY KEY (`ID`), + KEY `IDX_XXL_JOB_LOG_TRIGGER_TIME` (`TRIGGER_TIME`), + KEY `IDX_XXL_JOB_LOG_HANDLE_CODE` (`HANDLE_CODE`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB日志表'; + + +-- platform2.xxl_job_log_report definition + +CREATE TABLE `xxl_job_log_report` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `TRIGGER_DAY` datetime DEFAULT NULL COMMENT '调度-时间', + `RUNNING_COUNT` int NOT NULL DEFAULT '0', + `SUC_COUNT` int NOT NULL DEFAULT '0', + `FAIL_COUNT` int NOT NULL DEFAULT '0', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`ID`), + UNIQUE KEY `IDX_XXL_JOB_LOG_REPORT_TRIGGER_DAY` (`TRIGGER_DAY`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB日志报告表'; + + +-- platform2.xxl_job_logglue definition + +CREATE TABLE `xxl_job_logglue` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `JOB_ID` int NOT NULL, + `GLUE_TYPE` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE类型', + `GLUE_SOURCE` longtext COLLATE utf8mb4_general_ci COMMENT 'GLUE源代码', + `GLUE_REMARK` varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT 'GLUE备注', + `ADD_TIME` datetime DEFAULT NULL COMMENT '创建日期', + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB GLUE 表'; + + +-- platform2.xxl_job_registry definition + +CREATE TABLE `xxl_job_registry` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `REGISTRY_GROUP` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `REGISTRY_KEY` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `REGISTRY_VALUE` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `UPDATE_TIME` datetime DEFAULT NULL COMMENT '更新日期', + PRIMARY KEY (`ID`), + UNIQUE KEY `REGISTRY_GROUP` (`REGISTRY_GROUP`,`REGISTRY_KEY`,`REGISTRY_VALUE`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 注册表'; + + +-- platform2.xxl_job_user definition + +CREATE TABLE `xxl_job_user` ( + `ID` bigint NOT NULL AUTO_INCREMENT, + `USERNAME` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `PASSWORD` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `ROLE` tinyint NOT NULL, + `PERMISSION` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='JOB 用户表'; \ No newline at end of file diff --git a/app.platform/src/main/java/app/platform/Application.java b/app.platform/src/main/java/app/platform/Application.java index e1dbc768..de40ec3f 100644 --- a/app.platform/src/main/java/app/platform/Application.java +++ b/app.platform/src/main/java/app/platform/Application.java @@ -6,6 +6,8 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.WebApplicationInitializer; +import java.sql.Types; + /** * 应用程序入口 */ diff --git a/build.gradle b/build.gradle index 04bd9898..655059bd 100644 --- a/build.gradle +++ b/build.gradle @@ -371,6 +371,8 @@ subprojects { * pnpm sync *----------------------------------------------------------------*/ task frontendNpmSync(type:Exec){ + commandLine 'cd', '.' + /* if(isFrontendProject(file('.')) && !project.name.contains("io.sc.platform.security.frontend")){ workingDir '.' if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ @@ -384,7 +386,7 @@ subprojects { }else{ commandLine 'cd', '.' } - } + }*/ } tasks.frontendNpmSync.doFirst { if(isFrontendProject(file('.'))) { diff --git a/gradle.properties b/gradle.properties index f0eb91cf..70dbadea 100644 --- a/gradle.properties +++ b/gradle.properties @@ -36,9 +36,9 @@ application_version=1.0.0 # platform ########################################################### platform_group=io.sc -platform_version=8.1.13 +platform_version=8.1.20 platform_plugin_version=8.1.13 -platform_core_frontend_version=8.1.42 +platform_core_frontend_version=8.1.47 ########################################################### # dependencies version @@ -50,6 +50,7 @@ cxf_version=3.2.7 dm_hibernate_version=8.1.2.192 flowable_version=6.8.0 guava_version=31.1-jre +ipaddress_version=5.4.0 jackson_version=2.13.5 jasypt_version=2.1.2 jboss_logging_version=3.3.2.Final diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 573db6bd..74c83c04 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.42", + "version": "8.1.47", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/src/components/index.ts b/io.sc.platform.core.frontend/src/components/index.ts index 9c1a16f6..aac544bd 100644 --- a/io.sc.platform.core.frontend/src/components/index.ts +++ b/io.sc.platform.core.frontend/src/components/index.ts @@ -6,12 +6,14 @@ import dialog from '@/views/Dialog.vue'; import codemirror from '@/views/Codemirror.vue'; import select from '@/views/Select.vue'; import treeGrid from '@/views/TreeGrid.vue'; +import table from '@/views/Table.vue'; const localComponents = { 'component.testcase.dialog': dialog, 'component.testcase.codemirror': codemirror, 'component.testcase.select': select, 'component.testcase.treeGrid': treeGrid, + 'component.testcase.table': table, }; export default localComponents; diff --git a/io.sc.platform.core.frontend/src/i18n/messages.json b/io.sc.platform.core.frontend/src/i18n/messages.json index 00d6bddd..e57d162e 100644 --- a/io.sc.platform.core.frontend/src/i18n/messages.json +++ b/io.sc.platform.core.frontend/src/i18n/messages.json @@ -3,5 +3,6 @@ "menu.testcase.codemirror": "CodeMirror", "menu.testcase.dialog": "Dialog", "menu.testcase.select": "Select", - "menu.testcase.treeGrid": "Tree Grid" + "menu.testcase.treeGrid": "Tree Grid", + "menu.testcase.table": "Table" } diff --git a/io.sc.platform.core.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.core.frontend/src/i18n/messages_tw_CN.json index 00806365..c443b2be 100644 --- a/io.sc.platform.core.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.core.frontend/src/i18n/messages_tw_CN.json @@ -3,5 +3,6 @@ "menu.testcase.codemirror": "CodeMirror", "menu.testcase.dialog": "Dialog", "menu.testcase.select": "Select", - "menu.testcase.treeGrid": "Tree Grid" + "menu.testcase.treeGrid": "Tree Grid", + "menu.testcase.table": "Table" } diff --git a/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json index ef4c117c..c33c404a 100644 --- a/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.core.frontend/src/i18n/messages_zh_CN.json @@ -3,5 +3,6 @@ "menu.testcase.codemirror": "CodeMirror", "menu.testcase.dialog": "Dialog", "menu.testcase.select": "Select", - "menu.testcase.treeGrid": "Tree Grid" + "menu.testcase.treeGrid": "Tree Grid", + "menu.testcase.table": "Table" } diff --git a/io.sc.platform.core.frontend/src/menus/menus.json b/io.sc.platform.core.frontend/src/menus/menus.json index b0672bd8..14837958 100644 --- a/io.sc.platform.core.frontend/src/menus/menus.json +++ b/io.sc.platform.core.frontend/src/menus/menus.json @@ -53,5 +53,14 @@ "titleI18nKey": "menu.testcase.treeGrid", "icon": "bi-palette", "routeName": "route.testcase.treeGrid" + }, + { + "type": "ROUTE", + "order": 400, + "parentId": "menu.testcase", + "id": "menu.testcase.table", + "titleI18nKey": "menu.testcase.table", + "icon": "bi-palette", + "routeName": "route.testcase.table" } ] diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue index 641f3100..4b57e5c1 100644 --- a/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue +++ b/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue @@ -99,6 +99,14 @@ outline @click="onView" > + 查看 + + + 导出 + + {{ btn.label }} @@ -356,7 +373,7 @@ diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/WTreeGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/WTreeGrid.vue new file mode 100644 index 00000000..60af4360 --- /dev/null +++ b/io.sc.platform.core.frontend/src/platform/components/grid/WTreeGrid.vue @@ -0,0 +1,39 @@ + + + diff --git a/io.sc.platform.core.frontend/src/platform/components/index.ts b/io.sc.platform.core.frontend/src/platform/components/index.ts index 0e4cca74..8625dc10 100644 --- a/io.sc.platform.core.frontend/src/platform/components/index.ts +++ b/io.sc.platform.core.frontend/src/platform/components/index.ts @@ -8,6 +8,7 @@ import WColorInputPalette from './widget/color/WColorInputPalette.vue'; import WPosition from './widget/position/WPosition.vue'; import WCodemirror from './widget/codemirror/WCodemirror.vue'; import WSelect from './widget/select/WSelect.vue'; +import WListGrid from './grid/WListGrid.vue'; import WTreeGrid from './tree/WTreeGrid.vue'; import WDialog from './dialog/WDialog.vue'; @@ -28,6 +29,7 @@ export default { app.component('WPosition', WPosition); app.component('WCodemirror', WCodemirror); app.component('WSelect', WSelect); + app.component('WListGrid', WListGrid); app.component('WTreeGrid', WTreeGrid); app.component('WDialog', WDialog); @@ -48,6 +50,7 @@ export { WPosition, WCodemirror, WSelect, + WListGrid, WTreeGrid, WDialog, PlatformDialog, diff --git a/io.sc.platform.core.frontend/src/platform/components/tree/WTreeGrid.vue b/io.sc.platform.core.frontend/src/platform/components/tree/WTreeGrid.vue index 2fb8e0a2..c32c07a6 100644 --- a/io.sc.platform.core.frontend/src/platform/components/tree/WTreeGrid.vue +++ b/io.sc.platform.core.frontend/src/platform/components/tree/WTreeGrid.vue @@ -104,7 +104,7 @@ const getTicked = () => { result.add(ticked); } for (const ticked of tickeds) { - getAllParentIds(nodesCache.get(ticked).parentId, result); + getAllParentIds(nodesCache.get(ticked).parent, result); } } return [...result]; @@ -115,7 +115,7 @@ const getAllParentIds = (parentId, result) => { const parent = nodesCache.get(parentId); if (parent) { result.add(parent.id); - getAllParentIds(parent.parentId, result); + getAllParentIds(parent.parent, result); } } }; @@ -125,9 +125,9 @@ const getCascadeParentIds = (id) => { let node = nodesCache.get(id); if (node) { result.push(id); - while (node.parentId) { - result.push(node.parentId); - node = nodesCache.get(node.parentId); + while (node.parent) { + result.push(node.parent); + node = nodesCache.get(node.parent); } } return result; diff --git a/io.sc.platform.core.frontend/src/platform/index.ts b/io.sc.platform.core.frontend/src/platform/index.ts index 0c682af4..35a4a397 100644 --- a/io.sc.platform.core.frontend/src/platform/index.ts +++ b/io.sc.platform.core.frontend/src/platform/index.ts @@ -105,6 +105,7 @@ export { WPosition, WCodemirror, WSelect, + WListGrid, WTreeGrid, PlatformDialog, PlatformDrawer, diff --git a/io.sc.platform.core.frontend/src/platform/plugin/manager/MenuManager.ts b/io.sc.platform.core.frontend/src/platform/plugin/manager/MenuManager.ts index ec4b65af..eb6e5ffe 100644 --- a/io.sc.platform.core.frontend/src/platform/plugin/manager/MenuManager.ts +++ b/io.sc.platform.core.frontend/src/platform/plugin/manager/MenuManager.ts @@ -30,23 +30,23 @@ class MenuManager { * @returns 菜单 */ public static buildMenus(remoteMenus: MenuItemType[] = []) { - // 由于远程菜单的 id 和 parentId 均为 uuid, 而本地菜单的 id 和 parentId 均为 name, 需要进行统一 - // 将远程菜单的 id 和 parentId 转换为 name + // 由于远程菜单的 id 和 parent 均为 uuid, 而本地菜单的 id 和 parent 均为 name, 需要进行统一 + // 将远程菜单的 id 和 parent 转换为 name const remoteCache: Map = new Map(); for (const menu of remoteMenus) { remoteCache.set(menu.id, menu.name); } for (const menu of remoteMenus) { menu.id = menu.name; - if (menu.parentId) { - const parentName = remoteCache.get(menu.parentId); + if (menu.parent) { + const parentName = remoteCache.get(menu.parent); if (parentName) { - menu.parentId = parentName; + menu.parent = parentName; } else { - menu.parentId = null; + menu.parent = null; } } else { - menu.parentId = null; + menu.parent = null; } } @@ -54,6 +54,7 @@ class MenuManager { const mergedCache: Map = new Map(); const result: MenuItemType[] = []; for (const menu of MenuManager.#localMenus) { + menu.parent = menu.parent || menu.parentId; result.push(menu); mergedCache.set(menu.id, menu); } diff --git a/io.sc.platform.core.frontend/src/platform/types/MenuItemType.ts b/io.sc.platform.core.frontend/src/platform/types/MenuItemType.ts index 22ae26c8..97071852 100644 --- a/io.sc.platform.core.frontend/src/platform/types/MenuItemType.ts +++ b/io.sc.platform.core.frontend/src/platform/types/MenuItemType.ts @@ -1,6 +1,7 @@ export type MenuItemType = { type: string; parentId: string | null; + parent: string | null; id: string; name: string; titleI18nKey: string; diff --git a/io.sc.platform.core.frontend/src/platform/utils/Tools.ts b/io.sc.platform.core.frontend/src/platform/utils/Tools.ts index 9767a119..7873b25a 100644 --- a/io.sc.platform.core.frontend/src/platform/utils/Tools.ts +++ b/io.sc.platform.core.frontend/src/platform/utils/Tools.ts @@ -26,6 +26,15 @@ class Tools { return obj == null || typeof obj == 'undefined' || obj == ''; } + /** + * 判断一个对象是否是字符串 + * @param obj 对象 + * @returns 对象是否是字符串 + */ + public static isString(obj: any): boolean { + return !Tools.isUndefinedOrNull(obj) && typeof obj === 'string'; + } + /** * 判断一个对象是否是对象类型 * @param obj 对象 diff --git a/io.sc.platform.core.frontend/src/platform/utils/TreeBuilder.ts b/io.sc.platform.core.frontend/src/platform/utils/TreeBuilder.ts index abf4a53e..aeeccb1c 100644 --- a/io.sc.platform.core.frontend/src/platform/utils/TreeBuilder.ts +++ b/io.sc.platform.core.frontend/src/platform/utils/TreeBuilder.ts @@ -3,7 +3,7 @@ import { Tools } from '.'; class TreeBuilder { public static build( list: any[] = [], - parentIdPropertyName: string = 'parentId', + parentIdPropertyName: string = 'parent', idPropertyName: string = 'id', childrenPropertyName: string = 'children', orderPropertyName: string = '', diff --git a/io.sc.platform.core.frontend/src/routes/routes.json b/io.sc.platform.core.frontend/src/routes/routes.json index d954b707..fdcc0041 100644 --- a/io.sc.platform.core.frontend/src/routes/routes.json +++ b/io.sc.platform.core.frontend/src/routes/routes.json @@ -46,5 +46,17 @@ "meta": { "permissions": ["/testcase/treeGrid/**/*"] } + }, + { + "name": "route.testcase.table", + "path": "testcase/table", + "parent": "/", + "priority": 0, + "component": "component.testcase.table", + "componentPath": "@/views/Table.vue", + "redirect": null, + "meta": { + "permissions": ["/testcase/table/**/*"] + } } ] diff --git a/io.sc.platform.core.frontend/src/views/Table.vue b/io.sc.platform.core.frontend/src/views/Table.vue new file mode 100644 index 00000000..94fb1370 --- /dev/null +++ b/io.sc.platform.core.frontend/src/views/Table.vue @@ -0,0 +1,54 @@ + + + diff --git a/io.sc.platform.core.frontend/src/views/TreeGrid.vue b/io.sc.platform.core.frontend/src/views/TreeGrid.vue index 82a694a4..ddbd5592 100644 --- a/io.sc.platform.core.frontend/src/views/TreeGrid.vue +++ b/io.sc.platform.core.frontend/src/views/TreeGrid.vue @@ -1,17 +1,5 @@ diff --git a/io.sc.platform.core.frontend/template-project/.npmrc b/io.sc.platform.core.frontend/template-project/.npmrc index 06969b7b..c1c0b295 100644 --- a/io.sc.platform.core.frontend/template-project/.npmrc +++ b/io.sc.platform.core.frontend/template-project/.npmrc @@ -8,4 +8,4 @@ email= # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.25afcf59-9193-3068-bcfa-faf76ceadb13 \ No newline at end of file +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10 \ No newline at end of file diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 89c8e3c8..4db36d50 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.42", + "version": "8.1.47", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -91,7 +91,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.42", + "platform-core": "8.1.47", "quasar": "2.13.0", "tailwindcss": "3.3.5", "vue": "3.3.7", diff --git a/io.sc.platform.core.frontend/template-project/src/components/index.ts b/io.sc.platform.core.frontend/template-project/src/components/index.ts index 9c1a16f6..aac544bd 100644 --- a/io.sc.platform.core.frontend/template-project/src/components/index.ts +++ b/io.sc.platform.core.frontend/template-project/src/components/index.ts @@ -6,12 +6,14 @@ import dialog from '@/views/Dialog.vue'; import codemirror from '@/views/Codemirror.vue'; import select from '@/views/Select.vue'; import treeGrid from '@/views/TreeGrid.vue'; +import table from '@/views/Table.vue'; const localComponents = { 'component.testcase.dialog': dialog, 'component.testcase.codemirror': codemirror, 'component.testcase.select': select, 'component.testcase.treeGrid': treeGrid, + 'component.testcase.table': table, }; export default localComponents; diff --git a/io.sc.platform.core.frontend/template-project/src/i18n/messages.json b/io.sc.platform.core.frontend/template-project/src/i18n/messages.json index 00d6bddd..e57d162e 100644 --- a/io.sc.platform.core.frontend/template-project/src/i18n/messages.json +++ b/io.sc.platform.core.frontend/template-project/src/i18n/messages.json @@ -3,5 +3,6 @@ "menu.testcase.codemirror": "CodeMirror", "menu.testcase.dialog": "Dialog", "menu.testcase.select": "Select", - "menu.testcase.treeGrid": "Tree Grid" + "menu.testcase.treeGrid": "Tree Grid", + "menu.testcase.table": "Table" } diff --git a/io.sc.platform.core.frontend/template-project/src/i18n/messages_tw_CN.json b/io.sc.platform.core.frontend/template-project/src/i18n/messages_tw_CN.json index 00806365..c443b2be 100644 --- a/io.sc.platform.core.frontend/template-project/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.core.frontend/template-project/src/i18n/messages_tw_CN.json @@ -3,5 +3,6 @@ "menu.testcase.codemirror": "CodeMirror", "menu.testcase.dialog": "Dialog", "menu.testcase.select": "Select", - "menu.testcase.treeGrid": "Tree Grid" + "menu.testcase.treeGrid": "Tree Grid", + "menu.testcase.table": "Table" } diff --git a/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json b/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json index ef4c117c..c33c404a 100644 --- a/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.core.frontend/template-project/src/i18n/messages_zh_CN.json @@ -3,5 +3,6 @@ "menu.testcase.codemirror": "CodeMirror", "menu.testcase.dialog": "Dialog", "menu.testcase.select": "Select", - "menu.testcase.treeGrid": "Tree Grid" + "menu.testcase.treeGrid": "Tree Grid", + "menu.testcase.table": "Table" } diff --git a/io.sc.platform.core.frontend/template-project/src/menus/menus.json b/io.sc.platform.core.frontend/template-project/src/menus/menus.json index b0672bd8..14837958 100644 --- a/io.sc.platform.core.frontend/template-project/src/menus/menus.json +++ b/io.sc.platform.core.frontend/template-project/src/menus/menus.json @@ -53,5 +53,14 @@ "titleI18nKey": "menu.testcase.treeGrid", "icon": "bi-palette", "routeName": "route.testcase.treeGrid" + }, + { + "type": "ROUTE", + "order": 400, + "parentId": "menu.testcase", + "id": "menu.testcase.table", + "titleI18nKey": "menu.testcase.table", + "icon": "bi-palette", + "routeName": "route.testcase.table" } ] diff --git a/io.sc.platform.core.frontend/template-project/src/routes/routes.json b/io.sc.platform.core.frontend/template-project/src/routes/routes.json index d954b707..fdcc0041 100644 --- a/io.sc.platform.core.frontend/template-project/src/routes/routes.json +++ b/io.sc.platform.core.frontend/template-project/src/routes/routes.json @@ -46,5 +46,17 @@ "meta": { "permissions": ["/testcase/treeGrid/**/*"] } + }, + { + "name": "route.testcase.table", + "path": "testcase/table", + "parent": "/", + "priority": 0, + "component": "component.testcase.table", + "componentPath": "@/views/Table.vue", + "redirect": null, + "meta": { + "permissions": ["/testcase/table/**/*"] + } } ] diff --git a/io.sc.platform.core.frontend/template-project/src/views/Table.vue b/io.sc.platform.core.frontend/template-project/src/views/Table.vue new file mode 100644 index 00000000..9d38561c --- /dev/null +++ b/io.sc.platform.core.frontend/template-project/src/views/Table.vue @@ -0,0 +1,53 @@ + + diff --git a/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue b/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue index 82a694a4..ddbd5592 100644 --- a/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue +++ b/io.sc.platform.core.frontend/template-project/src/views/TreeGrid.vue @@ -1,17 +1,5 @@ diff --git a/io.sc.platform.core/build.gradle b/io.sc.platform.core/build.gradle index dc5cbfa3..6f5f4fe3 100644 --- a/io.sc.platform.core/build.gradle +++ b/io.sc.platform.core/build.gradle @@ -14,5 +14,6 @@ dependencies { "com.google.guava:guava:${guava_version}", "com.beust:jcommander:${jcommander_version}", "net.lingala.zip4j:zip4j:${zip4j_version}", + "com.github.seancfoley:ipaddress:${ipaddress_version}", ) } diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/initializer/ApplicationInitializer.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/initializer/ApplicationInitializer.java index 5791e022..3475da21 100644 --- a/io.sc.platform.core/src/main/java/io/sc/platform/core/initializer/ApplicationInitializer.java +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/initializer/ApplicationInitializer.java @@ -26,7 +26,7 @@ public interface ApplicationInitializer extends Ordered { * @return 应用初始化器名称 */ public default String getName(){ - return this.getClass().getSimpleName(); + return this.getClass().getName() + ".name"; } /** @@ -34,7 +34,7 @@ public interface ApplicationInitializer extends Ordered { * @return 应用初始化器描述 */ public default String getDescription(){ - return this.getClass().getSimpleName(); + return this.getClass().getName() + ".description"; } /** diff --git a/io.sc.platform.core/src/main/java/io/sc/platform/core/util/IpUtil.java b/io.sc.platform.core/src/main/java/io/sc/platform/core/util/IpUtil.java new file mode 100644 index 00000000..812370e2 --- /dev/null +++ b/io.sc.platform.core/src/main/java/io/sc/platform/core/util/IpUtil.java @@ -0,0 +1,47 @@ +package io.sc.platform.core.util; + +import javax.servlet.http.HttpServletRequest; + +import inet.ipaddr.IPAddressString; + +/** + * IP 地址工具类 + * @author wangshaoping + * + */ +public class IpUtil { + public static final String UNKNOW_IP ="0.0.0.0"; + + /** + * 获取客户端 IP 地址 + * @param request Http 请求 + * @return 客户端 IP 地址 + */ + public static String getRemoteAddress(HttpServletRequest request){ + IPAddressString ipAdress =getRemoteIPAddressString(request); + if(ipAdress!=null){ + return ipAdress.getAddress().toFullString(); + } + return null; + } + + private static IPAddressString getRemoteIPAddressString(HttpServletRequest request){ + String ip =request.getHeader("x-forwarded-for"); + if(ip==null || ip.length()==0 || "unknown".equalsIgnoreCase(ip)){ + ip =request.getHeader("Proxy-Client-IP"); + } + if(ip==null || ip.length()==0 || "unknown".equalsIgnoreCase(ip)){ + ip =request.getHeader("WL-Proxy-Client-IP"); + } + if(ip==null || ip.length()==0 || "unknown".equalsIgnoreCase(ip)){ + ip =request.getRemoteAddr(); + } + IPAddressString ipAdress =new IPAddressString(ip); + if(ipAdress!=null && ipAdress.isIPAddress()){ + return ipAdress; + } + //当无法正确获取IP时,系统采用特殊IP地址作为IP地址 + //这样可以避免因为无法获取IP而出现无法认证登录的问题 + return new IPAddressString(UNKNOW_IP); + } +} diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring.xml b/io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring.xml index 02cf8d7f..6d411899 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring.xml +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring.xml @@ -1,40 +1,40 @@ - - - - - + + + + + ${pattern} - + - ${pattern} + ${pattern} ${homedir}/logs/log.log ${homedir}/logs/log.%d.log 30 - + - + - + @@ -44,8 +44,8 @@ - - + + + + + + + + + + ${pattern} + + INFO + ACCEPT + DENY + + + + + + ${pattern} + ${homedir}/logs/log-error.log + + ${homedir}/logs/log-error.%d.log + 30 + + + ERROR + ACCEPT + DENY + + + + + ${pattern} + ${homedir}/logs/log-warn.log + + ${homedir}/logs/log-warn.%d.log + 30 + + + WARN + ACCEPT + DENY + + + + + ${pattern} + ${homedir}/logs/log-info.log + + ${homedir}/logs/log-info.%d.log + 30 + + + INFO + ACCEPT + DENY + + + + + ${pattern} + ${homedir}/logs/log-debug.log + + ${homedir}/logs/log-debug.%d.log + 30 + + + DEBUG + ACCEPT + DENY + + + + + ${pattern} + ${homedir}/logs/log-trace.log + + ${homedir}/logs/log-trace.%d.log + 30 + + + TRACE + ACCEPT + DENY + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties index d891ae5a..6ab524df 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words.properties @@ -1,7 +1,9 @@ about=About action=Action add=Add +addChild=Add Child {object} addNew=Add +addTop=Add Top {object} alter=Alter bottom-left=Bottom Left bottom-right=Bottom Right @@ -21,7 +23,9 @@ creator=Creator dataComeFrom=Data Come From deepClone=Deep Clone delete=Delete +deleteAll=Delete All description=Description +detail=Detail displayValue=Display Value download=Download edit=Edit diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties index f5550009..98b9d023 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_tw_CN.properties @@ -1,7 +1,9 @@ about=\u95DC\u65BC action=\u64CD\u4F5C add=\u6DFB\u52A0 +addChild=\u65B0\u589E\u5B50{object} addNew=\u65B0\u589E +addTop=\u65B0\u589E\u9802\u7D1A{object} alter=\u901A\u77E5 bottom-left=\u5DE6\u4E0B bottom-right=\u53F3\u4E0B @@ -21,7 +23,9 @@ creator=\u5275\u5EFA\u4EBA dataComeFrom=\u6578\u64DA\u4F86\u6E90 deepClone=\u6DF1\u5EA6\u8907\u88FD delete=\u522A\u9664 +deleteAll=\u522A\u9664\u5168\u90E8 description=\u63CF\u8FF0 +detail=\u8A73\u60C5 displayValue=\u986F\u793A\u503C download=\u4E0B\u8F09 edit=\u7DE8\u8F2F diff --git a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties index 98349727..9ebecdfd 100644 --- a/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties +++ b/io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/words_zh_CN.properties @@ -1,7 +1,9 @@ about=\u5173\u4E8E action=\u64CD\u4F5C add=\u6DFB\u52A0 +addChild=\u65B0\u589E\u5B50{object} addNew=\u65B0\u589E +addTop=\u65B0\u589E\u9876\u7EA7{object} alter=\u901A\u77E5 bottom-left=\u5DE6\u4E0B bottom-right=\u53F3\u4E0B @@ -21,7 +23,9 @@ creator=\u521B\u5EFA\u4EBA dataComeFrom=\u6570\u636E\u6765\u6E90 deepClone=\u6DF1\u5EA6\u590D\u5236 delete=\u522A\u9664 +deleteAll=\u5220\u9664\u5168\u90E8 description=\u63CF\u8FF0 +detail=\u8BE6\u60C5 displayValue=\u663E\u793A\u503C download=\u4E0B\u8F7D edit=\u7F16\u8F91 diff --git a/io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc b/io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc index ee850908..fba48251 100644 --- a/io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc +++ b/io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc @@ -1,5 +1,5 @@ include::software/software.adoc[] -include::environment/environment.adoc[] +#include::environment/environment.adoc[] include::platform/platform.adoc[] include::docker-command/docker-command.adoc[] include::docker-compose/docker-compose.adoc[] diff --git a/io.sc.platform.developer.doc/asciidoc/index.adoc b/io.sc.platform.developer.doc/asciidoc/index.adoc index d61cbc7c..c2b82afd 100644 --- a/io.sc.platform.developer.doc/asciidoc/index.adoc +++ b/io.sc.platform.developer.doc/asciidoc/index.adoc @@ -33,7 +33,7 @@ include::getting-started/getting-started.adoc[leveloffset=+1] -include::yu/yu.adoc[leveloffset=+1] + include::platform-extension/platform-extension.adoc[leveloffset=+1] diff --git a/io.sc.platform.developer.doc/asciidoc/resources/images/getting-started/windows/install-005.png b/io.sc.platform.developer.doc/asciidoc/resources/images/getting-started/windows/install-005.png index b2d8e57187ec9858f6ac053b5ebbb8ae6a24f958..655ff4775900c451b79896a9a0fea0d289271e2e 100644 GIT binary patch literal 715860 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Ⓢ1vaZj;=?tiTa!uvOtYb8=d<&V_^`ug<)L*#<8-s;Vr)LNzQVbeSq_g|j4Df97OaRX-LBV@D_r_12hbpqG& zu{CQzf$BEM+#Q7WYyd3Cy4yXwvnePtXt4?##B4txTdZ&QNWZalu5$7ml{+rKzHYEq ziN>lZEO-tPBQ`e3nQ0nh$V^W@Phrqvvt&_kr;OxV?(54R8Y@6LUHklQZ|?!uY6d!s zD|A;~6;gv^kl@Qh5lCH=zsN!t;R3CJvUE=CpnL`^b?i6&bBvTL`R%R+8=Zd!{c-H! zha54JGLBCp6GhYC|AjsfpIVbKo8bd!&6st_z3M@Ksuad8(H7cmz}G27Q>;u1G*+z`KfMf}Q@OVAmY9NcUiU$|bf zaS+(=r-`fizprHD@Ml=i0L5uX z#3jToi~p-{sHq%nugpVpR}(AUJLcAq&Y){3NZgRRBDdGz|99x$m;8^WI{$7edFAT$ z|7`jnhyK4!pE#JjRrPQER7p#NvSbL(TXLK7x(mcFD*1WdF8S?Gn6mNWHir?b3F= z#Z`$>i;JIP∥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'Q=EwoV)QSt1lv`S!P{eVriSYmCC& zY$}Pt6R)#>B9d%xVu8x^gas}0kZ=6kdE$VCc=zX-j(8T3;>W~HfE2+Y61hT$3h|4E z%hy}?frgoX{IQv2>E7esMGwt*Uk#^IKzU8S&FP$Co$R^bojK8fnqCif2g4o6|(fB~6B9-9>xUu^xGppFfrUVkZ+-D9Og zqZdQviIf*;+@kR(ENyppdp@{8!3?aPv+2D307myl{BQwm@@;4O!g5cbJ+%w>^{JY( zh#1>dp+T~ZxLWX+>Jevr~t9dvml-O?fRpR>Eu3rkvia|=xkP@J_Jgfk}cvT zCBH{cuq|vKIc%-QB4)2oAaQUO7ZA5M&6vxPcw8FN_^&dX&%HIBR%W!`fQ15geJW?a zkYs*c4U$KBoO;#pimXkD^4sfNlkK3Bboo<(E{+L0EPxnd!KRgPHT!d8ukD(*#R zV{@b@-4K?CV}|RKP7;Lv?x<3X%B7W$BopICLw8inbxD?LJ;KfoDpNM10rzMTHR{L2 z1s2gGYfI%G%(uqtdg^$jey!HyP`3E5xBeIj?=`J@gsnyGbC*cF+^9*r-gKlQwzw z1=j@$i{RM2(&?}?RW|>>HM_|ZzFQboUNkGwC7O9=hv9Xge%rwCS}&R`WDJmwLPz== z0>0}hB(~paWbxx_Zo)77=JN($Suw!+2O}5r&!lwd?)peIXLdg?n2oGG7}K@F5`)Q( zZG9p}hSe&|!}PjGKWe(Cn~sKA8NKv`a{(V%thX?DQgL87TQnHZ)VLeL*jp*~?agk8 zvUU+Ps26r?LoxyuZNv8rn_QQ0uYFRiLTYBb8K1J!h!_p9m zTgt3*cY-1R_;Tpl`cASkfS>KQ=-{?74*4JW`LI?yN)A$%wrHhV7gxA#uYd`*pil?s#9!9`(OvsM6f98JQqkoLKos7#-n;y6v zk-l2|BcWX@a72oWZ#f|KlnNr@aTw?R`|+8pXGg;2SLfaH(6VMS{9(!U9J-?rQptN@ zkdP1~hZ1~!KG-5kRwrEdI(85#Efz!NT_C0aT^+9=gPiL_#q&gd^pA)c^_k#PwtqH& zFdmxnhv2TNPc3m4R#;lDPtmR%vVt^ zs}b!SU%R$12+RbdFgnLetGSFpRmx07B7GnqVGz*GI3tf-tda<@O2HxJccCSr9>w(0 zy^}+1P*RfoPRt+(l*XXe6uf4FH4r<>X{2T1Tw>dL`-CIrGJC%Z_HRl+F8fZ9Be}Bc zVT3k7kSztW&vddLO~NA3Ki4~&^CvmF2HIoXoj`JytNY1hqI!5vH6vVE{)aq%Sr^7n z#pakvA;4*l%AxNEwsc20+J5PRmozTqX+zQ~J3VIIo=Xqt7-l&G+Ef*Lr=_GM!smQE zZj9X`JhK$ z>daqvwN2utNjnW%%O5V!=N7{W)oOm#XhOOzF1t9bw&(L+@423J=sVG>iLq$6cF3CB zHNZci|5u^MzL3x1%!Lca>%ouI$f70u=jB&Do{2vzqWIu}H>X~+7LI17caIOU4ODBW zObr`Vt&%QdOu;AiqCVTB+9tiV`+BjSiK%6biZ4|Y(SE8Lx+!WHE+(j3)C?BaextBc z=>L0dn~J3$BlGwwv6?f%LJ!0=-zBWA(y@}F-SLh>Wz+=d0%ME07o)yBuJsg1y1hcG z_>oH1e8r!IEU7!jXazAL89hj;H471Hz0(PkN1^=2^C<6#%60bHteijH6t}7RmLwRH zVIIHS`Uoe34O;H|X#C`hjvPVs72p5sjQLnAnY&QKjfE;jb=XAaQ3Dpfoe{>|@WpDY z1U=jds7@Cu7MQHM-UPpMs^Bsl&n4%d~zfDxOscXkPf1(#pjO zxLWDfl6L|P79RKf4x=SZJz-|L58{faA51r+(ML5p8$ej?>h zF4Oty$C&-7lF0BHuNS8X<)ySQX-(a;TK;hU2&{gOyJgAhi(hjJiJ9~R_( zs)|S8IVW1_+pD(oLt{9`vvsF084tv7k>oS zr(05wc=_>G?g8Lo6ico?Dsp~5<0FNk2Fwh-T9TA z8Fd*^?SeO)e4oIDQR08*=6HSf)L`=;YR+>}*t|L2y4)ubVae&*9=FSvRx_q4LaJ$W zP^&hJ&X+6i*1hA%+)sxCP#iLrx-nGHQD-QfT*aFd0#S}~6Z7}Dv< zcCYvfv4iGkkKs30^W}l5{jv^On-_a7sVQ#TQo&6i!bW=y=XvH}cmB}XG$I3m<1u=Y z*xwFqN#{i*j(46|4zlxX^ea5+fhqPK6t7|_I@2lvD>!YAV9O^nM4sZ&Jgvnsq~phL zTakl7^X`GTc+KY+VzgM8jWYl;E|m?2_qikhe}H2D-V&YylUC)Y&_B?SNm;%LAVJLB z=m|{Pl@w0eBzq1=jzvPGZeDi4G58-z?fuf=iusP73D)p%rIX6*`S`RKA#~zx9Pz7u<^NpL9!L^H)&0Pbi#4!c)6mAm!0%rtF)w3%% zysGA*1gtejvnwh7SX6aL@hk+j6{HCcVX!A_)uH9r=UQRz8KihME>W~6q5xGc*RO*2 zbqJqgcD1(ix(&51f(G}t+1%78P!e>N?;nF?>(kcO*KZ^Nq`cpcPwlq z)LbGVk+5V8zRGU@wo4g$u!bDNYIOJf?;Xcrg3&p&R+ngRP5mpAc@7$x)}8-v4gMjx zGyJT>I1P2^Sk5H3byS`d(1$3WPEKd%HERL{QLKOOlcq7lDL-L5+wQ8H_8sPYn3L+TSykYZ$!RbJsptC73_I%r3Fbk-k?w@fdR5Af}-l!9pWhV7!qnaALZkI33AMlwO~#N30=~Q*_9NtSfX@X;*MJGmnAg`c(w;ykmm6a z@1AASG?KLIVHx&xDE~CfQPAt&g@vY_;0OK^ROmNHHS4cB2u^18?Dvx7`C~|V9z@l& ziGUM;LF7XS{df`pLG82G+WXkLU7w1s9aTX~dui{e%iI7h>JtO84Z#uo33}3PkTElC zbd?@FvFFmd1Z8+%*(K$jbUy}h2F|j9f3IRPb&6u}qN}8{N4A8b9%hx>17JA}8 znn`}zK|fRv%sO42v28cobY}R%RNJGY^jho0!1>q>6U4sGT_N}&_EAn2)Eiz~Xof~s zo=0N4Mk>D(kG?h7FLv(XFnS+32f`pAa>@B0_0D3nl{=%8vI!}^wj`qRfyb$)!IQO| z6mK6ozpEoo$4L)#b)+VwnG&RV7DglAPMG0lYD{5?3Nwp(zSR58<=CP!f(W55Ev{!navD8ajspjQ5+lO3Q$i;gm4adQ8p22d6Vt-NgMrX2 z44O1wAxEGKQ??drhY1}_fJ!C^nGN@|XVZDe$t3&MKqY0FbbA|Aj0r&HXX3>4ZPa9q z#1HjBpY>)!dy1v^D1oYkb09Q6!+?VG@;$k4%tlqOk`71jVFj`z`Sdk{@ia zC#EJS&(>Fe-w4?JgR%nV7S;RGaeqk~BcFmck|}x_0NYaYGs7#3Z5I$)Dk4Q`toiM2 zO%?@AWEQnx^nK}UR6O76ybR06C{M0?AI$z;Z8xQPP*eB$2t^f5&FEs9L`B%&4oW1X&&nPMp(5C zOns%A^#8lb=regL!DK0bs|a^CQl7p}C3RBA6Rty9b#Q2fzP|!QRdrzEmhhLzBK4@? zC1oE>Tu5^bb7;vA4|ltpMjFf-d}|=2*L=~Tv#5K^oP`_tzu=Lc%MHK@nA|mg0W3o! zG-3zY3PEFe(*6I#mP9=M&)UDWCny8)^f|6%$Tu2&-1EE#x(|xQc7EGeDL`8iuT10v z?c9h`B+-+8%`Pmx0GQc8KcBbbZX0dYvIMJt3Y<|1QQv|*;9s-H z5(h-9yfP62A$a*)+5(``VLq~XbFU=GOqvcGNitF3YcS;w6*mv2miHH177(*>UuznY-wc&$AzN z>%|{Ce?Q0ft+D^a$l?|dH22};MCx@)5*PfV(l}N)&@~Z6>8>Z&p#lQVBqN|WcfeX> z?sR)m&qToy4b!__KNJ-;FjV%ZRyrbtGYjAnbEjL)JBG9&V1&MU^&_zU4u~n#3_H-O zJ}gF(N$sAK@p9i-gV}zl03+(c7lvX?CbP)9v={huf*-wDTgK4HWUFHrwXf4e*i~%A z`3Lf;u;P{!tIouD>7H!TUl#;qZIg~xmF^utVfX}db;iQOzpdLHj?hwmV=&qArxZK5FQC1bdE+ z?<_=uz?#MclxVwWSK?yuo#ETw569ELQc}8+1(3wNpLL_-F@Js%neQWb7jwTSsp4f! zM#z_0zPUXaUJt$s%~IFW)AqQ~U-00j_TAK&Y~Fm=0}pcQ3OU2jy9Xkms(B;sXRt!I z1WZR&cagzhBRt~Wj5dVM z#7>f>rioGi zF5#un!3f@|cP6y79Q|7o#=2!S_V@`ck`=L6je!W$Q8>9NQ5pM~|3<3{CyHRzvH$DGd$KvaGP$Qi zvjp^AQQah-Z23jt$XSBD<-{0Wg>ILOvBDq$TWZ1Y3LxxwKy%9SQ-ezF$6){>j0BzK z4$Ee_uY5s+=|1^lA>CvQzGQv*Z)HCsKF~1y_~_xqoeP|&(zFSC>-Ott93C3`SqJr{ zt}ij~c2ediN{?MEecTSieY03~Ux`mprXa;Dhy*5hS75S&L5~qBt6SUDkp&iX?l*rd zYE^Tleq($I1*vS0Xky>PI|y{g7fxbQNB`rq6Vcw|^;xjY%LfNtVg^5s<>x@IjH@vE zF^S5|bkUkk=v(jql_0VGAqOp^PaaPw2V|i_{7u8kUy@p|!7RX?aU=fGOAF_XuWm5G<=}ITc@Nim^AbD_(Z(qXh|-z!A=IR@4g>EjJ@EkJXt zmR8vBakx3%?NB6K&F9O}hl;$_Zvu+7o(k9Us(F{Vm#e>1yWifA!m2q#u5OJcxK67z zC%yd((^oqI!_(z%b1l|t^mRo5R&?YjDKt>Utv_0dbXHyqjiifGs5*t!FIia()t^XK9%DkfZlZB%StBvCj#l%&c)m(aVH zln^-v(^!cZ&?H#p=4c_6O2EEdx(CtcWNCPXjHJv&f@Dd`drl*DPp>Dym z{8vq_RVm{~2+8AB&ji)Zl)q)uw5qxbSEF=lCHVHw2LZOC#3=v7&-PbK0wi_Q-DbDl z*6NY5#PCcsE2~7UX5lYvb|(J?i{;m%PFCUf7We}Rp%Fa_1W$ulgr*quF~byy--mZ3 z13U6oH?%$3e!&BiLu?xH$75Jo&rgC{6V-UOy93S74IwK&o|&v$o`H`l+@AkBOoXf+ zK$o*i*QzgmUMMb1dheC&982Hb*_DY#3V`;Js2+s{{_|FHB1WXNR?dmt;%E4Im`rfG zdaL5H@Kv`?iM7_}LNFk88qD&I{iPTMA5QRE6hC+qxc2MrY6BDO%ysjOe9)ca`552q z&UH84QCOqrE~Z3^y;M9BM*ojQGoZ#ZtyN&ax!mc?L`WQ?#V9hk?oLp!wV!2io)Ns9 z!aK8rOE+IZ=OhKgaQpHP={l+ZD?!!+&!ba>6iB8bFU@Un1#&fMFwJxev?2ir4Hqkh zr^RbqKF_~`!@@67SsHNKd}SQxXFgcf8J@cdSlpQ3?kA<0uV>Qm{gux@nW|r;}T?KGm%l>=qzz_P)mu{9rNBGOwVx;z)IJc^V_dc4{j>Dj55-cX~V+ zHa^vfT)ONwRzmm+&h~Jys*dI^c?Gt*sEUCJ6?R2vH(^&!`fC>b_zeZPPLub>O7{f$ zE2%Kwb+fA69R<+E@9=zche}zt)jW!wd>X6o1=)lIOWMiUJ;==%$$0C$2j2Vk+kAqY zYGv$6LP`*|ACr8>kGB-T-%RBh)MujJG5`8e`4y+~EBbs)3R83p*SEe?(5ll-ON(8T zg3}R`jBD!Xj{S(sjGf2T$WTl2s@v{3#lWbF>*?6ZKNb%Z$LZc&;&Yg&jT%@^j4wy| z!60oY64V-`*H^?<^n$&xOr!E+D)F4jfIo{Fg}nSr418;I6dax19R2aBu7J;7*s(8( zT(Galaf=){fOhS_r(Z_jPrMY-I?WRS}hp1XOi<8_Q)^%sxTZVRwk_dr3`#p4ZLPX^t0WRgm$uTmu*e*2 zP#y+f3W74)4l5Qh$KNeFHFO3!1 z-{2ls0(Zno0>`(`sl#jAS{AV6s(mBezg9!#$**QI4pOccIN8k=Y%tu+27=}sl*lPg ztPKbNVTj%Xg&g1iti(9*n|5HWiK!Uo&wU*lA>&h=l#3nm8vD7#PI)hh_GI=}w$AsA zX#71d*~9oASt(yTesy@i(W&bB)pcJkEg+>~e}k$N+2yBp%P;Ism5Txj_4nfXr&$Wj zdo^f!?{4%PYI&@YAGyhR!i6)WOa~@ z$i~id-Q2W?)O+XXjx?WaW!D?5{$(0!=kW=hpaft4G#yZ za%*>zM;kqdD9+IX6IL1brZH)uD;O>;_aJ^5X6JC#WUeB66j$vpL(1~}qirUz_b^wG zi_LY_?pAV#)M+tmeNdmj|95-GByp+b>{Ov*p^5frB3Y|Wt>mB@SUIcuU`E?h$Zb9N z!KIWEwzQFIeZN*e(Q2=q_FsHDi(kHOs%x6&+g{5T@3p))-|frfV~rlpBuZ9VJgTqI z#2Zl9j}*9=FrRP^qbgq@Ke?QW?g_`}BiwPU{x}&ALhDYX9pR=i-24*^w94L`Y4Th) z4~>}pnf09V1*8(Q`hR2sL0kruX4hB<@2yBI~qt(L<=mN;tRa_gPQB?wYst5$-#9XxrJ~pX}U$V#2z~ z$m}=$1=`;WJq+O!1dJ1dP?GkaK8##>y;xGiz90zFbY6mqrWzXX@U52Z*#yr}YX1`I zHU<5oIi-lW8~DOH-WYRX$Y@=LiqFf2lP*IK)V7Q1RG57I%g~T8jKc z1}R&kkX2hRjv!b5Mk1XqR;)XIru5#|Xi)XE=!sD;}Z( zwsmtzQz~sz}NiEjyIR`|@APIKOS@9Buh)H8MSJ4fGh!|Iu}a=GfuB zRwfgjv9bA2olk3&8AX)R1Ka2t6Wedq_iish2D6uh^#kc9p4Tpp-82n#rAu6EUk+S0 z)_&H$V}-r^je^u~Cv;0@Q|iun)wDHm`fNL#!TgUzoAtQfqT%Y~gs|dO7EkX&50TB1 zZKAdM;K=kD+>;7nl{}kf$0eX#X7za2X)|hwq>4Q80tlaZs^=`rY8YuCOZ3lL^=o^o zZY_fu-r_|F-FznUIIbBF=k=HBJ8-fbEERLCno%Z;h#X0%$OSzhCTmv@HanO`^?}V2 zFwQ8IBD^esll{MYLS6in_dqw%o$ueQj~a>M;~H?!Vsu&$lRvs}y5wXySI zUleu<5=wa3N|!50xJ9wL&Y#F^OOXu9l74WUp4G}xcHfq?P1{u@YuV3IPPNr-cCUYD zyV-1|jD>_z=Vm=9Q79;QD(>4=*@&YO@~fr5*?Ao)a4e z*I6oSWAD9VQZaEOv#*7Fv;B2 z*Lf75)t6dBQR4AC6zKKku~q7a{SJsjr9(p7WA3iuMYoHmc4wNB0UgZdB$oqS|b|4=NWh3cAk*>L8nQvp@(_{4wj`7D_zC%eIC} z?)6J1n)3FO6p{}-<>dU-!wv43+y@E%BO8-h2{I2~@b`9OTQ|RSp+<%Cj-1A#rR=Yb zs$2w%;`QuhLKgE*W~5qJ4qJ*=uLvYj!jin^Tw89rd;~Neyn}pfbc3a*Ogeh`^&hx z3gtAiw+A0mJi~>qpa*abUj=ZX>Ah7G|KEXfp z#dTDTQ))^yR6RD8SlkZfr%6d16kv1vr^2f2wGx;|rfYu9mpyJX^)3m#J0UNcBN$!Z zDC04zH=3~-GKQ?YViNP#8{eGMJCiYAb$6_h8f{bh^hzl7KYy2&|D`IwTris_Vhu01 zs9h0U=%1GnSj13Rp@(adxXgKQ8>yt_v!Jy*EkD`=h$u)JLZUT>LobD*{HcrX=mieDXvdta8iZl-($PX8%AX4l-4CY!xa2Q3s!m4!gzn^s(at_~>H% z8K_>o22nf*v^5Y5nYi-haY_EO__XwmYQ9Pw`4*n1{fXILyY4c>ahCazQ+P1XC%M4P zy*vDJlT#sw!M<%imuUWWvbW2HT>VRBV|U@Uqp6?5g!#(#6{K&ZCBjaD$4e4F9nVD#iyqEhmrFZZ>oe|)f(I#e>rhCI z(RLUP^!;E@GJn5=zbRhXO~{wBn}UbA-?27InPNux&7UMgUtph_W-ujJJev{UjFcg2 z4~(zg6B7x1BR7UaM+6V~Cvn}u_CnPmKQj9!i|XA!2{&vhF`L5BvVDDpR<4+09`Q*#w*M${pD_ekdM|H_b&)jAEsfe3VFx-ygl_ z2Bs5JEqKNyQ%h_?JCO6Q5R#P=r|?Q5OOp6~qgc|m!And7bc6rB#AuEf172=bLF|j( z8~uZtS|`vS{LxrnhB$@=GuGGPKQ&7atdIkRKa65CyxXetM($ykbKx*q)SsbQfNL%SNC!OUOV?h31U z#xcKA2JZ$D%Q}yma5=#H=6Le#1OD>GUxH73)8sT1$L=SIEuRh#!)7Zvde`}IVO6Z# z#Y4=lZ`(@+lvN9~ZTKN~d$6CEet)1#2|NGAdM@S zqehT9S~(Tj4gHf}3T17>Pg$h5ev4&|qQr?3vx7g{kZ!gRSQ*dU)ar2H>^)uPq*&b~ z(F?9Ua(^)g?e@%GK72t`Y`k1%Nq8HXbdu?CEYwcUm5qDX@2S?3Wl{3kB=mG=V|90k zA83ZDmH!Ji8m^_wMI&V|@bhj8%qBks$qU!DaE*e&zfoe^WWky_lgzj6-tVE@+zAfx*y z50kt5mzA2?k21*IxgKt)@Lm~T%RcSBFMlcU*}Is zQ{`oE%kC(Q{XG*-Q5lOux+Uo5$I$qM(~fpBY8(;DC1m;DzzK_(Xq2lS8Y4dQaC(-x zx8$cFL~)MWu$GmzP(Hbx$@N|X^%YIqYz6FrVU zlkBn-m;5R_SLlc~BYg%6Da)5^CgWz(A1dIs*Vtud1poj3P!4klO;O_DEuHzt4f%XE zcQACuzaXu^Nf%CRv)g*Pc5<+Rm=Nrl_m)3P_*E?gSCbW1VU(A=-h3s6Ti21hX4!7u4X?{7sjF_RdZCS_2=1JhWMisf(pOUvpEI!Q zi>%xP?tiPvV@jeq`Ppgas5VwxS(d1$5;9k$V_h&0-wrrhfCcT74z=B{c<+8!EzTE} zwGoVl+LkY}EG`B+U{>iz@Q>A&X^e9(+HcU`M}nBkS=;^^kIJN4;-E?$7X$3ZZd4<1y)y}0$IWlG|AJrQ%?F?Q`bi1X zzMuazmK9zYib;Xyx@ELFK%promdWQ*6Pc6i<3P=TP7!HqYIE-TPbHt5Nr1m+!Qg$* zv-AzrK2}npiV!rWo}kb2|Btn=3W~E^*9?RpAi5K1l4Tr?Zi3_(c?fQ@i=PfZCAd~W7v2*&s@vxpK!^MyP6A3btPLynPxAlgYMU| zZ|H&-)m}GBUTLVWdrZ{o5aZ>p?~9d)e2(|Jo}Z=`YC6#D>a^gl)yNo?ajp!MT+$09 z(iWVEbcf+J7I}Gm|9F;mMqv7lzb5Fa4f?HB(bLoTb|~z+>WB|I*CllvWc%{= zeh?^{HcY|UZQevk2wP{4%EVNEjgZLyj|tl%ePp|upB&76g_En*lcRfjJ`cl+pn!6((#&nz=y)eSwV|6z3PK#y z$={|Z((j&oPeVX{+1zER@9FJmZ)?YRhCcfXbntq5W1Rev+qvjut;p;J2`W7G;Ed~= zd5v{O=D5vEd=~}vi<>?fXql^~2FD3=>UefAKfW@Y$*sol zkI*qZ2*dCwj>N@x*()oQpWx0zWv16W=`+T#ibEsoe?`R|9?sh#S*2ed)<;(JR%n6J zkPFyVV1EJ6)_Us!*C#5(IZYF|A`P=(Z2cW_?JtOzdwWr!KYGwqEuX}%9j$D0Lck_e3TAfyuFC$e zV^-M`&nRr@Nbh*vl(2lbx1*!MoDMP~X}$qyhp0gh;5CApib+N2j({9Gx|v3TF5YUB zHe|il4HE`$iY}IE+mzU2QZN3rzRhYd77(T=+q!#I12&KTOIap@|6SmRz+H!v<S;{~A9A`bE*Jmw<*W;?M)6fThn35$FH-SNxPPdZoL56_jmgeb=>Gl9&O845I#jEx+4GR*BcJ>i zAZ;d;3PnYO8orWx+UrtnfV9aU{*{a==$jaLc;uCK~Vhf$mI z%^xxy#i*)VR1|40i{}1~URAr5LYk??8IaXtCQj^}in~3f)>_r5?OqbO4N zv}?jp*$aXnt9;qXihU@>%i6~B#S1c5MRMOCABH+<7Lj4K`!$0Ns)P=idwWQ;mtxt! zp-VMP{sCR4<;zy)p2U|@2}|W675+UIVJCR`o9*ZI2FP4D6O&)X1o^h9A~?;71KjUb zl-Zif!h*?2$Vqy(I)U{DBsYK5GKpI>UD-2c#1)9ADFe!{L=}X#>2Z4azY0?>wXwIt zZ1nmg&E8p_~1|gVn6+TtogT+CGV;>yndkkznQSDt*LmY@-j6r40^a%D zIaLi!z?O1v2jYzHpP9`(3ND*+R75|9OxNZiGlKDMPKL|b%+1=Oq>3y_KNwL^$?4_m zSgU#NM;mirfv>s=`PrLlVeGo+Cl7~yWX%Q>y--`Pw>Ad#0||`dt7{kh_p2?9i*@5( zn=Iy~&8O*UVAaNp5vsh0v*zA6@F?*4s19l}vh;r2>FuETlT?)MhOl$|G&3AdVZoAh z?y{~gu>YWMSvs_B-jvX^_M4A{(WbUsENZFT-S7FTb`4qu5a?$!!|4~GJ;uH5_JSx` zB8QVZOKg$4XFiL-mcS-;S%YY6Le+HseKEoOZ~aKk(v-j=bXn#ZP9Y%(c47Hbx?=bW zTqOT(B=d~NJay~if^3obX6)aSNZ~YVDdJW3#jj6Eb(k%M5afSH-bUhF2?}x^LzJgUY!bQ+2=uXLUwPwg^jV8Kn*-7qwvld)l%K}bVt~J ztjm2F*+uGnAmR7Yk>lL+UP(ER@b|G7YRvY?yT)oo`vtuba?p68JaRIrhU5(f%7U809o>)_#&U44{v^l$Q8(F&|SeVzyosDn;qWU$>AihEGC%}j> zFLO6ITFJm{j`iy4v^T@WuGj>-Wz&=qK=l@A@`K+%p28=2Ie5JT_P3#(MMDjCT|*%u zZ4PTsR~5bR`eGA+V8O*GtMpL@Qyu8^Ai_|oy80UP?wDdlAqE)XO?CpI=I5TrhhL0S ze7l)yrV~;m$+U;nX#|YdmO&08g!^p6pjXmL-%Bh@n-jeFHZd5~T>N(hX5{ZuE0%6b-f7F{ z({`hYFNyzPgc<)K!Wv1)7K(CLVTnsI(8&;B^bR_z_Cmx5m3^E1nNqmo;coQiB}ifA z?sui^G8Bh}b+DZ})bfsY)5EUypWM zlrD=1uB7)ITwv@bEPJ7vdK-;dkK{il3l-=upOnb%cNgOh7Ecp1QIoo;9`@a8{h$gFhT zQ`EmDw`B49QC%C`!^_@ZUHJXeg9~haW`WnTY6%u(tx7y>mYSZ+eewb=I&;5aerJHP zqvoMAN#D{>#$4fa(lx1k*fHpl=s_;I-=H=va6`I9RG9V-Lqm01lRba%rCaN*9r!@g z{W^9AHk+IgOs4<}8zmNfvwomx9<$Zy>t1%zUOf`o$CYg!UTDE&D~G4Q_;rb#dG%^v z%Nk%u8)UvS#yy)|<$6>5E9<0;|J2~1|a&q zTJaq@g$f9n-k5J7?YD?9iXvix8B~JaortHTfGh8lUJJc{3Z%4iY~E^AH@if9r1>}T z^ZP?~d>i}eI{!088h&-Q-m5#ONK-{W))F&9C80NOe`jqyvFR$Ikp9JMMY*X~>D9YQ zF$&wha}pyR)Z--VL~Yaa);l_fQlK3DbSpZoP&J~H#QVU#5f(zQaZ^Cd103Y{cJPA* z-ZUOw|1^u>H~q>Fa1G3#z|Ag@Au)TN(3n!YAs+xUo=J0fn#rXNOgRG#KkW7Pqme*u+D&EY_3)&)|V_&eOBihLb8Vad`^`R-f@?K@!qkZ zhdW*exgqY8Y1;*4xI2Ui^Nnm#43%@JG4gRboRGaC*vw*KgXNosk;D|`t8ah(T(VPf znY9q?&rQ04VmPga?lB_~NgHUex6QyWXqiK%Ng_z@<1sDHB7kSgM4#;ZJ=+idTj-}( zaE(q2Q5Fo?f@s3xB3V6by^^Uf6wz1mw)8k^?4l+skl8z-&&B)V2OXC@H3v2|AlgYVXVz$<4rp7&^{WQg?`*D66!!I->UZ>S)6nLT|pL{gfbStI=N)% z*u!Yf`;fc}vThC3(v1iWr`rNwPJw^Ng6>}w$1W6Pc#iS8GV`;=WR=1YVdjkdY`c%I z!`a+9d!#O>kyNS>!RGw}Lm2x;OrK(&&u_l~qmrWsJ|Ff#KrBIb4{EoqgYTHFlasHA zVG)kV8j=d-uCnt$>B2?OejjiW-1ZA1X2flhXQ*^%D9Pk6%P0E^FDEj^z6P>+Oy{Z* zU-S!d%r+=HI=)0jNWkcp(?fA)ylGE&&xv93`*}Yfqh7@ot?`RP{whpD>5oDLMX%B= zh{QJ+uxsditJQgVutEmvJ$Ld4RveiTm72Xv@qFTP03cbpk2QHTl`#_E9H2Uq}hs{XgPBA@_ih=l=8V>pV_}+w6yI9f5P!FD9 zDwIzHJnkdby%xFu5&_)eO6UUDo-spH-aunU-06G?&#o|EUe&VdRoC32bs-aXxJ#c# z5$0$UI9^cNb&!cGT$=Nqks`I4Z~bC0Gvi!({Ye~IM99PIjCIjwvDiSIT@ZBvPz`1d z_ff4j!yQmQ+J847zCVMKLsvXSB!P7RbslGM(5M3Rym?9rctbYZ&PjfF%Qx_{D2%3o zXg-(=EPw2;(j9NfjqM=B-;q5=_6##;f1TfuM@f&md!+$FyjfU8&i&lB6w}#QVT2Wo z>T*iztE_#$2aGkbFNbd~7AgXI5^)Zi)I2rxnG%iDf{K(@OQOqqRe>xDTlOoijJ&p$ zz<#$|lBig}>}CwA^S0pamC+8YRQ0H=!^$bnXd=by;XacNL@-xVKkjDH(1fc`C(2*O zxPRB8oa-Y?@z~qTR#qT2ERL;S%N0BsmSAbP0LWX}>R%Ld7~3X?$hQ@LRPw#0GZn$( zbT<84GjUFqv~T==f|I=MWYq3}czo$Pii_ds;70K&9Bdemr03k}rTVU#_5>~YUK3#- zAIIulm)orvwNmL32G_~RNI3)J6&{Ch#LoO1%`~56=i@1MbU|Pu>q)%&E^Q8YobCn+ zM?t~CLfUAa!0h&Fe!`&z`26@yab7(VoC$Pi>Q|2ROp35${5k^W^`FmLkmfbrUa<*J5aLb19_+?i$b9f2<<1<@`3QsuHLQiNQRQXtrn4itc?!6)Fa(L+Y5V)DaT?tOn5Jsr_d^z87QV{7YUby`%Wlj4MhMwGB}7YobtO@& zm;&^rkA5%1^VAuLsB=Br>#8mpfK^7Ntvmvtc1VIZugj)&=j3hU#52!|A zzMQ450%jM46bCv)B13$4s(jBcj4snsfl-)>=pOr%mf!SoyV=y5dNgy-%;ow8-|EsT zo_(Z3Y1b6E`H*9ZdGU@5gyK)Ux@B^T$!hgZX5?~%0f{TvB1V~Xl0mXMNYQH=^LGdZ zjiJHY>B-Pi!izISW)FjM;7@7ql9lzzk9zbKJDY010fKm2}%VlN)uWhfTSf+Fx{dLsm^TFu}9#J+&eU(#LCZN!_* zdc}3O+ETB^f3_72m@Zn|l0FgmWvk7G{EHT8 z%dQTMM%j;U6jK%f@LmOPA8GN;(b3F&E;tX<1>Z37 zA9vUk9#Dq}gwh#f(v-zj;A9~uI8Fdzso&o9ApMc6CJp@r`wsiS1vEisP8&VZXVG^A z9rPMVLgW3Exyy+7d2$XA9cTACO^*rsE{n^V35(ayWS1bHF0QbE2XEjzRT24pY#T$o z_al?p1KT*R%XKMh$Z>&cPO|p(F9u;5trVrOBD@-LtU* zb+nWu?G^Z`b9B-ss?}@O#Rl(8rCi7>aG`3}BQGW|8(DD3`3h0$3hL%sV?Cz4Ew#+|C5 z6|!LYZhsOXgY6e7?*S%V$bi3s-_P$q<0;?b({M|8Ps8E*ir{Vr$`Kf!?;^xN;HiF* zlO^D81N0Ru4%v?v+oHL*Vb${6pL$|bB$=mCI?bAgf&obT1&NGB=-u8aO$1+v9OR>d zve2|jWVrUwEXcao?&V-mOr0OqR0uNTTaDM`d&rFWYI(*nqcV*3w9S`i(u>rrNYSRc zzih&_occMjI$QaFFv#W#dS-}z6$$ws*N&6{c!b`Tx&VfrLtsYeKL3oA9Sk%V#@!tq z;j<8RAZDd@tOzJ+BVd=P5%O;!7S@@j$ucJ<-ep}I(#@!99x>+W1(gd+#%?6S2P7{rBzlh_Zf z`D=~2wVGg&_u4bk&6w(so-F)3sp;;F*I{_v@27bRWP+_?0uio{W)|cH^G&oPGxlUl zn#Osgk1Gri_;lxon5~^v532OqKk{$DP^}(ag}WP`WraSJ^1oPUJhOc_lKrY$HWn;$ zgk}V`+ByY6KjxqiveTw4L;|a_bkTS8l}8OVM-5Q%V!-cN46Y+H$$U*98NO)X22xw{ z2;Chr?>;Gmepo!jl$hsXEskLm-UImcA!Cy!&L00;HAlJb4@$jahO*#JEu{kKr zYk~RLZP3Aef=-jGkOU*~@$rs?zvVIe3Rq(avA?@s^?Al!5?#M=Xdvml%@+eHRu=f* zhhnH?H?H49Ut~C)^^(XQT-$lhxAF65bL37xz&2S_uP?aFt!ZzTtIi|h&#H4dh8{iA zr;9xG`C_5$;(By`+4go%0w0hWk$29WB{Td-@h2%#hj-qzAXA;7jBOLgj1X;xMjAY# z876Oh$dT&vLnBK(i&ow=Vg?8MA^GYE!D2Dftn_~cD*pyW%&Cz0OiM`#K|ain$^1a& z9UIiWf#nzVARwoO@M>P@E%oF(&!1afiC}zJj9EIm#KrCa5fvZ|* z>#ZMdz-fxC;YLvO?oW|kT>jIENyE&RvkiYr>s_;@iVi*vq`#MJGdf>|HDb$ymJEnku%f}mOdm(rPLgopzqsP`z29XB3750Fqe7lL?zsW>tR?jnRets)1BhLB$ z@mmog(vIQV#lAK&($lGOj+ySX%9Gkkci^vjKG@2)pVn5v*J8n-o;qR}1olq>GVXO#sCjuM8CqS5iOud|;F z*vdE6EvLqDiOd1!#IidiZGw#TSOxPvGF6dxQ#U>O*Dkeuy@Z4;k*keJgzhV^ZCQiU zLfy)Cj`$ZGH;?=287PZbOneN1s-W!CHK^9z_FPOWk3xppK*G1xm2`G?z(UReBWtV~ z71>-eKFkCSL2*r_h)#w1cZwRundq$fSMWa&I_gjZDv!=*R#DV;qlK(Hs}zxfeucW_ zoPD87CU?~jK%Qmgp(_F~iuVaT{M1*ipO`WK#!KO@xJYnNKJGQSFiH13xGn;G^kfqG za$GLr!iWmPj-`U>8X@zJ{kICK=Z}bfA1h52k`!5bHV+7mZpOclME659A z+#V6C&GF4l9Di^@Z|Dz}nAhx_vEpyRTZOmqzraCPzwf&?Wjh1XZ>NmqOV#%+1!aW0 z5giXgiN1&KV+KYM_-w0r-Kz+{$@F3?eY~}se|3Q+Kjkmw*ZRP8QTdtx&%QR{8HD9t}Cug@?`u6gV$d1Y=Btfs~ z`$1Gb2$GCQr>Nv$0K+eFpw~a7BmIR!4I~hOW{1UgNwhuVd$PEbxUkA(owVunI596p zO!c~gW4}MmoI#NX)uAm)}dIs%SJ;+%+uDuHoHt_-2 zs>8a68W*`ch>Jm5XTspm5#T!|HKm!V|BWw8fb5Sbc{<8L=daE=jNXdFM4eboY z2a_lF`mk0Qm)qBiU$|<_F;tQI*bteH``Q9C4dsUw+>O7M*-8>uL0hB1&i4|oy_?yM zI<32^>HyQ3V29DPJFm|?H+ws}R_h&0t;TPExRrheZ;b?Pb@@LI+LX0eH!0rif=$l+ zmPx?(^=Y#eo^emXfi{)aweu4*8lH!+B6>=!5x~2mbqt5$_j7SDLhxpT7UFAXIe5rj z#bM*cdtZkgUD5-{VT&cL9qd$PRmTp2f@d&PMJw;8RJZ$eMR}UCt-vpk+b%T5O0hU( zMnXyK3=yPQ-oi*TW+C{UOFYZ;D(I4s>7}u0m|ahXFanIUAcqO~=OHL@^Toy&Ms zpZk+UImd3ZhoMtNuf1`7!-oMW7N32JvuI&Hhc6(Kiz=fB)^PAH29O*gQsYO2AMA^1 z0FYZ~AHyrEj4X;&%2wK_+TR`4jKCJ#zjMKiQPyTtnZ@+$pT=itK#`AS6^J(FbLVY{ zY>EazhO8n%4vI5>rYAgG;`}8Qlw(b8l$5BOq;E)^gw;!h1P)#s{E;>2{9wH{CdJA0 zMHd$yRhJp2*Pe(b^Dj?aDoS!mm2h6q3fKM0(Rd&k@A;p<@(+W5XC)gtE+l01)?e=B z-IY`VNw2}mEY-y8a=-&Qk|`^XE^MT`nJoE8(Z>fpDWoY4Bf3t#tn=0*cBv9T=hI_> zdOHsa)He6^BsSpWH0kpiQZFdS>c|YPCD__uWJkAkj9z@##lh}%*-Rx+qqP+v`v`c> z$<~|yDM#r`@x=pUt!U88)w$m>fyTL7V7X=dW)?TFc-BcKU3Rg2fv$&adx9}4uH~7f z=>k}quN$W38yne9tW`d>zq*_)Itvft_c#)@=#ZeJLJvHPKC8=_NGIML$DW=P0#!G| zwZc{PtKKBdAn&J#(OtygkoVlRfGK*Zrnt_S^o5m8e9hv*^GsM}^xEcIeUq4O$|K}% zaN0@21o_PyZkg#qPw|5$z4neEZMc3t=O|ll^p`{sDO3bj>TgzA&d1h1R+jisTv0f8)Bv>zsnE|CsINjRoJx^*z#QZ(eI+4 zA{6a>KFn2f3UcWDRATj2UrY??bTf3`FvI}rATHC=0 zdS6!ZW_kh%!@uCU4391JLLKYb-I`y3AsC%I?Q4Z8apPd!pCW+wxB__IwFK3g(x&j{ z+xw_K)ykuvis;lxhz75@%XR~BoPcIKpxpZY7CF}1wK#OZg1DtMoOprX5Pr~DZ8`OL zex6nzwlfuLq4~5}!bMYt9DU&F?K=7^`DNwl`PfBZdgb*A5`g7!)8P$0Mvf;PYe?Wj zMsA@)-d`kkt|ibhWc=L>`U5F@yEdelf7}DARZIWv&}lZJ;A4S8WT{mFNcV+svbbS) zLCZ|e5{yk!K`ieNXC?)bcR{3_C3#4cA*Z`_bqu;R;JY0`Ckjcfx>j{FrX}hQg`pG@UM+q7{D56e|A?;Y0!scLakMQbMUMM z!1}kcj?@U)VA72fDyP$9pSfedhY{x=fKk{c#il|rohselMk}EBU5?r;^m~7UX|)JhekXHh9!6m-d}0{! z1WN6Q!$!OwfRI7WU`s9@HwS5|9N$)(#Z1+yjOulr7?XQ?AuIpRdXqrkO}kV^b#MAF ztGBw^6;i(EW(tA}qXkEG->zgnDN<(T@a5{nT+a7y%)JIlw{FDrjJwa)`!!AfmZ5nz zCDnZmx9jXXfm_aWj7{YhYBb+@pYFW16LKDUKScCw7luvFW84_e?C46>h5>}^U)tIc zp0i4ay?Abk2Cu6Xs-o=ZYV*}u9Xl#7gb;bSNJ)~wsm`7C__0fm zJ5lkc?BdQ*XTe4DKQJ1{{9DBPu5wWhu3wBPC~m`p6ywk~fSrY+Tvj@xA~rU>w(z zUA1M`{N2S+ygzu$AR@f8|02lgqH9eGt((4dCP=Pc{3}X9UAn_qp$)s_O}v8hE=D)o zEIx&p=#yf{_a3T;{yzeYVdY$#$0Ik2-MZF zxMQ%ku(747mpWpwg2>1NDKF-cf4p&+;Vmm2 z<+=P-rGVLX4J<<`fAlA*h|Z*uRNJT8RQsUg^KjXLiEbf9La%SULj&%!TG(F*f=ka( zP}~LdxzN7=_}p0D;{6Z6XN;(?|9$7tp^X&DX)74jfjH}MdN4gAqjb|}uFaa7oc+Lg zP2;LF67|!i4fjf3lh*}g&MZ6?n%~qL%+QSY=c{dA5Dt<#gQ?vpEdywIyX{VK-E?i2 z0uk;nr%vJyQ^l_oysy2IG?oM}O&~??nkYdk;+H)W6^>;{@ zP%9cDpC5aEkhgloB#yEdjeB*<%;i8L#h50;E(@(LQ~AQzK8W;wNQ8cK21}Z8lSaNA z5a4UIiHJYxSeK@SpNI6XjxMENc=HVQ`wx(LERAhW&|dwmnO$tM^$9vJYF+UdpYLvc zg8XtT0bledUTrG0n&DqE0LE5(o%SC{PRCwj^EV!!-7WO$@NyhluAC5C{iulOUrjPK z`(-Nz-Liiu$=H0sYIJ zlztJCo7)n^IdnSSfH#O8pjf=cw_V8H3b`1NAiNnP8z^QYe6`V^vM&|JswjUSr^Pme z%A~2M|E`==9Cadf$x7Y>GB=mnhp&%|BD7n^F_Y?s!UY%1@{w8Rvp7q#)fvthOb_sb z28mEBI1CRI;smJ|OL3~_-p2uDep7&TqsHj-uO82UxbL8t{Y-T${6y5vL)C6HM#jIt z5#pZt4RvCfisf_M5Iu7EP!A>c0B|f8B)=gm?X;l9>nG<)V7f32S`COH@ zG=5ty$gzIqr&MM7$ zhD&Hn&TW5tJE1eM7a&OhJBJ*n!=cGjJBXl^MFE#K4B!|wof-#G)(3=3&SVFkQ#)S1 z^7|o%+W07pqb;nEZE^cY4s#q00^E_QES>wUuElF;@O^-K>UL7ueF)OgIE(uR}n9wr_ech>~B-XpU!cL$32Pg(#) z^$@{pb?|fu&AIWqYBU>2SXrRIvM*UcN`|MlkhE#_<{>67+K^iFIT9}e!&8qYbg^?L z5G-;P|I74~(=--aRq*=?^-pC`@QZ2i>&Sn*iZJx6n=_?2baw??9W2o0zZv*Hv^A{SI`fAO* z$GO>%SPMp#LFA*9_P*w?O5TmAEa5B+2(pXc$FK_kaw-VU$4LR7$v%I8R%sYAm+_fa zOLeed+8r-W42lgG=y%S~S@~L!a-gDXe{t`euk;WVzYS`FvqZV|xp>wdLVZKLzT_$HbM;Nd_yDVNFl4A>~C16X| zpwIf8Ucga;Bl;Yd)6P0dTC+#DlY1UwPN>ccc~=*D{iM&o=nbBCQ!D#{Po+n~$xLMG zL`|}mId=aPwU(6>nJB(f&vUj9<*Wgy0ME#4$R=$q_87vTp!uL8~tF?FgQuLZ4+ zo9<*<*yi!w&_)ICe&n%1WV7bx=OIHMN{uhS-Qku~X8eyersZOT{*2Zm0QC;9 zJSFFW3?u!Qh@5bRiV`9%Mpv^YQW+kE5q-NvZ3MT{Q8(URt`(l^RCPXW9xL=eYkqcR zE4FenfnW9}F44ICKG>AqcaF)<(odEm!b>;G*Jg8JNNdFTCU5^ zR?nRRs@?uQjTZ+%dvrvkjedT^rpwi1V8%}4hHFlEMRCp2ht$D)ZV$bB!g?=Al;KG2 zt5)W!aWT(Dzo*4PH(!{_?9#Ifu!G*Vwpt~>s#@i>Aa_~ZYMGVzcisvc*}HwHZ9Fw~ z8IV4RIT1NjGxXx}2kh5IOY#Y5eyNJdXG)h4>qSE1ZxIN* zQ^%#oXddEG`MJ*QYIJYnkUT3~e)YJ=-kjtLoxYof=VMhqE{L$~=D{kxZ0(FTHVXj)Xwp1?HEkSI-CP|C~m zg=8WWfn?neon(87HH@LO0DyLHV)mHmZ!kpJ!$*r%E1n>=keF{0D;8ykfsion7FwW` zcDY7NVs^4P!g4lwRQTE`<>KCw>kjI!^j;QZ=zebZjrdFq7KsXwZ?)?CS=8II9izfe z7XAT|4ACsk;HW|Z^=baE^F2qjCh&n*14w2z>fA;dTC;yLf2`J>@N?}9#F3!nVR z>7Ee7oxtR$wY!kP!P7<1{>O(L_yxVokG?dWfFLr0&ReFL{?qaCx92gOyOZU@4-Py` z;-=|>!)nJFt)1Uj%y;P~0x!6f-Osb{G8d8AFBL8~MQ%_`t2C@fe`X)$(n3sAl?HDw ztutt*0ZCwSaQ)BJGa6Oab*JGI$>?pT$;OAXiQa&lxKmqg{#wf6Y;QXP8{6l$(ES}~ zoC~1^wCH2fko&X2zp(3RnO+io?u)uEu2m~TAQlL=^x6&|pBJ;ibT^uk>+x@grms*p zoYE~PBLc{5%eRgFc#(wM;kCEdF`+s4vUltIi}uUsR~El^_g&%y8Y6jtoxHb{rC;`PcKBh%$?u)&kMe04TQf<3)4o?S%zL8eXP}2LSA(q+hnhYz zmju^#YY@vjPH<`h1XR%qibaDF|sRE~AeQh*yJOP3O`Ge^d})!eeMWLv(CP-0~j7 zWbknavh|H{TmPdu!GO+hSj_o`qCJvY5$qsbVZ5wdR~EArBr?-cPIb6@s*ibwAuam; z&Or9oENwudl>7UO95v=k7?ok?hmuj;KM6WNq|3i1g2{{(AfIMrOK=1o!SntGV-$07 z{D5)0tUto10K|2%k0-{k!VI(r>@AeCve>U9V%r$>i>uaZsZSJh$9gqH{&Sk^IoMo5jTTi!fF{*KG@*uNkjNH;U{PgWy_qi|k5SrrIM8g@gf2J0p z4cbPPLQe}io|_LMn(j2Ca_FxdTW001KTp0Mr|sMp53>TLRTp(8=a% zFCg5udlkQm{Y1R{2-t3*hk+zGbKK`GwE$g)BS`Cs?q#M(azTJ-FsvN8Vjhak96?+K zct=0!-GCu=c{=-is$4rcST>=4QL&U|MZ4G~`aqEUkNv0w0ygpe(ssk6Vp5uGffddN zLC%h1!&>iXo5TW@B7klGES@rT37B@@N5`az^(C`0?Hqi$gpQE{TTqC}17I&NK8Ty% zN(hMd;(8S@?R9E+K`yoohIqZVO97boNo zJjFH3c863N(KsPC?{7>usB_T$hFBr%rf077uM*_A^7V?fQuT*l&cho}Y{fB@v<&Mc z332EwFIbko#}IURvlX`vh<)MQ^tPkTu!gkBzp`~nKQ@O42WPabO_bA#jevf_N-?yc`+u}4+3##}$l=_0UADt~*Bc<*Wmw2H0wX{} zlQ~wL?#~*Y4x=$; zzdZ)&>y?~C;PYrUyI6?hdiOQDPuIi2jFCJ@g!BbLjAjOJIee@To&uprj4US*72GRl zqb5F+Vb}d7c^T_T%_8TS6R?q2>bCtgZOUs+)_OWu0iqva_v{r-Rgu%vXG_vSO(0+%PaoxC-X5A`M{DM#pS=c0Dx{dt~_0wLI7lCTLe}LWf(Fs z@0mY4N%A$-9N2c!y}lDUcRjtCK&Hg}L6Al4vymNyRkcS=FmIA#ZIohL6Kq}IOQ|Jz>8r#s@Bqh=(=MDDbY2nnc*7v;gRIoXcE&cKs8Ox#~jmn;V4 z9Krsb|5fU8GgIXG#|vN+#@%`kYpZ3Mt=@)Tg0hk|IW5JNZI)yPN>P1e8xyzC81oSl zoM$u^1C}PIz3)$P2zU+@J&*lIW9R^O(|xVaq5=piAp?q*7FP1ejH7DC`CaNZj+#iK zt;ok{U0lhX+dZneAPkKk+5=(=osyBZ7O^^)!8=F_mwUnOAbrN@2zC6W??z29l!|<= zQ~b@&Upzf9>Kn`Gt&MJiQr|kH4{#7Ai$hLO;(K$YTbJ z`AQ>6&tb(@4NCDMAhf{fXuJx5u${a9+wO5__g}RmBe{DO|8nqDA+uxhj|Gd}J{h#) z6t>G)?rK2l^5;FvMRY||MMp?b%=T;R0ED~pEQ%l_k5E+S5ao&DVjifw%|DzF{_msn z@2_UW5e974XKb1uUl*!f2Pu_5^k#tj7hIaUv6(lN0w)-_zquxf0`DuS{!qqK<}j!$ z)>f?bsKHW-JLzAE-=itn!_LUozF5dvD1l}#L-HKZAZ#!T0DdVFcV8f59%QXvQWX4V zqQ+SaI#wg&6f2u~UK+fC3jE_Mecw>ezf+&c7TOr|I&5E`mHL5uWuublD795BQBYDJiOVLteEi=I`3(4wfe8^BheA@9_qX;t~it z0{G=2hz!JqpbI2w@;RRRQwNG~yY$qA49dqDT5q$^NcQ%Wdtn7F8+k8lMVjkSDi|VX zI!DsRx_qLUg2?y6oeM@x&v3(3Z|H$ z^H+VkSHbd|aG2}dPE-KJjlYs6B_{a*5IScIBF~SJv9kEAIFi<+6ldna{6F#kRgDk{ zrOs8)Wk}HgU`^3dJ+6Sa)_vn;i+d0nK355D1&-Iib5(+Tp{tX4l}6nzw-&B6eUuG0 z^Bbn2o9Oxaz1Fv9RARAsF z@0?x+tW#qT8~0Ls;wFQgN=St9O<}RlP7som4He;6_N1zwW&1NCWtdIRlaB7I9CVdb(P`IOVN<*7orP#_v6rh-b@Ws z(QVn1X`vg7#r*r4OT4;l{B8GoVf6$JbTHAG;$rH1TZNZ7ph_3fB*ZWG{0lrJ&_}5U zWwX%r+cHt9tU~`c82xYX;Qs)s|BvsLQB#yXmo`23tDTSX^EMo2QkJP-EE+W0!VFzT z*8&00r#D@2jD$|+Lb{4|qjhZsa5Z<=>w0+yiEix96=$Fk@vaOMHI{svy(ITs`;&WE zj7Ktm)OZA-k96}{gztmjbrUe8Je*p_p8av#ex%P};UKzK7x~aV`&R(XI*Ue@PiIfSn7)Q&|&MIsni~_lhCm` z=3qxylUr(i;5}J1F+tOdksZU?ByhK0CfNpvHh}P~ww~6L_h8}I4zy@q zHI&#hk0*TuvOl^ufb{8!{3+-E#M#iR0iJvb$`HiM$lxHnZomHL@%NWhdNrIFae0Qf zj$kmu+P@Oi82%pWH)w+zP#11-Bg_ln$$cJMmK@G^GGvP;t6dj^#uYYdQV(>!fUc*5 z_NxVg<9Vp9cU0h#l6hnCL8319e1>eooRn=?^|M=V#BzQ)-TNq>R)G(GFuQo9g8Su- z|Dx7Jw3tu^@5r;!tPak!|6PQaDRXc7(n8Da?cz54K%B;`1(CZiT4Svz@#3<7k0j@U zc3fgxOfTK=Ru;$N0$_!U>Wv}sGX_}h8k`J5Jr&miqvs$sfPLa=B7!m16a2HA=!`h6v(u4;5X&T64Lb$TvD%aiF`=CrV*jKh}Z9 zh~@~y)Y#t0mKFu|RglBW*st_d{B6j_khT^9gvVPSf!NFPrQ#BTOWVj|kkHoD-VpG2j&D}mahMr|?-^_IKG+@P+CRI!lnDMmHRCWF!`$&Sm;Gv!hw zb@K(s&7qQjd^H@3>H&v&lkzv8ocI2W?sGr~k#=dq*{$ZvVn63Mf@k=|sc^eKDqPucr9^jO(=Ow`-Bbib7FzNjk-`);dEck2hRrkCv5 zeQuKck3)TroS3-1b;`L(p#Ajc23(PRM>SSXR6V;QJxA*ka z?u&MNFq(4!GhMdtz|xObLF_RnnSg_3~xuQ?q7Jqr1x^6?Hn2{o#%IIHtJv2)n;EBiYCqP$xIXM` z>2tg}!R(aQ3sl^G%fHWpjkNr?X2C|CCeEsxzS_8)$(^TbE#JIbl=zNIk$Kr^TJy=0q1KibU1BkKtN+X`bDu~_ zwNKE?1w9x-98RI>1!RBxNCrM{%^=~!t9AAZ7|cUQUZSmV@{L2=O!2Sq3!shZ!s5FJQK1zDE~NzlH)DwN+3m4Kaj}Ng z-}1xz?zH&Odw{3vYl8zk-2vyiYjU`~?I~dDx35BjzGwfF3~BgXrh)qIJcDnc?g95o zZT3tI#vAWznTMM|fQACOG&!Qzck!dLuU3B&IjQp4>tw8G*uu_S>cI;96-0??HA(fC z6GF+u`}V2uKl$x;|LJ$1Y~$09ir@UT<2UJV_80Aq4tz+r&U&#Yt^1_UW8<@@BahiB zUwK_1rAZOqTRp1P73ZJ|A50Nzc@>wEvbi{>dwB->fxkW95*x15yL zBZug=L&&YR!V;Y@BJ>h1sVWKdlhV|TeaCFs2Sy=|XKIt1B3ufU6Zd*CULmThwK8Jq5mx?9b5}op~+>vPMy2Xh| zdzd|?q?xTvqiGe3@`wKQPeSDWk6ZIuO)n$J1X!{5Lh_Ea@J@9}S^Xg?C3C$Q0mnFg z?1t87Gs#ALNZ`Hobybz5sb4PSqZZm17giUymR?T0UflX>pG9UYASod!$Xi?Y8`lSL zx9$b#OhxQC;LF;AQ->l9Fpu8Oynmxr!6r~_uqkVhyCHRNy5eO65vGh@`@YH_meI~? zwmg*0YR}tmb)XkkR;L!6oL4HKh8Z{d+@@B>xo_SG(IJ^D3B4NA3CtvhkMg1pC#}g> zg=B2i)lqFf<><8jZl%{TU|OSa$tt0+g_MV4GlwKv`8x!tu2=V=g_PHI&-Y`}l^3h(F2)qomJST4|)4f0Fp2|f7k)|rU z4AY9p?e2;_250wpZC~ZM@f<3nn^deXsX-jsC+s7*SILIDu7^<-VP?P7+lfPH;ms)j zo^l19-f!%b+F~M(942ks ztD#o&JPoqYZG2+?U;jA26HPxj)(>&ew{UA(voI*|DrZd+-3Ei&(Bjg87Fe< zN`Y+2&lX>V#XUyCw@R2GBEWav5Nh+2`XnYcR2kE z40Wu*Y}_NTTrv)V=~*cuAnkf~7M;2@Bpm~5%-kEu2xctqD~;ch{h zg0%@)nOZxt3KGpb{Sp(xfE6}`rgS$xi`9m^si!S>zho;fERQ%{wGWB)I2v;MZnmqi za75l(x+O&0gj3K6%l<{t-y3ET)B6BYG{n7Jm#bW!g8Xs(ibPSA3mMN7c7$DwB6=ikN0K zU3czv1aaP)HeC{7MkDVb`bdPc*DVrnx9D%!)Nl`dzn_)kFj�#j>%<=k4cdi}N# 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

hD*boyy7E4|d+yi*7y?VRcQ6_{ms) zhao1GXJm)mA5RYG$u*pqGx?1>fF!)__ZLK5#2&EBeaoxYg1@p0V53U@$POCQh&C)% zz`Q@DYF8e-q?03cUaUn0;!j|_4~0LQe!Epz*LjWYnHkgpM^|tUp660x3zQP>uf|G! zvEYRHSbZ>?`Nx(7ZvtC#AFDO-lB1R-iFG5LTG+HaU6M%RW9So|ZmuTL5RNl*9)rhD zm~FcQiJtHAymP`V=3#)ap!ZTM#LmXxM6{eY8eHDa*UqNQX<)JCuJ62r8xTvhfv^+x z;|d0ddu@E_>bo|I{!{t*D@J~~;~!Nzjc@)aaW7x~hGb-<*1HpiIX1>)IaZq>k_|xH zyDq}%n~?{T+;#6yz#sry3qQ-!@63J^Osg8Gv&6LlY;9e%9@6D>zDBUp3bxkJQ$awk zj}yl!PUZ#hl|6Ns-z)S%ur?>|!LOdbYaReZvk!ZI1HlIh9-JKa~y9uS&4P zJ`>ws^%ANQt)9e;INgxiC69T7Pv%_+;J-n6~el(2@XlNnG|^?asv|sUwB{yjJB1>y|XV z7Zn5o49k1fFy0qW9<&C(yP-oajq1uR@n&A>*sMo3Z^zsx4;t+_3#;LgRUwYHqw^-T zYmmB-dv~gTN&Hq;9?_4JEfcQ}Ef5FI4aUMFn;%;&g26Vq`0dIWPyC~z3{9pjPD=cV_{6WKuh}kPPU%`F-`lKqd|Ym4uB`L@7)g)gxKyp*Ej$rQ@Zp+p9KU? z@-$l)`E4JKHfxkxu{|P#i+eN4)XayCTdGV}kjxI>v)%&h6BfZ10AqGur=`te>NR*i zpSR*uPUdq}Uc&pxE71@(A|k}R*S6^Vu3XNeI79G)w!}Ry=MA@#^jSO16z}Z`Yn^ZR zLQjMCfY5T5G6=3NeH6;MqscWvFh{AWY}?G1`w&2Ahgy{QQ1&@F@%O#i_t}St5`=vq zx=GlPr5n0x#QuyID&LFj?0Y;%!Ekj&?T?EhAt~#3|5&z~O`qPR1!}WF;qR80A$u&w z<>!3hm?5?T>qXSwE%nDg4dc@WLl=B0(6@B%-l9H`@35a zQ==yEJI$(oJroUbl_21nIOEctP0i;_NBhL}rU^p|o*2^osJvlfUnuBu$Y`&+zfR~8!8#l@$(K)$QrH5cdJOBU#=&Zemkh^qM$OPQAW*ol zoyvMzT{@fA?0`0Qn#@lJNk8>tv=%!ci*$!`s=L-N;&bE#K5Y8|yfUZOoex|+SF6hv zu?d)@i1*9!>;`;;LO;d$=V@u;Vq#G$1wIz1Ds&eU|U~@=gA9B%?;PlsD3koq7hmQj86bK zT)A#p6-NoD-OP@bv*_j9(HS`tr0W+JGbN`&YJL~npmSo(;jY&k2;jvkt?*(^l9z0K zut{2BGGTg)&X)s!IEJ+#aX4~!3D95kRy!TMK6N@+f=-9Y54krz|LSyzQY6?+=6Um< zPoMhVTc13a=7S=ebVVwBa-ocK(;PB9ThXkTQQ}Qc#*(|raiq@6cvpFd#3sWg^xAhI#cW-kYV!6puF>z=ohxl- zGgYkWvrr60cgHwtZq|k{O6`mR3^pFXU{ixyi(Fl1@D1%$>Q*&?Jh7-h`^76$`3OV^ zN58AQ_mATiCJN`m%EuKnKOeUqk(KZHasS0HzF_6G^JriH5TVN*_rN%M(hR&veEc&>*QT^re5}JA92|}t#H*MGg8n0 zG?sCIx-nj=AayGHAzYt1Hl{4%ymnGwdnJoFuO`fhNrlZn&%(O5Vp1H+^q2og&wk@& zM|O;~H)(1fkX|(CaLvAwe%0o@s^u4^{N#U1xxkWK9`J41y&C-;u@SAP&37@XtLwH} z@hS9NNotIc{t1Ay(e|V!l37v!>+3G^t}Iz*mE@6(P1TO6OTgJU&{EwR9SP6(_zO9Z=;YsCZ^Pyz2pT- z;@yi7gvO5WW}||V*7nNZlOOXR^`e6|B9^(AJ6np}?O(%xJA7LD%P31O3K*CNqjBS3 zyL7poA`AUQCmHcz)jpk<1@`H@Y{S@>U$7D}c_xY?rnk0I;4rEX2mhdVb1lz!on*KXS@Ww%3HvT+!YTHT*tzNGpmskP@% zQfpIxT1ii!&%z_3zF$xBeJu@YYpDLFp!tg*N6i%cB0Le#X&N{`#oWi?ObKQ;n3?A9 z@Lwkiz?Q2pen&KYUOzWc^x$?X;q>Pi;m;2_7i8j3iV<^n)-ajR0hASk4_E|tC`o$Q z3l{Jh%8K|4%Gwh48OqB21ZBN0g0fmAn~s0~4CZLI7O_lB3IwV@Qe~LwE%?~+Y&b`I zK#n<+^8O)|RC#j5;l2XQBYu0yMeWytn@pH|fzk?;wQDkRCVLgiib-EM^UTTAcBDho zF%=&)f8v_Fz7qcJJ6N~)$qc4pxVy3Y(V|>1=rr#EW^8Dy+SW-)=eUm=e{=l*p=1aS z)VEOm`faPxWxTd1NYMW6hi_I--D=L&do1L8FqX&WMBinc)tAS%AB(TXU_>$=rm06%1kn`9vsZw#?L^s`F`-+%+uuW2LDf zqF#R{Ga*qDvTTnImg`b2yc#yIHrZS8DsgeVN>wpO$wa%MuDSNWH`?_Iw?-or9>F&$ z;Z2dxdIA?&tfQa0ASOc3Hy8fZ1wj&ZLHNN%T@WPD1<`Ld1nIc@GN^Gf3p7oN zM+q6Qfr+C1+BICk`0F-u(f-_~UY=j~#4A_GTK{FrS;-K-tY6P&jWE5LbH{0dhiU5E zswk-bbV_X?xyuldyd>&`z`Mpz-dkV2MX&Feiv03%uaxa78JVvyU~dOrA3?A6>uCa03d#80(tvjmAF;302QalbF; zNzKJik<&5<3FaO((-yc5pm=|7QtnG*EcdI(ny-(a`)rN={2(VSvgVIvlb!yu=JFzI zF5mdwKk{GCry^^<<_K1R+GDY+!}S)r*qt<5A=IDI$^+xEOpM%Lz#pWnot-G!F2ZMY zJ$q+_ad&izs)+0;%8Y~t`%>*mHFYjBE7o>h~ZN0&{RN5HI`c;rGBV;R!zq59d^{j z-OPP_$td+*U*Du$rkUEEXiQC@%T%EjNd6+Boa?I4k{-TAD97NVD-IR%$4_B@h2E9N zM1j$<ehf8W zFRq&lgcD55O5B6D7U$8;uUa6WgvfcK>Xm+?lOeuo{)Dwb7C9^OlDDA>vo{;iQt=7y z>Frs7mO6XMjvVH0?4$YZm^&>)+E_$O^(H_xJU`J=EhG{k9l=< z!ye>U?WQ7HYKi;vD_10A*R(wjk9)}a@P!`U$?l_yS()pK9)1?+;orOtQ1@VQfgav- z+pUxpJv;{J;q?YfT9z#eZglL+bJ_hs?{8LJl#OgVd06A~$@=rdkzi4n6ihc%{aiEn zPf-M@1`iMLSS(#Y68q>nu}6DRI?xq|WEn24$>*;hpI=}YZ9m);G%eFwucgiXCP$f? zpLRQ`YkF&Ci<7Nq-Ee5vk4}SP0@(Ho^ea6Hu5Ng<)fSb$S_c7Yk|-mc|-;Ra`LKxTy8}`ZYdIw zQ^Wi$7xKaX(ULT~!Kid5QP*?KZQ1$4()+&Bnd|6Lxqu9kEx4g{*kf_<;TJ*p|IJix zO*|YcX!B#;Li5&bU0x~)jXq*x(VkYRh~9HX&TajPoZ)&!^m_D^xB7I~`|5toLPCAY zT7LRDsCS|yc2XwW0;e!OZxRYYAUEe&nj5gg@<71;t`rL;?}N;T-5QTCgHGw+KzO40 z4O-616FDa(l(fGCS8r?jbfxBYuF>E;Pt_AUL3^qv38dJjFe+Y-8s<+Md)LXKI(T~d z%#S{pySoXZ`<^4Z^X4d?FX<#-Xjt25L^0=PL635_B*1r-B$Dv}NJ>zU{k>7G5ym;bJNCW~~>r|aA6 zZs>SxEw_9~`G@YguY&BR%9=k=S43;mo;y42@P|>@qki2&GSEFs0NwMOH?;6f<}Do6 zaZ&Ql?cL3kFgtmxIB-`0;Hf+GYxmf2zbz;#=?R{}wB^;sX?~hZZhBD&z)%7{tgF@F z=pY#B^AXahp5^qnB;~Bg{OquQ_c`zX(|6gQ7UgZHZGEHuN>V&Ur_b|1%z>|CheEe? zmq3%ln>(x@&|pmYz^5_gjJ?3;1A;1IkzYs-E#qYDZm3N{0)pz*D>f?xRXq_wwb%O+ zDeOq0-mA`~tHlu1{6br3Fu!EZ0Xy4YfS*yyq`!iyj1&iJ)e1{K~ zwCqUd%9wJo>MnAC9hr=!O%|DhH|KxL?}M>=P6xvvovuHiivvhD=-CNCC8p0I#32SB zdMxB=6)Pjk<1WN@2D$5)TnWHu^|mRDxn?cW?`qvzk{oi+2wrMilCdzcBR45>-N)1L zrAvWFilY2)G(@2_?Ckh&l+Jgx<~T}7n!qI9DYt5HKFAsUCjR=3>7u!r1Wo(SrjRur zXR)A`wk0MvQdQ#7*jtz6rPD^*)S7nG2WmPo3xjlFFalj}$eEx=o86KHh@o?yQ<{ZA z7Ahz(A|v*G|3Ts3JpC^sPya4%=pU|Zx9D9;Fi*bwmn)MIxiXpeFTVVOPkCFC$d!p| z=ymn=ZuTX)FhY8Cz*I>(iI1LT^d1_j*SUVOE!(sV$&c8g?dY*fIWA~gw$cT+Mlh2) zz**XEfs@Aaq^Q5>I|hv(zCJo**6Lz2k~~_Sq)TNL@?|m#I^4`&d7`HcGa4u`3ov-S zOMKT>iKJ&6OB)1_w;%L)n_2s`e!oP>E3qBgPS?s{RH^lNRzgg!U6ZRCbfZR8TU_n+ z*+LOYH7hz5*ysZvmrj_N-YE8_eoV8hg&(W4B0SZ{-k83;5)Fl4{Cm{+f2)pL3n07) zBdw;YE0D9Jy{Mnk`jb)2zG~N&3Y0M!7@TmL5KRCMGe5i>V9n(Nk>f3sEoVYmBmjc70Asq_krd(PtS!3 zv+azz))#k<)Jw`^KDu58GsG~nexdq2yU$34<>z9u!9z;iZ)`C(~ z#gSjbWo!Br{CW(IK#%Lb%Yg+wbozKTP0^6t6)1)7%JY+(cene|X36Jh5gtG0Cj9Z4 zs%qrHE-811(GwBXofSt5nM^-Y#K+%5oav%^Qd8QaZ@+xrYSA6YP2LX0uk+W`lOXS~ z8cZArpc}**47!n;3+G9~_Re!$+Ru4A2Y%UNH1`bo8_>es%9~}y4yvo$@i_tFSwWp; z(>A-N*`Z?fW&uN5oq|`qMFJMq?-m0U8F&{_g5$E@{nyW@`Evo-#C{7HT|%xN{83c- zRe}XDN)ToXp}#B1qu2J4>St?_PC4^?mn7v*N$_(MWfbud<5CNn=4MJte+@T(uNQ%U zU+JKL;pYAxe-1bA|6;hgA@!tA&ZF!4_ae7M-CY@Oe&KJ!&Ch0Vf1U}?eF+;+;QGlh zeuY#t?*li$F#PPL#GCzFRicA$ymInF8{bP}F~m_^js?NgU`6za0HV*nJ)jz6XW)L1 znZ@kR6RdeFb>?qg@js{~@*_7l1x>=WJCIj1EH1_#wz?XtZgXuH)Ye*wS1e<)p?Mdw zB?cF8S#PG6)aAjo$`L+yX8T}X{^Aic@%KNn^0<83`3FFk>H@=f#H$04iq3w>yxpeR! zj@VIDEgTM9ppoEjB;c<}bPMxg7=C$ScS%fiVCP_+v~QPXd+Kq>T6Zc--AYqOT%Wp0 zqp3vbt+LI(M!#u(I1B!JivILNaRc|MQKxLNATaOc`gX^7tHG4JZzk8vvlXp2j-3i~ z7{K8;n_NGd?5Apma%b0VWJk-(e@B+nndrG&l;}Uo+7wf~2NDumFD&b2xiD zcI%RX??L5xpaJUom&n8%Lf`84|3_Kc<;#MrhMzk;OVUmRjV%*FV}r4S1ppe05JKEO zLt~>v(AYO`@;*Uh!BT0dV9sJcL1R-#@O>g^Y+oAEa}^qED1ydDz`CTCJIHpPyN3wt zl^a`r@L8Od-8F*c@Bq<69wyFkdt*buup@a<|2 z3A}cdD6~7`_3$6*_eGT>2f@gN=}Hr-Iq}0Eyi`OxR3K(^xP2n~r$#Ei5*}k`pKuAA zlx!4=don5ceb# zbHLr$Ga_?N_66s0ebUnU;{B=!RKnChB#t+R(HR(h52{Ohliq3Mn%hA+`ZFlQBZ52C_12t=uBQ+_d!xt>{dJFV zeOvq|12>}E+^dV4+u@z2N=nn@<&4Qp(jGU`!xqkXX7qqzzpTY%w7%>Wo4*;B{}68H zH}3+5rSk)l^hqQC;$W*Zy4gRcz*ZIWt|*!O6nQb1n?uWE)CyOU@h3$Yc(Fsi38))-bQBrct>=uJr+6bwAu zN0#p#tb9ukG5L)`eBfSreQWY!xeD=hnqg+z(}s<)(Wr4hN)^^8JB!SPaxMpT@AjVR zNPgV_nZa;eU!EC?~&l*@hISO8k0(9;OY&TJU=6-s^!j7}Gp@+PWh2NMX$ z89&O!&@z5 zKSO(K8j^axbH2N~S^tnu>j5oykE_pL|H~4OY8RG`*u7UszjYR0`E5yra?Xqlum**~ zD8#$3!_jyNQBnfbmO5l0rP?c~{RX7AsdPR{xIaP~Abiu`v}+W8LiidhV3m!Pe92W{ z8r#ED5l#bj@pcf$=K8RHL5M&X%xy!HIyfTD<@o%mp3-!!bfG(Jsg-lo+t0J<1#PBo zzhb_$i9?y2b=%sv=(XdPQ}iC{HuCItICb4RB|Bv|hmX#2(Sf`}UYvs|N;=BIV6Gf5JvEdl4%bUutG#Nz$Uz1-{}`o;lxPdgQ;ZM^+vT`L3?ln3(IQjMY?dO7kIFUzWaez|~b zMK9x>p3hg;-Dz&CJee6j7;rU+b(cP+-RKMEp#@I3Hl8!ZBA`NFQ`lUK`ICAWV@RFi z*7UD;JWi>f;v?_80p8M*al7F4?tB``y%9zQ1uw8E~>~lCt_>$?7ue7=eLG5fQ#zL z$R{A)>#k&!U5n=~ElS+1S916{Gso5zGRy8Qc7)tPuVdM}(`RGE4771%J4Fp3m~1J+ zUhtYMgE~s{rh_U&F>5`d_=3#LQa}7`f)?VQF15$vQd+;cjsHAZXJZAE%g;@SVILpa zFTTZAX6)tKlQ5mex`eG=pOl)_?LDX;#&gzgP`uR>rn3>U(BUTe*6&sHA~#iKS5>`c z*9*razxe`~HuweI`EhEb`|=MUUh$yS%>78@P|eLR*zgr6iv#$w(YqM%nlI`)_bP9S zvTOyy>3>|VzLM%9%Ue)q3*FgE=DT7Q1N!jG{|W`UQ!j=ayC4uaQ?dfO%i_F`%BU9- z*otw#>6BC6H57Y)bbTp*-bJ4fYEWUz!wx?U7mjNKu%?~iOc>*-IgE7J*J+Q%zjlvp zRjY^ioz(#mS4007{o(GY9?V8`j^uaW$z5%#qDqmyemjLY z?gwrT+)v~ql!ty+Lnv#gN^J5pVvfC&h3q-bt9~hA@b0W(u;-Ys8Hf%gw4IC+k)BLy zHI=x37kY~Rw5>D~du4f2vj|^cLBA{tIHW@V>+Oh@w2+J&G@ zW~#cVBh^c-@j^THa5&dG(a(V%M~}arY;Jy~U&%to>_Sb6UTcBhVtZWR)bF63aiA}$ zS7Gwa8=1~Arh@zVOY&!rDV|h9l;|1T$;mS-fr@dWDa~BBibX-l@Bk=OPJ~y1v z{xRg>eViK2?q-nX;wa9vm0nUmOKEC1I}mC}4Ut(S@cVyd#H*O9!Apl&9KeA76x=*|8hswb~+$ zR^qqcAip+b_tvb4AAa_uK_g{>z>jHoEczxXrHtK2UrqtlQ~yQQbGxe$IxY27*onDO z4coE{N5F%oI(xaK#S^b*$u6`L9l^(r(zH5eH-y-Of*BF-rmC~pq zrEtfz3{&vmIy|ZjhEvozN#?_>$(Em0>$jCMkRvh}O&MK+(K z5tbQ@H+h2{>Aj{ODnER94=xJroq!2{tD&F!wRGzErn4*3sY!TBey>-VqK%VR7AbqG z+AhTh3vn2mH9~J3=x_yr|BAr#naQ|{eU$fSeP`v0zB3n0(VVY2>X-*}r;X)fl9y^0 z;>E;(y3;kX8MJz3X=kaIX#sBa-b(b#RTh9Ht|TK~<-Zbo+A6e4d2o(0EUKlGLHz>Y zD17e_v?7OVkE%XEg~6H{Li^)H2y67K&}^>PLW!y|!y-nGnsWCsiaH`c&&{}2F!?)^ zfBmB8-wN^Hi|)U^v9HzoI%74CuOtst`cNlGhs6i@(L^4Qql?1KcX8(0`!0Ffcl*U9 zH=1W-u){wQ7**lfYH9e9!|FQv_?f;-L>y#3O$H@cY^6OB@&=ePzA-l2d_u5qOXd@! zc*}U24G}2Yv+!{x&H`S4qf$UuMN`U*nd#JE^LapFMG3`-6xj-VL}c^9W7m@Ap9VbX zEN28&TmaEW|HfGKQt2snC$v1f{<{8tNa&>Q`Jf&kjs63ulndR^y=5D)V}UCy?b(WdNv7?c;Wk&NH>17v*g-T z|B;Ngs4mMg@8v63k{^kcxw@D}@V8_VkQvm?sIYlukuvplbV~s<od*;MF;!u1zh4 zL;WQmNV-=|x~r)?lTzLhZmWUQAQvg$EBMgTCS83BjTlMAX_K3*Di9{qvyp9l@?o%FRx!`r~Fc1--+BDSz!O3zV%gmi=@F#R_P`T-+%e% zfyocG!>YQD4JZ0%$PrzEtOt5Q4NiQJYVK|zLL~SZccJqiPrM4*qzIoO*L$IPfuES) z`e*pjxn$Q1Ni>y>xq``#$xqDhJD}su_NX@5?)PhdD;8e*7U&kfAN~dLwdaXY1Eo|C zP6uJa4|)&~yPSffaKg0gI42zcmx17;GI*CN^TWTrMpf0y)eAQ6^69|tJ-^U8Y9zrL z^}!)$JBfMr!c#;BMPS->$=mnsA0X$TB*p!fCg@Hrt-#QpLSpOT6X5R7;X~z5jjM$% z18sQ8gewIjiM&Qno-H0-qCDd&wpwL-GhTs~1Vh?xv+47oYXw>_r0kwTOig$RCP+ld ztg_r9(BT+-;3&90=-RSUvO&3Z`+WUKeH*_h0$UXoy@DOfY1OGzl`6!r6*L=!$QkOh2bTVW@iV+`vs?^N~DMj@vH44L1 zZ}!*y8e;*(yG@=M`aTC(@p<>BlB_vWqdg1Hs-xgc=_$=3ZLRoGcZsP|9Ozit9r?OF zOTv9B@e-UoHdq1^X`N&{|7)#N;nK#~xD*tsWE8@$G9DzinFUR+=UygM`gEucT$L#2 zLY94aGwy>nEoDQg70jRa(}Q{^D6REIFKEFOSHe#zOr9ok>h*b1I=I6ij1HofWnGZp zB`}Fv@-bou+ePtB3eguELdmIzzbNNsrUkIwasn5nRbz#ms^3L!{P1?QCyjM`EP|oV zDlwzc`Y)0Y7d)=4tOrmRtd;moxWmgqu)V%AP=7 z?ACOHRKT4mk}(;)9jOYMsU(b-YQy5IEsW6xnr~f|YWN!8ax|~WR2U{ms_jzLt$KR= zdD&~srml{lz3%eiDdOGzKn>>0>Jfq*7ZihVqx{P6c&Fz(M_xuEOBs>SV2cPrt_Gyrh{|3r={||TX z9o1yI_WP?S;2=#$L0VKsof(mcNa%^m2+l@C$5B8^K$NI71*u7hhzd%Hjw47hvCN2t z77-C41O$mn2?&OsPy-SmKuB-rj%CK}KJPyJJ?lN|x7P0;&0@J+uD4CxbDbl@0D8fd)W`n=-bsA{S2niz^Sa|4=!#3O=+N0zni_ zN9@NYct8|8FINht$O+TETwzxKN8NL4uysaMt_x&d_Lh^{4<>RVO+wWFl0B=H72+W; z{;y@vN&g?op6?;&t*eE#kH<_Z1xCc!dDlitg3Mld**X)3A8&<+mlN1X%3R^7iUy+J z+x^&EX3boiJLYzQ&r2Gt-87~*oEcFgkC|R?2r_ZD7bhlv*;7-$?b_)VP&hFB!- zq=<;4DR=#Rz?c#0!Eex#Gv7M1HO!FGCi_NT&f}PvxpFf1aRl9#1R*eI2IgEDHWGV|U*m>XQVUt5*#>c4~~Esyi=TzY*p<)<-K({K-+kBR@js z_Zu1GMI^S%=D970T?`Wn8I-iAnWsY?F`k=x3X;hEYVl(20;fFmOFVbKng!5gbNuW9 zXO586LoYW+hqH4Vg+HWE?a2SO%cj!H`dyfgb+G?f$%~VrO(awCH5Uu(n)COKeQ|Em zwg($GYLn<5C^F1FioMv-_KEF7)URW^*F*|l`^|8d^}efs`eF}8Ngl5XUThD5x*4~a z58&uR5PBX-@cbfb0TT}{z?9X^x}N#kXQU~+k0D|=8o}`p?vR5 zIoxRa_m+Pzx_?q!>j)Ozm(8~H=ZpHlqWgF6PaT;Xd|c4)AaYPQ zH9Yp~+3hP-O{=E@W>+jr{;8)7$~5ZwHu$##uhJSkQ}x;2?zbAQUbD4G;bBB9{|>58 zTK$no_fYfsZ6(K1M-d~@NJ4F&4F0Z+J7wSr9GJ%bpT4XW{rlmjAh{bw{%+&-d}HkH z;?_6UAH9(a(EkuMZ>F%{-`kq~UiDgb3&#s}C-FjY2!=l#z8Mr$upX>YoFrq8q3s*+ zIxO$KY9`HBRu;in0=c;_^7$&|P;({p)fG-}XIT%XDTbpQ*CxpWb$9^Vd1f&g~z%a-423V;tlB=ZAgR&!6&X zKmYDZ6ivCG-;~4(8T+`OAEpgIuu99K;K`c2^5jqZ`LoV9Cq={_xiE70`*$5nN%c3J zaO{$&YtJv>-U3sAf)hnBLZ8FPS4vfgR=ObsMXvZ|}`F|IXyltHHX9-B%2cUAvro z>Q^R*Q+xh$ze8Ffqf0K{maKl=u4^T`+zz?ejy1C0&(Rb%k*f#!qwMzZ;HFKJ*RX5q z57SDY1wGjiY3N>f&`dX${mNM+6J%`r%9Xm=#OA6+I_PPJ;s&zGvn#ot`|SR2y_ z1kX^;`jhtKM!4XCuh=`G@|lD5%8EB`){3SGvIS@d?tha0<6n6I>NwBwc)Lw^pQahc zjTMEf_@3h0_B7Oa(I)G43iU@n=$SOEaL_g86hX5R1Bn+eS}VG^7)}8t-e&^LDf?@q!>tCMr30 zQ;U(oc1MoOybh??&o&vepOgoM!7+VFy!QeA#ID0@8%pno3+{xyy{kq%Qxk90{hgt; z-rap&Mv?XDmJ!?KYhs0VQ;8>sL8rWN4UrczQIikZYSrtkgL#$eiL4oMa!3+gqISw| z<-?;KiKLDgL?My%t`D94uk3M|Bkd$jGR~2IrBu; zG~fKC0|k)`Zw9}m@uIm+yXFSVo5%&AjrO>AD*6Ycup^EP?f2nbD9#*K%q?pyuxvR4 zDpwvpzAc!3H2s0S@nvhWeAnopc6E5x#NWOS&0tarq}>79oFNKtO7SBeH}_g)%;39I z$;MBisYMlc^y1$>7|U!lr#viYv>yEt2iJbCSU9>uk8(R}V&0OrNe?r#f*hszPSZ^G z(_^5x?$S}lOeuTjzce-{r#!D=S50SWAuXjC#%_n6h2V$! zJlU1jk;7CYN9~=Og0u`Hp%(^zeU#Ka!#{PT`;oAL{YAc6bd**QlOd6Gic)~Z{vRLig{*{oRU`A( z#Rp>SzJ&AN_un7J{>21}5VT=u9mspW4MeL*6DPk5QiEasP;awqE6YD3Q3il5@Q8v^OvA>_QnH}UlOMV`c~Rxq)K zzHU@n{QwG*X!Yn}xyxT*g;%yss6CY%S{%2oYp5uG*RxO_{9@rw^xBavc(wU8vLZbLjSC4m1Oj@Z=U#N1<(s|s zvys%pw{H*a$|pa-upSl{9MrPS{TO@B=HE>mopCZb%;05aeh;O*^i74g&B?Gk=?0CDie%eTl@l zr}P+@mMEE0j!mVVTr!idFP}^FRw6 zX$waGf~QBzEfPe3JVeK(QL}8}DZ$itJ!PjS(ougTNUpEI^jSxSM)kZqDR=;tIQv-s zmaDrKX^%?Z^7ig_hd7BWK>xut7ni zq2m~*Y1^LzN%Io@)MimjR5kVC!AIuVR*hSl{;8|5Ls{?DIeF*1{O62JwnP+d+>i zvQccgeN3v-q~?Kc(TXneY#HugM%)^1>2r% z86&x$^~CrDmb%wcJYi!KlzrY)_+~%#Ne9-uAftp7O)I|RKsYv#w4Zpm-ZV`JI!eKz z2d!>@Kq*-6T{W$SHl!ICR`i?N32HHKhMeyibuE69yAGnZzwdifZP=hq{EVDj!a7yI zwh-Y46!4Qxt1s<$H%my{P7gBSfodB*!}f?T-Jy`eOSjBN@4$yiHUO4F57w(4@hd&l zg>6WE7Kr6PM3k8AQE^@W^OV>KTi(d9hTg3A;G<0_dH<5p zA#FwABf?V=Th6baOAEASdYC+|S6!9h`g~r7%1VZhGmJZlG7hw{&P36-NaFUhf#;zW z;w&1ayz~BQl&xq4 zCE9Bc$ISgL95*HzCE=n$`3<(@N4`$ihXlnCOR_!mb+oj{QfZU-MaZQhm(D>dZ&t&s zuXk)O{Do0~8*x$0{E2S^=8+~ZE<$4Fb>|By6(wMt2)8r{&h4_ig^PMW8p<7X#}2Jz zUsG|EkIw{7BcBJ97DdnLqCl_Ve3Zhkz!g5EJKSmkh9IIkSfJs5E%?pOx4@M;gaA%L z$iio**9`p4NwA7EnHXp1VVbZOO}bMpA2|sMZx z9=Dq|DnV3{Fz*|g6NTATTx?brL@|QfFb;bvd^2YLeM}Du-*N$=0=1Pj8%9F9_=z#q z4;}bd)naCuWd8HH`*nU>P8C70W5dVBZVCmX|A-szU6t8Md7rc*0%+j2sr$URL`uc6$rsV zpk=sj1y(&x6~tL-4d|91{zV$^skH2?4GkYD^c$-JgA0Lm_krZt0t5pbA(-{D92=Z= zw3{B4bezZ!4=mG7dNRx4Zq(knSN1A^0uox!^4X@>_$|w6|GiNpb+u?WKUUF_MD666 zQ#&6%BtXGHk5Nj6{%f^u+^so{x)j(`b9+d{rjB)o5cA_bdJlXd4Nv_*LR>I=JHul9 zDok*)dBUe>mLsSQa&sp5vP)fnrsF@Cwke%B|IUeoXOk+$o0V(GRxDDm)l%Om3pCF< z;O#H609If?a^{#^f}(s6c{YBa{qUT-$tgS|%WZd+6=>ORI-4`O6qoQ1Q8`Y*_@g~6 zRMQOiL^9P#!HwQwi1x<6Hw5{u#3#J@k5GS67U=y;yDgwM{h1v@^Pm=9HFMt7z8pC1 z?l^!dPG&32Pvo4qP+a7|`JJ+<(PJi8FmeyHH+!rh( z#O>2U%)JyXYJ7hD&eFuIYk*n08ry7p^y@3X%uQL7aCvtG@j$u7pfW$dM!wM5WU--O znzX5@P0)K75~%UsCU|2n zfEc7Q7~AW3n7JS6Tz{H(^0Fc-@W8U%0S4>1buz>0PX5|@^R@IY$1RcEC-GdKN?Z9w zHy!EyKp&ipKPpl?e-)F~a5dTLT(fKfg{9JI4SFF>4}Nw)Mh6u2i(wT)wTq-ePIW<{ zqUBw9F<3X#L)lz>`JdEN{z}iJU;fkAN{E{KN)`7AQ%FEh`oX2Oo!6D}Lug8I(M(xJ zCqW{A9MU~UNZ7FPFBReSXLF^BwZ^k1S_;nPWg+v zUPQ)^*^a!<|2AjO;qDv*&rB$CKOwF!VAQG@lW=?C1;u82>!v z#(G)COcviJiYI!8Yy0ea9;~$6d#({J&SuZGD40_b=Aws4~8aD2{KL>;^f1JoP-Z z*vu~?I8GdiJSZ1!Qot*|Yag&e^TEQ~a`@qBum{k*x0ey;Wy{VJ>~&(5{Q%;kDbO?Q z%7+($&8a_-v*b9AYy>O;Oz8Bs>;{|Ey12^3M#QGX$J>gEX`7i9tmOMaKH#MpPC2k< z@l&N< zS-mo(zRPTX=!}je(RKG*7=}M~v=5Q``DN-K2%JJ`fl7W7hurQ%MEP(3C4m{~_xR`uTNYG)Pukd7-QFIW@me0!pYJ1k&qefwYCH2eLH5KT=p>HSI>U%J>Ts)9r2Z^}Z>i~R=vgpeQRiQkm->3f9dTqKnA zr42l@r%$0JA2#Gdg^l@VHj0=;#bcw`nKpLb$>0!wuQ8q69amK|n-|!w-|4TRY-Vhp z`SYmjzucE4%WoV}Y1HJYm(!J7?5O3UKlWDIizX_PX?bW-S^;+Ai5|@{Vb0%aX4m}7 zj23%E=-$Zk7zHU8?-`QDiU|o7-Y*Y3=+>3QOTVi{UXsDzaNHV?4w&*mvL7Gnb5Zm} z-Y3p=t;&v=$yuP?$2!tt8tXHwvRHfId~J&63GFw14)t5cY9?Ma=j0dOH74V9(%0wn z*iSt0Vxgy+;ZCjdHo+D{Y}cSEzn&geJJDcda8_>-OBhgx7pGk&(Wx}@^u94kfltNU z9TEvv-F5Jdyt!Jdyy$xOjw>n+|m}N*mw2{nNE^=w)hS z5+r8mkQ)1Ar+1e7@}%v+t-Eh%xYf6#nfP2#;kG&hc zs!hSg9L*__Pu|EXij;!2hDk@sm%(3puD`D>X;zBoVT#LH!c7wDo5 zZ+H_cULcz)UC!`L2YUI)eaW&lp(gwt%S_=--T8JHUrU!_n{b{mK4{`BGo>+ZBS7~Lk|a|Qm>7q0qLtzoh5w=)vs7QWEE$b0Q-boZ&<)BvfWA!)ph zP*|6Ol$@J*oOP{&$6N0%NnYe=d*avHi=G;W+5pWkeVtTTT#OF-1E3kuosgI2EM)WL zFUtY{#~vY(cX{kO3L#4&n5J(6xZG7r8KRGJ@vZNP>g5rg5_#NU@Rs%;Kq1zyx$r?E zNa(sp(M;)XrFiXmQiA_rej`$VO;mO2t%>NzC;Y;gYjMqA%qju;3x^3^?eQbkqAAXG zCj#cpd7*K1SGC!5)@8!<9|vfgvwRZ{hLdlZ<>xJCA9mSz2lxN~WHxW#)Bk)n4|uEL@Ob4c5)QQ7BPxAkrfp3Gc^)6yf{ge` zH=$aMoTtIrjD|jQ@`$)+a02F$RFk^b;a*<+oA!7i1J{=Srm-c~JKXWWwf%}kjaW_@ zQZ(yzNgIdUj~q-Ag>SFX9r|(b4sbvdQF%we0rzI-m>j`k+k8 z7^4w!zZxg}LS&MPUSKhtG0TXJkl7+ix+y?Q-g5yJb9&RP@6(_#tusx!VCGiAbk?5) zyV!>7d~rWHMs=;wj;7P8R6n)3J5*|$K|NTS=coquRl?@%pDufqtW#Ho0Ggtf`}jRg zC@n$%l4WxcYuN4ri?Fw4YT?#X4YRr%PER$i$w;!uNwPVA)n+~=o*rrvQb3Zd%jVwb z6sL7iDb2&rAKH^viJER}AqjGa#m|xK+)k_)k|MXVJ-oIheqr8i zv3&9RlpDYPF#F58-HX=mI(VdH+2nlMS?2>kd!3xuF7(;+57*{*>fKY_H#L7$jj^^b zjeKuT<4z?oY-RMONe-3*wFiH~59ZTsiELY1`OgRM(NIi$S}nAs^~_*zg4}7|0YgEs z$JJ_x0>vwUbEqDF^#~d-F-bFg_%Z`>t~e?M6^a!!3D;J}&Eykn#7&pS=8VQ)*UjV= zyhe0Bb`Q8;&P(IMyVBNEY;UZjS#@?k73?9E4Xp&DeI+>o^rfQr;olet27{GpC zy|{XE$x(AQ+qEF>{k9yQa5;XT1|sN8m*QYXd0id0syJRRAEnUdg`M;)1SDBOgaHIjP} zS#8t)6EB@PS6p>sz>+EUw%+Du>;yl<4a|keNyO@n?*LwjQX%S;cN`MgXf9vCRl{P-s)>4CE}Y6l|(OFDgjPu&OTL?Lx^&eRO)3 zc-|~_gDm|vylmz`acYq(nIJA@SuW zMyANL@cwduXr`f$aw&=nV?b{ZtN3N4Se8y9i<&tK@)-14@)+vTj)6O{lF7vQ>+H3f zW~fe+erY&P-rXz{Fh$IVcOQ(n$m?QQL{`STnmL@5XibH#6Va|bx?=LJRDi4PW^vGy z6U!w%?Behu+Vr^A6($Nr+(fie!Cie1-)DUY~XFQ)=$vu6sVinsfU*X5al#mxOUwCzy7+9b2Nwd&E1HuAW8AV1p z(Q;}HVx=BKs~ft)hG*-NeNwDgmi?qYk{5~}mG0KcNFwt{wAnM8ry4wQ)yWoJPwoPg zpXUl|2`OKm6zBk#-=3`aCkFc_C6IEt|KL}Qv%TlR34|+dE1GDsaTY`|2gRcERSG2F zsO8I>;&6pSXYYo}lW>AcYpM9+TcC^{DjY*7P`C(gFhfEpj~1>hF?w4wXH1dg!VoiR z@(WWZ5_%C5Xt?m@jhLO)16&#mHwvwurJWlC>a|{f-rhV};YoVU+@YgyT?U4fbnYQ+ zd)T*My&)dwYT^t$&5_kr712{U;2{}|4UiqlDpe$x8=>@5iXP9I7G}driO%GTHLAVR zXrfUU$u>v{QV2KGWA-}&kV3^5AO((?_H^(m2o3oKx3HXT#fm<0_rM?SBLldV$x8dY2+n1%L8UmGH-M0cQ4>C5fu8|8xn%3aE-)10Na zsA(1uEcwMnabHseZ;M~;D29utn=2VF5zV2nqHT};56tXHDbq`| zioeJaXOjXgt)l~PbRS4M+~9>1gb)(-xmS~H*!a;S2WSbMOmWZT=`|Z+5w}fS`no(# z8vUz@&Mvf;S_vf$nZ=a)R)-JeVs<*s+nAeG9R*5Gb<%07+#(nDw4XqX%R&#%Cl|HN(b61cM zPehw3?>9Xi6V)Q58(|3Xig0PfOZusnm+u~N7*ZZ(-ZE9Nsj(az#eMJL=UvU^2{3~f zRrN;4aD%1*u`I?hLb={LHw-=DLZaLwmm^C;@K+Jo9k?O9yoSZbaS`P2x`CvPlTw*M^S*6Ak>pXxxq5v(^8i<- z=o5s<=M;0DoHlZI5cscp6KIsO!7O*i4nOY|*4; z@sY(}92WRU+qDS2t;E4{S}Pv;kJx$D%*4TB&T+Yd3U!sky! z1Z-G^h{TUN$~5a+Y)Rh48x_^nbe_-nY+%Vf5WP%XJZYndARQx zb=%h5Ty(Be|Gv#bget~x(Fw|>pQu1r-&kiMskOPUN6*M8%Q9-*yxoE*(pUM$;!)TrZ??!o-X}hihmRfF3uqw$@@ifCQ!e)e}n$~wrn9ES?Rc> za<(o?cRpp7?qN+_jhrMbg>X3y=#60drG$kcqyv#@5vkPqh9ksc+2lltH;QjOA$xg8 z;!>?!yQ@NHE97|fHW*)BZ}vs>>Z^5OYcW;d1)H zrrhpf03JIE8^m5gH9^qxvRAh?OkxZ0MB7#imW{L!4^<(mHN+l~LM!^8ZI$a~e~DL& z0$<;YT0H(0o-ltWFm6a065Lz7<_;7nQ0bqP$KqCs0vR9AElv<{ zFue{4?ndx*UDp*?zd^*U4|f>=5AOn3QIww`VKF6%oIYtiZoV`ZHLx;zx=K-oV z;KlVih{x}`XLw^nKt;2*63yV4HdT@HX*K2Irtz6!1Y@h^%np33ON{~3Rxg1Sm_Cp? zbC!u=fu;RE5ZutEV+}z-KKA+q2rMrPEYwuR8U-|yTmc|HMD}%=qdyQIg1t!2C2JWd zJ~_~K!2Ozu&U4Ld#J3{-gvBWBsXx2C(fm&Bn*&Y72#D5kbr?2#HT{$`%5TW#nuJtE zW#%-@1bD4*g8u}ekJL?5U%DXXwI&AH6=N8}rECZKcNfb9{u_uDCMIk_hT>p33Ytz_ z?*4@#`LDgFfhXL$dfr2NP4SAwP8jwGkxxOyukRWOQ>$mVAgI3{E^pMQ%*P2qV!Vx^mB}Cj)8^y~u|M^nIOI%EKjU$;L1~~%eeKDG|oR>Q6;hHdnSM(89 z!*au=7mFEyg34z0NpB*hf06?QnnJbeaSfQFNrJ1(y@(xJLF}oTX+!!LJm#PHEq=zGn5jb%_R^duJcT zjD7VYN>s~tJJGYChGx=Ly%(Y7nq94>v8EB`l`IR)hUfefrb08T*)-4x0(}2TfT{R9P55_@aqp;W4DIum&)5a7U*J_U_piK3s@s5r zrkO{PPqz;_p7&tK&;<*>=dSgH#Rj`#X|!H+5GWpYb24uC@GYC*Z(Dz?&;go@HzE{r0%F+NiMez4`e{9f3$gQvFKCh08`$rc1w z2m{o#DCXywV0=0|=9$@P;nEDxhm(s)7JLJZExxw!^togg;-Mx8+^V&$)*s%Kd~ta0Gom?1Z)ZdswDs$6xa~) zppKzrQ#gtsCc|Q3^5e0F|I7yi5BDm0I_L9&7^Q;*$i>O)&gYlxlYP<4QJ&CrC8xUi zE*|~{TGD4UJZcdegYQBO?5SH4F6^cSOWQ<;h-9}l4R<21BsFM<6rhkyk$o=uS^t4{ z&&aLb5G1WM*u`BrH&y`V#)4X2rh&P!ATT#}fN42kx+z3#>AgZWStnmZ8sAZSKqt=T zR&vjUv%WX=9zP|GH(O-(;;Rf%nnR0^XkoKg!k0Hg=%v;0h5=6Uk#vYC-3jF;_3S-= zM_b+yr^ogVe`aRZXXvCg_uC2!Fj4IpNab9$U|54pF#kUcPySm+WA6L>iLJdoI_T^( z+lKsxfkOC;UUaT~7ni}XR!ovaa3b=+>=eB8w2&4zzk{-=vbw9;l1h523ZK`S3I0*s z3K_6{5Q>%R@Ov)p4?;>bXCe!4>Yv$GTe6`z7*oJ;_|?@7vpUj*uO6kf>Y7pBK-fTD zveR=^(5>NHKC#u`!{Fb#tv*{4r(&$5Um#oX0`hQID`x@#DS`lyBKrf7B6dTBr9)PA z-p{1$#komUgsjz$M~vy?g|rZpdG5__bl6-|g-F@Lgxj#b`&eaC#%liS!R)1+sm_7|0E1F*arc)985|fkgHDUCcmSY#JdOZVO z<~QPxgq>Zw-~M@jj_~dQ_r0ngrl4$Tr@TK*K|Mkp8r!obnD*LhhO5Of2u3^?-#*-O zY%^ayy1p;Zc!#1Dg#Fc6iLKr1e+rKL?$hsl-UaY)0;L0@xBZr%&oEG#>3e?H_;;P} z!$li7qV!~qpcV`BDE7lfT!{@xbH~@_VkN3Rk_@7?q^d5zO(mdMr_K~}rW6s(lm(Vw zI)6_muppngW%CiNtRUQXQaz4mp=ung8n-esRxOa^4Kd!ix8A6UZxtIfSx>TNl#Oj8 zqShrpCHZXJfXo_Aue(M|-4eMkXo>o^fGxxJ$W@5iQ$HVNNM@T8-AEg3FEoXum8FoX zd5cdP*?O%=@}%Lx<;6C=++zl#Z5!L^u96xZ)Z!FI8#Qhsvn_q}n13c7lR9;4{uAlh zZjn_kwZKF_z`UPc{i)(nLsD|s&3+rb^i@%iv{V_$&5btZ26q-YTJFXi zUj|HeayV@fXF5*8VSJwRapds5EDgV$^GR4ZFYIxu$w_SXVQt4BcX2o8Hd%-VUBiMf zh3*BX$7go1EWrR>fYXgjR%2DL;sh2wiySx8?ftC&aQ2R81n8~=_5xL%6v)zCz0tY) zZ(fu4T|A+CCqzM559WC@EP z;r!DC>A3GD12?XHVPvl>-<+i-Ghh5j`EjE%#9kq4_5JJ3xvPA0j(_j^b%|)_iY}m_ zeZO$X33#t_GjOK0xT-v+Ic)|;v=+jCZ*@Pbg*rZO%*{^_$T`;@AgZ%cGE@FWbgl9 z!Jz9BYRVzA*D;toIJ~;RU0Y?W9;RWz*d@cPiW(!3g%v7{`m0V6ry?yhF4U2n9c(Q1 zMxf`iAdQ>v+nPAS6PC?+(e7zsqSqdX3|m~AT$RFGvIkyoe}fo{anz2VIM69s?TV#Y zN>Mak)&AeUz;!8_prF@5+io3pghw`1k z5w?ry{o6iUpJAoxwlQk_B8F00`hh!N#?fYe`gN+S7|H<>gTX@h5F=r+38OR`(Tgpo zd1I#vbQwa5-NkTm;U&#kG9vzD6R+@RGq$aw%iIn~aL)Ee+O|9SD_(krXj;1lXycgj{M@wmi(JSe8f7)^We|*?^D}=*)q~RcIk^WOZm~~ zxUxk7aA|K?6Ym~vE5RI3^O#;VIOQl);jeGaugS?4NSdmq@)y1=mxErLDEf-a@wEe~`l-Ii`4_*?{E#Tx4yTkW z9TukJqWc7DRm;ecbV~Dggq1gW)Cg}PreRB|M@n0e3A>VrWr-_MFP)o`Ko+9d$Cv(3 z+aqO8w!j2EX<^_QmNENQzp4x+oW_}zH=9*4WA3BylMStwHTJTKfF+Rg`i8&8Qp4Rq z&y+?Ix0KE9!nYXZWykWn#-aYs9TqE+h}gw+qldd_Y0W;chquZJwl@mxsW*tLXVaQe zP7~M}{IdwR*zM!6^G2-MbABd{!MT=Qm8*)-kv6%m_UQB3tZ#=%Ya^H0g>coDo5Q$E z^$cy_S#Bz5F3ji_*RK_3_YPjEbN} zlBKP~W5Z~J!=9E(z=Y#hfQc=|u;Ce}kozRgLLA#LHC-GDRf(GcOPvHg7bgfxz(gJZ zOvIW@MmnHFM)+ytGq#=%uWFY%4`9BZJFWXNX{)8w#^>;EKa9X^vcl-}t4a6BrRc?# z`%;vu`lgO{psJrFT~#v8ME&lRFLq*DN1Dop$hM+OX89u^1p~ z0ey`te^`mCDTqUuF!oDpZXq1KG|l?Lr|L3WM= zP9+DVACGY}#}tN}@L3zwDCh6oq88oAB?nIyIBp6K<%XE&?knJ!Xm#Yj-&N~kGA?y} zA--x+gvWi4Cb)fRpEJNEV+&Ure|2?!Ri4I=$mi(4?6aBDKBpdy`{K>}V4p)i*k_Dr zj@45Z?5@4sni_jz*#{-JBZ4#AT^ck)fEaV;i~}pi$COZs$STf1LnZi1sDv~1MqpWP z%#HGxY)%rvQ}$XZ^Bx)v*vxAHm&c15p)1wDJj=yCF?Ki*TiB$h`&f+%>unpZTR*S+ zc3&u#)C>nt7%sg z`TGV)*OOriJ4usl$&SI#5|jZ^`u~G~2)<=I=8Q6ej&V1=C{t-#R&OnX5pD&hCv?Ij zGlz(dmKC1d3}#i&#gng-2pDmRb3s5}TukUhwl2$7jmKhqLra1tXkqV{=W0M&#=862 z_J9Z6BHn7+5)+ME4D}>0^!HDSG+qmy|6{kyzTXP#MG|0k3>p zqMLsH`|A8p+$PZ8p6ggJd)30vBq>Hv^=|AY{DsM^CL(->WLla|K3&arNk)+5k6#Ca z#&WYoM{2Po4yGpZ+Eh8_@17@95gI%qL^gqCj%`_v!DIaf;s=l-Z6xa4Z9&k{T^CR4%HCb8D@$LqbIk(7$KFIo(u<>n;Y%vt zRTS7}dhf@lTg`4GHi;UdA0U|7Rm(VgG>7kpSJ@VpqO~!gUcj=|MxO@@v=c`g9<%XZ z_@sl%Snxvez!yJKe%z>x1+R%ZeE*6CO_lk??lrDoXQJmmWTIf$5r#scz#6J8psFzw z>KM+8qky6qdWm#aGiTqtVdJPTqV!z4e(tVU$4n$kO1d|mRXB8bGpiS}Er*qhX7;<7 zB{9y~GUSUx>FXI*@PbQ$>6|`9tzWNa*o7WCwZ-4voL0-oqt_;sc+LzgHf?p9ZZX<7 zcqMW(e_5{0;yYTqyVA0!#5bIDghQykEME&E38P+x6qH#_T8V_ z4hRylVRR)yf&vHP+$JfO051g)l6+|1LB9*1qg4Cnq^sw zCgPH5IWeN9Nnlsf$Bh4GN8~DO^DD;6Ke8i&xb`$9J0j-(wCyM1ZOaGYEh>O>7zl4Y z9H`R_^nE6pkUD9Mv98geRd`x1#&1eE>%U;HepA;K(Vc>3r)9zB1sQ#lt0Rr4#$~C; z&1?%1nZ5BHRH|KyfkvV&ug!=led_H)C|7uedo>2eP1^S?E61}{_Hvz05qGSeN( zp38+8ZfB7%I-(@*bXr!!fHAmAapAPI5@-BOE5Y#vl=Q4K!%Z?dT$v!%uNow>g=dx2 z2*^Y9M5)VUs6UuT{|38+pnFrME^LwMbqqSZ%1e&asY}xiZh4@E6cn^=DndC{GqU4H zqV&rJA-BmY`3tlfc1XYXTXhpgSLYd-FjC`I1x3szdgcb2mFuxo)Lr!H8=JkTqT*sy&^;h-b?;M_ zeiFX<;fsjozm8o%kaHc{@Ax^$v00@|PIoX0Ss;bBr zIe~j$y?`+mC>SJLbm^zaR2r^0;U-x>B||Ok>ZJwmfaFL!T4Gw_4av2=QIUL_fV!WV zH_?osMJ7mRccrZ@Mm<%vpj&6bhF>S92biBx)3}te*67z$K8tnrgYJf0fvss5$EsDYMU1k$+pW@OG~b zG{F4!;2JZnboICTXM9X5E$yVoyY`*0NrRT2Z90aj+($i|BB~oYLy9tzHj1R z2llZ7wD&Ry5jXNGDnmX80xoMn@T|KgbKU3j`gl$?OLdfqC_;KFI=TTU*lZd$QU^le z;hd>m;4gGCN6>BBbIGY|#Un(xsM|6)kZ|Fiu51#rhCx^md@C>%ceZ*QG^~1i#J>;; zOK5*kEIP{FcN$mok)ByL7poa3?q`Z43#tk4Dz9kN#_*B9CrblEmj3QRcGy+(W?;Yg*_52zh>!UydFrDpDhJ|NQ# z72lc(BU+2AX#z*MWqhbu``w*D0`_%Mm&UE;2Hm+^rCRcWLU*GhMr_*#saPi%9yH0< zo@{7yJ*!26qv@r^Fj>I^Vm$C)P1Mz_!v(0Da&$Admj4Y#0~LTi-q(8CqQPvE=R#w! zmhlOij=`$I1GAgHvrHrPHw-6hSLg&cp`Hg;1eUf;vJG-?k=4-bK;rQG!#(LFIYv9M zT`Ql_K zuh!k$X8S*%(5F+?_|Q1bf+86{mC?<_Y&RX-;OPdX*k%k(K&kOMD{d1Wg z7T{ASi!=1O>7zrHl^d;jj(Q~Z1ir(76Kw%(%vaG3>sy7SH4&_K8U=?=jx}VFe9vRR z0{kT27}{*%uy*8gCYpZ*t+sceNsh)9T2jO*`nWFi4gv-}OIx-e7qS!=vVDhjZ;CYp z&N6J=e3ZQp(#>;m0c^~elAmANu!q>)CE4L-o1K{#WcBSO?ZNG5LOkYF)0S!!4SU9l@*2+lawvi zFz#x1v#rFJj_^oC61+=$`SOC5k*93VlhsDw`t0imNh%@rWaQ?>d1=Qse@7QC3Mk4a zR0)TiR8nx=9RV&5+F&L9ypgaes$@00-+^6V4S^wGq;V8Z&_ur}OOE#@mhlQ-%5Pf$ zeX*guDC-V4CoLJ{?5s_#`@vapq)exW{kIwyx3!wz%pq>iw!5EZbW+i7fP-Q zwV@uPah9F;+%6Qdg)2h<3P&h||%?F|YW5IGF=Im=jDDbp*k zC8A7KjY~n9K{trzvP`AYZjzpjO^(Nr#^qPTe>%0_{CtyI4m3U8@x`vH5?|+$5^r?~ z^mR_7cwriF&ED?>Dp!&)TI_3el-ONmRTQD#-bX1scL0MroZ% zv(>_}hZ}3g5-kX^GG1r6PsO<(zl?a436|CT<@B%0S$0Y{b~C)+?Xz{V(NczlbtJQ| z-ZXQ&L=f@x#W1m8g(r6Yb?s1KAO^FH(a%kQ1hA&annrxJTXpz^B|)n2ab2k=*BRGx zfhh7c6|Qp_uqKKMX?x6p9`u)Mj&UVkIJkx~FYum)3l9_Ji`c^{%@VN1+%_yE%Molb z_aa)2ZB;{uqzJOH98WD_`yXoO!<<;!yWkfgwcSqWANX{FjOVn`hRfDIb8Bta{IMX< zy47HF`S6};>YNEK*q|=?nA7 z<97#V?f3b;&-ZwrzHbkY!<2mdgZp#c*F3NDtmM7KC$)zxw2<2I^SeOHopXG6&~-AH z>&|x<&MZQnPYz?0UvmZJ{!jd zvpP#a0{&S~@W14iUjf|elhb)H{qI4^ZXJBBFL0 zIZ`n-|LE!s>uNlJsUo56C0a}M#!6mLo>0-+rpXmI{uK;p9!wL*IO>&-%uXSrI(Wxy zL-*^-A^#>gw8yx&zb*d3SJHbA&RtQfgt%(T!^f)z+K*0m7h(2tr4zrFhF8m3OOKJ+ zlX3C>%L>C^6Tk$5b8fG8xbbYEG`a4iWaj$amlmEmK+1R=#0`0Plmhp=>l{3w;kHfX zi)pyideh#~aPvSAgNDz~_+E4S;bUfaXziTX1v{4peAzmFD!yx-w*4+=<59Ht3^Cc7NnYatH5z4DKfddZV-u^jlnROUuXNLM=H;` zTqGD*@()vbr_W97(hf|e%v{W@(v31>4*sfor^h*}2ye+cQ+LY>9`erj+gpP-s^p6#mY^bxlBpuK!h=}Kn zvrWU1D47z>1w}6#5B3ln9W*ieRwfU^9D5IUCu&{WX z2u#y|lz0u|m2!Nxy5DHZ9mn3Bc=aj<(O~Wzu$$Q;qvAC#0I^I|5C3g(_MbSK_YE@o zCRsy@piQCtwN(hl4<(7|>lQIHpa%UcuGhEZUZjEavM~WR8hox@z6{L-Wpfq2Z*|zQ zqY$BlnZ^nuv$Lu0t8uT&)nU0sTO$+pDlmov;|aVp{Dnu?v=L3Us+mpI?!QKE?b)2l zz4$$!y6KYgZyV|IFY594zLAhM@VhIqCb9@}NC5DQLZ`I(99o>6m8qV=;3F>;`Vrq~ z)}M)b-x%C-McruU9>}sH)+$!;l4+4)WIYW1Sh}%cWfdS^ko>O$qf|F*LKJqv4C*!N z-%LQKW_@10p+PtA9z|ma@tyipT%TPh=ono87-8h8B}E4wwD|C-st5agtsmngq~Nwc z3X1IzvmfJN@7a%$F9;$r`!Va#l)XH@4A!^8evHfzvmaM5=kH8ePdnK@dij9bu4wm*$HFgjbVKQ zPKXJs)9{}gNyHbb)d@){h3caa#UTzDx5KS8?Eiro#rqkut@IY{IL=$$kV3!y%U=B) zu17|&;9%&k@$K#*Q3T&Pr1}*0y{ff9MV(%soEUR%) zLqY2r6$2+5=YPZ4lYJvOzF-H?v`9Y`udd#xbgn*%pJJz@W*7wWg%E3)1*x9zUgvoerP zdwC!lEMT*<5~H!w@PI$HFRQv>r0n!Qqx3aiq4bS=PwCr$^_UV<`sx)hQ`_HB`Wni> zFdGx?_UlQtbMH6!sZ_06!%=tR-g8X1QzOa0()sSNrY^I&-(=iJO05d)w$Zy#cf1lb z3?m&GI~zx|#sLrr)@I%iOSq>RKKKwZp1KiQi)94XTWZb8#Bs=Af&)?h&(H_s-BmMR zyUcv8arnVU2!d>cp~f^9zRXR*L&8G1RT47Zla+$t>Bi0Sz$bPf)%dXEoEJIT0N?4_TjcOcXEhB&XA231c*=%EZa$Se% zU74lfy3^fueXS=C;p)=YFwztCIm21e!LF9s4Of*%c_m~FqK%H+tx{y*N{`_Ee+jkhG~ViDMYH8o1% zibp~Sbki`8z5(uJ`g&R3sO+2+c~jq8CHQS?dex*iadB;(8smU!naLPEG{ChGM&2}r znJjP=liMPa7CXh{w!}0_KpD~phBXtD+rCNd@KCESdzeALH`!At4-c+NF$(xz+E>dX z^P&+WMiR-qvT$^I20>b+FT5_+5e<@&)9}FYzIg+^vK>mboo% zEEJA-G==tnBk*XEZb9oCcifr@Ud&m~*m5E$NBh36kjx94+2|Mupr;7H!f!_Qu zh%d~RjFGPwFRBUVw&q)gJRy{pKqB};VlO?Ye}a3;1xWrHF6AW*q=;!{v4B=q5ry;G z(iqwV&^QU9b8@bH$EI1?j&R-Ev9gg#t>m?r(lbKF0#wHZ_i87d;*bQIDPiQ)LtE*g zl4zX#9=rX+)6G=no{i`b>A3uo2L_9)2k&3wOT>*lUB6yJ?(z+maP)E{;f<$)E&xB* zK;R2SB*S`cA%!9wYjGP|U?Lb9!Wft^OI?yTZB9>O6D9_0*&anAkqdP@vs{pl3mTlp$NW~l)~m`>{v6j;&^Jse1GxhVl> zBe+xqX?FjcY#9@FA8Xb50keF}>KiU;yr_H5I)dHx?(Omw`E7;m?VYG*+1+~r zsZyb^$1L4EFxwsS)4PUzwn7H-gRPx|@zloh>5v0*aZ{rkSWvo-Z3=pAC+l2etRZFVXuixIsao7rCIB2k< ze6TH9dXmV!06Hezm?RfSeMg0gztEzG&`XT}b~Fbm?ZIx+Wg;!j)b-p`SUXR&<~nI+uHu-KX5d{If~b?Sb*t5bp-%Na^l{h^SZ^w&sPU4UhVj7wQS3 z7*-$!6Uq&x<(RhX)C&#BqgiR?!*}Qi6|lQnj}fiAZLapI>i_qxXE0k`3kx{?5hDFi zT$+5_^y`-p>HL*-P`NCYt=^0ntK%BV!V9iqgoyL8b@Kqv9&D2im&L z>W3N?A$1j8l?f#=qv(UBh5Z@=F#80vtw%>?B3NyS(82WN9;(zlQy-w8RM!o@EMr?y z9b;1k$=wQbPhLpm{!kYoD>Izl<7flLcsn+E!~<^z0Rq-#@?FP$+&0LnkOWCF5ZZd# zfPwwzv1{{WOqz~DXQ*JU&bWE&5IWA#H>sFk6J1#=WF{eExJ_b8(QzT56y?<-7SqKE zQ~29o-TsnuTZr)+Qbq2c)o|jEsjA`*?Nmze(1-f|-|xVH-pI7?()c*A9~lDYm6O4& zoIso^ZNjW#hOLL0tn|7#hK5uSGYFyZFZ!CH95Mf5(%nqf|cGO6L9g0oDt+Y*6|4EE_D-J zI&sIZ^8L__7%eO11EN;P8r5p8ZSHO0_UiGTC0l`$95$yY7HDDW$Ng|a)VKD{S!LnZ zTP@S)9T~%M#2iyP!!TjKT37Ym-p|fGpYWUiB~aq(Dg;0U4JW}4L{|d*6u?UXKG3<@ zZ>B9XEaf~D&1Jm>97~8fT$HlW)L>@17_7JzAP+4MJf)ekYBPj&`xzRNp$jbolrHBr z-i+5autD*1DNc=DyK_{Y;N3MN=>Ot25nZDUEx# zvCHrhJkQV*(>EnemVeC;0}T>!_YryP^KOxNjA0UX^ou;lXuG&u^eS;O{bRRCOk+UV zZJ++Znm%-kQa)Rv?`n;#qv<*;MtVq#NiF zyN287%x$xy(*-UO735*7q!wMK-2_vGIpM?<-PJf19?;=;IUxjXXI6H-kPFO?f?l95c)XF2 zzi)DkDf0-|q~D%Gk4=Y?d#V*?r3_Ho*Ex~~6M`wBtHl&m*o!Df{u84QR|2?En`9v> zkpT4D+ZyAxyh=}kbF4C6W7ICIzla7ae~kpKMMn9MVP0|OnVGv988D)pmjbfSDJ9e+ z3f*L0K`N=?zKPASfQ(HrYw%n&Act#0J|h>BsWIHN-t_R$d}!^Ye+G(*x0w36rS+Lx zqAcJiOe#WqRLloOjGER=$^m-B9^b|Jp?UeJWGofXBSNpxxPTs!)d^mLHxbYyR*u)4 zDdYJBaI`mZ9s5!C4$F9a|Ik0xt2Wa=ggpz|isHh9ht4MCTVZQK@;u()jqppI61EK3 z5-YuDy6osds7<^;NX2z+}r)mtHZI8d$%pt2cX;OL|65C54nJ33ebX{+wcZ1!(){A0dgI|5I+A@ zn_T1F64!(hxOqz8wcvOeuR*&ZQ@(9}y8*z27xN1AI&L+h@&UVIK16eenNhXW?2R%# z$)Ame9b=)jd!-{DN^CJec$C4IvTMnL3D$;f41kY3~xlHHT0b*r~Ve zf@$;3TZ-u^`aI859PM}jFnRDILs2H)A1A&;`##^m2n4_Lzgu$t4|jJu3L{2pBkQxp z<}$_cfr0Yy7&)|WppfYV)5B2ge235!TOh_ojv;rn%rnEAJSXQT;6Yru*!a$crozn- z9z*3Z2J~Ks9$NTC6jp5Lq7B)1lrh=?Q3}1FjITPzPiO7MNcL}@u0d%rHdPN@hwM_g zymh^v!CCS?FRpCuosCb_4KekOR;HoLyFnipOah8kd7J`i0F0LMXSmn56R3TK)FN6o zT)(0A?hotS;vohL59ve&FWiC|TLQ7zC+@Xk=4X`M&wsX0Sp@^9(}_Pt{@`TaTZT=d zcrGTIC_{gki{Zt1G9BNeUt~B&`YWV9y$eNN?di(iU>W1SZU_ZjrM_-Gbz+OU*)t?z z+FElGP~O2rf?NoEy`O+(0((R8DCgnF(uL!I^3D#7?GC#{Adev7YsjeOb%91Q2Ur8j zbvi?}cTkUO+o4{w*V*=jyx<3_XqEa2sKfcGs&6hw`pd$vCmzj?*FOx!Y{_dN!2yY2E$bKzEXyq& zZ$o5hU*^wu;6nU10eI5#W!>RsNSSfVKx3S=F5HVZ?Di(IcS&lTLGh6Gm~=~J?R@-o zb|{z5O@)MGCYB)}Dsw6VAP@I8c-~=D)&0;9n^lz|Zd(k)Hw~656dK2Xp4#<0;L;geG+|#n=qU!heB2|vAUoe6#&{f)Cr^|Z*LLznlM}yuphJU= zHds%s@|vB4Dj5D8s{&u^!j`S=5>6&_EP{aKF+75oyq!K`+}z#%#u&;nskwLB&X6=s42_u)`>n?)ri#qEh>+?oZUvQ#rQ_~r0)ZB%#cX4s2S!cHpDTyIb zX9T)gwe@!t7 zi#p)9mbN_Y`tiWtVLfh%2SPvKCbg8_BND6R#1+TdnEUUsARpq{#WgG21v2o|v^2o{ zuARVnsSCPd-587<_^WR~gqw>A8kC)@8v|I^IcirDGSl-2TqGG&qEV$dYS#_9t8F57 zt;OWFY-F|GTfa@biCf1%XBfM`r2Hfg$Je{^EKcW_%G<>6@S0P}7WD3dnpqG}e zi|dm0fgj&7jMXLo2Ml9jM|cb*fyzGuhD!`9z^^B72c{ZO(@URYJN^rc1%F}s+P|;7 zn-vf6c3>6$|1+YmuU>9Kc$aVl0~T6!irnN$yU7lsp6Ge~-t$w{eZme_$n)Dl2qL_{ zR>8Zgr6Aphcr9hIyIvtO zUY2r3NkrnD^Ojf3;Kf(FF3zi3R|#rUC;92n;l7BIm+{Os!`!>dsrsRHv7-dq#y5Hr zRZOcIh|=+9n!z9qPnfR{*w|^(W)-y9A{YB+NX7dn-KOV)Py=s(7Mf6bsY{`;_ApQf z=w9v$ZBNPbuQ#{;v>c%e_h&P5lolZF|G+fk(%V0oE5&&VqNA$D6q9n$`-nMmNJ`Id z#`EmJ1o?{0VPb_8u|*HtPLESj;&jEkSz2vYI?>@EX0uui0c=(#4A2hBh@h=0TVhb; zQ=rnrb(UHpZE8FXTfa4yiu5PYd+2v%<|3okdc9CqmUf#mCmodk*$@<|tb1LK9|*0; zD}+|sp9rn!koF=! zWrl_aKp+P~%D>XHa zPN9p!`riU#Gb;i_c$zYegPBArfYO@N<#WZ{_SQAO<)ZGB`ATp{d2@n-A7BAX=De6p zp4MIVEf22oU0&za#OjPOr;LL(LsTbMuC^*yx-8J6KeNw8^LhBNlAPmj8`ZcGOlt&! za8XX%J5kPfd`At%`YH2i*s7tVtAbO!#Z|+*GHQjx)7o3exjd!E6S#c3KLc3|^B?CR zXvxWPKGZ&nP>?L4f=Ho-@pf50Yu zKq-phKsGFg;MNaOE_4l6d(}s)=Ixs5*p(t zfnQubI-TVbksKitx)#nTZ^=LnAYlwCvXqQ~h74ot-D(67?zXd_5@BS}4~uJrQ{^&b zMs{VD(8!$&6WsDjQ0hKM$S}ABWVlJxYE`8{oJYSH`Frp!K>psCx420du(~+c?0mhV z2pPWEyrF49D53KIj?$H=lzDzQ8j2W6 zo3xvqZ${}K|6z%k(LI9+O2Swc#p1<@#>%9YPk%^pKk89s50y3Sm1TIMj6Z- z^NUL<^Fvn0JlgB2OU$SE%l2gjV33zULp=d}8Vwu|{fW~_i%|85VGF7sZbpr%uNr=7 zlII5d9<<-hwvmjIM7`x56$-HNic)g@0a4-)F?IJqZ5qe(k#ftUdR?m1dFW?@oo%g8 z=MjS^;(7~pF?|Kt)}Fcn#OB4ENT(Ds0R47WLRy6TB3OxOjr;h&}l7Atx7bTDqN^lz#^ zV_QK6>g#%Tkg_Xa2SMBHN$5g@b|M<^Z%n7HgU$r;rb1G=wlcvse8a%3M^_>@#8=&p#_xDSvV#*0p=i$DSJY|KyK`Eb;k&T6fauY_LA}xuw>7@6f_kh@C)GA-R zBm`9N_i7gal|9g(FG9ccOl9rDFUt2Inx-n6{SC49rVZ9AtO7H~eHS;W5lE$f;P;lu zyG>-akQnXClN`g_se+BS^zZfB1r8sd)@5yK*C)-Y)mQM%@hV{d9Yipn3;Ff!$_$wq<7m|WsYH(9X9@QdHUT%$M7GR=mhlR_&%z**%KggG8MGN^lCs*9;v7mQcDkW z2HaUC!f~H9x;xS$l@ErwBA_B+Q-5bq?L_*W`a8Eeg@Vv@C(}^jdT%o~9~?>trR7nl zTz`Q5BrRD8QUZIo){M?Oqe#e{{-|F!`cE9qJBrUvJqgfmhUu^O{cc zb78PCiJNcr5S5=a{AO*i1j|hMPpF=RisVQQ_h|@`jP}&mSxWw3Trc`P8c_17%v8L3H-aoyqv~P zmXLWMEDuc{b&j}Ii02*WuJ$inAEdRP*jcY=dJm4?hLZR(rmJOwQ3pv24LA@}L-z$#yz$sCsw;_E{e<|ex7EkE4; zP+*GDt^b{Q#rt{k*saLAjRQ3+0_G6OfY?qP=JmQg&?5 z!K(@g=px{!VY87qw!2ls6N2ujot{{$-1L)Hd2wE~9?&YU;N(KH=gojtdHjfp?)-C2 zKjn0+b5wHVf&GW>Ziw93KmSy)A=-L3w+~SMcwg6l`OR4m1o3DbFGu6}P{YeR3U#4j zSdsAF62gOb?|RfYF+Aopj0=crMV|tocthfZi`^OeCAHaNg9IVlg{H zg6ZAi{G~0|pzB8ECMMA(^gEpjGdErk9Y6+>c8}CxuRo5^!c{2}4h8{5u4M;{N zw8*#w=nZ+{+~Y0qG6ym`F%B|HH9r!KSw(1`UI}@e7D?}``I_-+Qw9+tq6DJc4|Jmc5#*h%j4VVEM64+OJh_EcQQ_qgRWe^*U6L6U zw&s#xH<9y#q99y7uD`2EU+=IqW^IgNM#ZXh2^Yk*f?(GWur>b58B=VqAFP z?_;WNy~?2^;o+gGJzRMEEk|t@=2(r0Oy9VtpIe4ZPeo1gQrYuAX3sa#)PEjlx_R^J z6WX(lk34Lv&b6z2J-@qIS3{dKwzJ?wf4N{+&Sn)E7kjsiaS1g>X!;BNEdAu}4tLy) zy#+jAdfn|Jp8Pr1Yh57!38X&W{b{}hq(DN~{2213_Qa+r@WuL>dnoEhaTk(UbgSq1 z-Vat;Se=N+2@i1Z^2!Z*W@Bl{|eF-DgY0M-gcu%!ELbGkRb(XtG*3tCMf* zog+JB4+POq7;;9dHKaQd)Kkt5G2OR)1vooO{Vk;%WUk=zTIC)Z016`VdkUg@wUdQD zpD2j*#1urmD-=XrKtaTB74CGPWhMTdf{5+V&bslPLvd<__fEIJh=#&|B-x*MXZOFU zT^WhB%2I>VZbg3(^P%Fw5i)Ca?GNu-`b zRSF+uJFoi;TMHkbVeMze~v2^IpiBH?CeaNmhQVmcM+@##C*+ZZ>Yi zXb+szb`IXbIg0NsRG=%SAah%99?wv&Cv0l9`M&vd!@z@`ou!fiTyF(8pJP5ki8_m| zQyU+)`mV@WANKt_4^fu_pRV|hhiEZ{aN=_wB3lQbrwy@;Qmh-d&!`>Ke%18oFDlk| zH6noK%-W>sk4E(VgMt+JV$<+ZR?@#iC761!77)>EOVo%q-b}B#K06$Sl>T$#uf9 zG?zATUJI~iS>8DrLy3N-JDOjl{e5W%Rm0JH_-Fb<9m5h6OZL{-H(3zf^v>r#n-N66 zp;%bgOY7VqI3sh(nP+^^#r4s)-Jgy}M-s@mB}>%(u_Dg3f)**ICc7z9ZI`0 zp3|uD3-lGjj7;U2JDU2w?vu^#3$Yw4aWSr@;Pl#0WjlQrD%F!sCd#$P4SO7EXm0|l z)3f_zZTtM;?p*zi8`IF!I=G*Qzh$>ZU|3cBYwyCG6`SFFd)|W>cUNj!TdKz55 zvC+kRNIeACT%bL6GaGCVzKlp$;3LZYUmrA)H(0SGurrbhpw|xY#xWd)BSXQ?>xPZ8914peWvtlA6=IaICN`x*fk)|{@1h0 zl>O+R4(2?mtnaDo!OT+>t;jO4cB?N ztO`=)UeJ?<*F`IeRHsYG1sxCj=MLPEgtPU6b8;T<;JMt8am%ZJS+nTsH)M}cFTota z)2V}&9yZ4%x{uu?MDFwb?ItC$HuLImHHBYur&bRCZ0TTPzGeQ#s|vijLCW_~ALa=l z7L0DzwIVj&$p#Qzf956a(UytMI!|@mGHtJ?R?PR3zri@^TtKwbTJ_TpM?QJr|Dsb` zU3Ev_%Z6Ax@?Kw8^>cmQKjhX{|3zOnSVTjrV%E>*X=RoBz!o0amb>Eu?ouEsVbqDQ zt2~@0hSi&dfn6KeoC>={Y@K?2CSsCIWIv=8@pu~TZHNCPAC^`%*s~8+ysF1Yc6$3N zU14UHv4lD6j zcU=3$yRc*0U%_S$v1B%I7sm>Vm+p<5?f6Ta3lqmVg3G;+#`6CBT=$9N+;4_ys84Y& zRvhP!9zcIO;&%bh)l(ej&dtw^oa2qXW`BFFaSU|~cb=IKi4ZOHP>{4#yl7#xG;!)= zb{aYUwdJNi>oN2UGbv+Uq47GX33mLnYmWB3oaH4mA7T*q6n9i}0^JPu*p0^x4_TF) z5%2dIjZ=HQK-vHyxMMM@K6-?0llv#kqsHqCio}Q{DO}Xgzo@%-=MY2(<+I>YYdj7n zs)zY_J0*rE`;fudE#5gd!nKXxoXY_A*Pk&0nGWvpBne^!nW z6D%M_5>z~Wi1A!!xXHpbUgO?MBA4Nt@OTpIRFY-fKzH2PFX=Tn4ykIl(nYB^W1p*yZs<_JecqOkp7y-@r4HSNR@OaF=>%t{jq(**Pg+787HbO z<7m5w4-gjDbc}DUs>Hn~EgA%*MUH^9NTy<)Px<18E~0fg3Y)Z*qTF8`ex<0`L}de5 z*Gj|dlX@h*P-i4XRQKxSt!;-4jbTsCuO2Hdvg3BtsmTT&s`2>ItDT~JrAi)-I*<@M zA2;%1SG}(AsRFH+QP;0X<@rC;@>0Fp1;+0`Z06Hag$JJqED+_qCy%(<^{{tYkk+fu z<$e#rL4kCv$H}bIkzO0u4v!W4!YDg?}xfmRv{wvV(Z)y2P+X?wN@2@ zPcF2m68)3|N58xH%+S0H-Luh)B|MW@GzhD2Pq$cXLpYord*icOwUqWE)oQwQP*O^@ zYD1))(x0lokMOn_2KSV1X06r+@S*v^4rqfA-~ z-JV>&S@$5~vvRBIpx81t=LkMJ-w%o6MX`!t=@d*u=0h+~iU)4lW9at7FM_+Qf?@>F zqAxY94CRe&-Ji0b4V-c*g|32~?AF^&ZBci8hK!&7dPjR#fu|p?yqy4%2^MslIIlpJ zo?JMAW5iT!rsmKcGxMsT_X;7a`-_*an2bw$a`R=}6*z89u-60ZJI0|e&`&7sdM63x zu=-=rGv~*u_Fj%JkaM|?2T&#B!%&FfRCUirbyA2qm3AUKOM<&5N_`XiR-%!mPheLy zB0gTS1rK$=%T>;;dp)vG1107!n)|#%Y?DdX{2z+=O3)8cs! zMP4_$e6mxq&aU6FD^5ewKoymlV*mX?8Mmw}L%U+Cnx7zA+v=j5W85_43}$u-b+@o# z_9A!UBbiWUSZ`GMu$3R`hcvCnggjB(UPpdSLsq)t7?4brQ_~h4)g zpYshHOmfJwDdTz}O4HBxE2?*ieUMUhH?O(hM&xuy>F5zm*FODf2W;An084a#`=M9M_^; zrxsV2Y1LNf%XLM>_sYLar2x>~I#P+dxN^hXCJ+yZiImn+vkUdIm^ zwwpM&KKJ7K_H(Zv|Dy5B?!Z0NpOx0J^6QWE z|K)Wj$6~rjT9=wLbw>_<)=Xw;cB@^+34fPKi3;52$<~VEqVbbe{h{?}Rg|1nm?gwJ zMs$JgS45r8UgaUBay3K>wPCZQTY=}18})aGraM$x2CQnMcdxa??);?Yc;UU8qva(a z2VR?Mbd~f@&5Z`%{$|Mcmfzcak5RZ>6xSyh9F?AWnGu%_{M-aHytnnLdd=q2!1 z7eyo@%1zX%5wE?@C|e-zEYdAL+!_-GMpJ&am-U-(&6eq#|viwK9R6{^;>@p%0Nf`MMBL8kO*-ek%l&M)vNMca%mRtyJS9n9FncKkk@7 zWa28{#ONi4wRN_nD#v66+LgT5M@(PQNA%&w(SbgqWEl^4Z7heb=t;lUBpl5l^qKX_ z+pV-ip8qAn*@`3F2AzSw8IY{lfEr?(bUzvp(-L?nltuE9FQ3i-W5bU?tWe(0pbc2g zuCR4iF`}Lpei)h0+1cXNTKU*S1;Msft#e-GV~}t|GA(c#=?ix0hLTEjneBKxuC9AY zxT{%$^O{RBJbOJqT+v(PvBfrr#3FatTrg14c;FK?t%uTDJhx1dyqoN>#6 zhcXP1`9Xf8$y^;tRTni+x3-aes&H(>RlBU-)>DnAQUcGousYUG7~45OFiN)Ve}=^I zx={*|$4pI_Iq}B+IS{Y0DW{A`HfR#%{O_7XG7Cxkvi`+a`t6Pd4M%2MA^P0{Q4!#y>S6X@4LJ)NDU_iI+X7yk#M=&U!ZZhD38==3qC z#fq_z29OrCbK!M=F{=Nkv`KZ&*bm2cNOV~kl)oCTZ7g^b8Embvyfn4!Yy)4MP3DIQ z2Jnd`6%#&s6b+q~Ncm0DZZJ(8bxla8U>4)R1Us)+!SYgDz8s*EpzxWh)4CAjhloWJ72eJc zO`SD|Fi^`XYw}m)K&n$oImVx>PF#HHxGqflw z!97&%nTJ^k-^x3O3{W{6-u388BY-{ny56+^(jKF#62vz*Ab=L&i8El}(s6Y4+AuMtl47$&Ju3GwKRV>haiI)t!*0 z2qQzu=f$6^;Gt41oPG%$yi=ZzNb!6gafB;Y!K3L4YdRiE0u?+Gp4ck4>Qeb-l^0nW zj1X5{t0?zlt2&kctiRiR!i?v6**r$0(%soTc_=oG^gJk>aT=dtvOpuKa$Y!O7_o=w z%DrJc<3B*dAl1b3^MXHA9Pn%}Z}?llix4;I00g;;U`$`Xl9=w{H!7x_)jl<5FjS&%@rwvK{)rbtv}!Cb&}6yK%Y9 zjMsLu(HS#Q)GCP8CYNG|)gj-wEDPHkgUQ^qfU4D!zx6NB`ZWn?D&iGx3e%rfFNQYt zF3(j8U+3NS!wxBlyBH%j!Ou^UmKUd7(x;;|dd^Rz?IrkM05>IB(SFV6XCeOVdSmT_ z^R8&`b(hZJav#a?$I$0h2hyRzTvGoObkSsDe3WAmj>DB_5Tw=CR}&~969(0HvtQPg zEq6_Pqd>^ZO}lFqS3-UsL>IUR+X|Ax&HD7*N|vt}i%@=bcM+Eo(u`|HmtqF0#kj9C z{g2a~HBE5Co8^>$lTe$8?y^82;xEd|e87EK9AM>>R}Cp#EzJ^=R|VXlQvmKua)S#? z_{-~2vyN^fw%!@Qb}7(B(&J(bEa?c`0yQEbJ6??Ynt4-O$yE7ixy5hs`u2yrKX(Z@ z5Y+F>RMh<~+Fuk$d(o7zcPcCxJ!%0tBMqHxo-jR9<{+1ZlxPH^0*$|%cG6Ge=A9{e zyfB*$PurKcS+mvP9#zq><-y>kTe1RH_!8@>|4@AZfWi0enfH72N6BpelXj6bZp`1?J@d9!W*FcVs-Z3-%MQg{05M)JOyjNzX55Rbh{z43uI~FCWhbB4?N;$ zkhPnVkXflPDk-avsUUl~8KMg0Tf!rF z{&h_Bw8m+r(}}%`a34U=kcvx=)HkT(J|jDPr?=qw=gz}cY7?=$Aq4H}mSdQG42JJt zIjx2ZqSZ~fTPW#{?QeIBIjv&P*@!u-T-^)bV#tj$j)ulou)#s^2 zerb?1%lq|Nnhwz>e<>EkQ!Qb$wfC3qZ4>?w=31h$%<@q*WXX%WaJru)z|i#De>3f$ zZ?aZxO6i+@FtfmdS1JcIsEu$lma%v2ZdWN~ASE`sz~6++b7jMf#di;L@8`k~c5pCw z&B4`XgK~s@DTaPp;r!t6lCyX0g05Dcwlx}vni-G@FU24!%BUabv*5z4faz+%x}NS0&9uJrqQ|`Uj`brUGIu>m*wx=oZ?C1K}Gf=#fsTC!g40pyhHSLbcqpt0mcB) zH@CDjx4_BTn}tH02}gBWR6XpqW1F~BnB>=|f6*B3a6Ts5ekPp%{jPagE>OpaLB~@d zX3pX2NBlh~AwfZPEM+TX@mYaK-&mTd zd$3>JWQk2l%3qZJeo1`lf@3gTVsZf6l+kAn;{RS)?x^(Cwtq5GS+_isSlM%~zW28( zGbKCUZ`Q87{$T4g)M%jRV?hT6#&CNRyURNB+PTvL%bTqo#6dr6MT8$Fn7bUAa?KghPeX;irJbYmYk|^q5UK+WTu`qlukJyZziPA936otl;65vaM6AO*bb5Ca; zpRRa3&7Hogjm_*~!T38nlNMUxizm??wW&1iLwU$5tyuBI6z)Ah zajBA*T(SaCO!xp$gnj@h_Phfq20a4+MW1!hr-ecX=-!1^+Obixli{6jJCd61HbyUy zFPls(^ zr5Mx9Y4yc{l`8^%MYu5UWSdyH&}-04EL>QUTg+S$E^KFn-!=7{pW$qIz2)=%OVV}V zEFRQsXMOA+y#Jt}32MKd=`o77J=dj?^(*QuUjt-VL(dyU;$&)a`9PvzLvF=f*9<;f zfFCK$So9A5>CO(Au!Rt``Kz*_mf+tjPy6H>y}2y0k`bh1W}du#QIq(y>g-*~z<(*? zV@`-8PEBRWpKA-VmQ|oLHwl`MWdUVg`@wC<;;7ZtMvaD){srbtISZPX628cG(dL&@ zpwH1FNr0g6i=(5PP|p=6@G3!e{QI|&P`3R@jvwyH*wG;gh@h(G^zj6kaC9B4U;kTQBuZR_^rW}|smka7VgtcgvGgKeP(c6N%d5aQtgZRGkz^}N7p>qHO)(MIDGpRed3RC(AD_nk>GDL_k3~S zuc_qcIFf$V&UZYO;l-}45Q9Ul6tzlg>Ce-K2nnY1Qh>QL{wT{rS`nVF>xa8mO}}Xz z_Ps-^9ZIqAH8*-OuKQY+Use59Cc{utUF3d*>ZX}R?%LU@Co{ODAh)~CZgX#&5deppiNT@tNXYIOjuE3HW^0V`tiDy?Tj!6mk=B4APM~Wjou;4TxAi(q zpv1Bls8!QL1G{KWV%^BW*d#0XC2GM?i3?8pN##D%CkcO<0H%XZ&YxRdYrgbhuDie& zKfTJm^fGi8Jg9;&pG?O-C}%rO-7%tD!Denw{v=da<-|OlA}<)e_I0#@%@5beZx7l& z53;;oCude=gVEca9j1vKL*JgH^|zfyj@pzGdMkFio)%#OK~Ky{Ps&ASzP~c2wofJ7G-NiZCVv z2xFdE5ys425ysTf$U^~POuJv4j$zSVW<P0x#E1WW#umD!AjC)of5#1qk0} zPf9c_UENk!Y9C>~xJ*-$6 zMb%9cZp{!J$sE{>u2t$geqPmFa7WI?v-9RSiIqN*Sh;Wx&53n!bmrb^zvL_Lg7qf} z$DWX44qUjnlRybe>F#;pWgrr>iRCg&=?M&Es=pAOAgO*O@bf6=QZ`&1LOPZYc!T3TC&jTa4L#TmT*Y zIU>F=CGh0LdNF2KdOwj-ulyNiH@&i{$9n(4HRL^RY~8Z7zx(~dOqde8HVrrV zhHJ!Eg$K`(@U~f!HD{_btOcWI!kK*{itpA9$JFZWY%4E})d|7)`+0}l%ot*m3Da!& z7wW*yxEH>-OH#&iD4nkMH|YgiDP19~$yV&-HRZ0cXBkQ5F1M8oY+*7r4VF8%?`n>! zj`73TEv&6oyBRdmXeep$;?D5416jI^-StAo)`$MXXKgmQLtV(m3OrqT^@5I`lPMda zn>B&kmm&2gB6awswt*Aavh}xxu}^vXKFg|Q*DQ+5Zb;>kzrn?hOKmEO7@6=3$Do;d z8OEVBTlA}w&l@Y%kM6a;UIh{u_DrnH!oBIKuO%VaX7)vF$27L0nw2ZaC7OlQr0~GMBpQjsTjakikZN~}GiacbI`2OI z@^|Xjyv!Bwq~^t`^s?pL#rMeQTv7==wdH?6Ml;PisOO|-V}fRf57;VYLCC`%b?w4B zMZ7fRkKRI7v8qATO*>RE3Xrn+;_Oo-Gag;FnEic66nF0UaEY|*stCca`GEb;mUzQ) z7Rj^Jr38THPzm`G2f7|}$*IJ+X zq?I9S^ikLAKqv3r3tcx5Mh>1O`AwzD4fw)>r+xNiW~@>nOQEnF-RQ7Ysza%IyN9cy zW&L27)jg6yVnFv@o*2*_`21n^Wt{rlHl5%~>NO3Bh_fkfbQ|A7dRCa_Hxz%OfAU(Y zV1}x>XA)5Fxz&0%#6SJvg@w^$2%qnI_=T@({VBik5ZoP$sDG)9U*|cbX|GX1&1}g_ zms8@=VrBm9YUWJ;zJ2Z`Ox8VzW$&nW<`yabJBCJv{;ayBi|hXq*a>dx)%G$|=VFi> zkMs~ozkxSrHq$Tz>Pt6wOKijl=x&54+U?z2>}5RZdu&x%<2%QSogY4@jj?Z+ddf=2 z+-@h&6*7JHfk z1pgLRxPtwD3$WjF+`OKOZ1X6Qpl1jC)yBW zK|E&`6xim+8?N%eVbKq#$n0lZu{m#JGI_{jo5$<)f{Fi!z4wf3GTqv~6-5vfP!Ld> zh$AXpluja`G7bWkQK|%ph#Gq65Q>O^l;}9pi^wP{U3v>hi%JOygiu2bNa!JuLV3?H z&C&PS@7~YvzCXSDTZ}lP=XG7{TI*Qr_^-~6#B%zAD=$7XEEr{r2o=V?zzjxKMCkKE zTx&f=dyk5!3T0d-h$0)JmEFz;@M-y{#GEZ&oLXG8dyMm~I_m$#^+T6~h|WSs4}V^{5=u69vyhmf6Olx=w4Y&ZxB0Df}8$M0SsaJrWRl5FYN8F86=D=huumA9llv&Tx%9}n|&7mtsKox^6 zrd-g`+Y^27LzWfw?b0uCRksos${BOH(9%v_AjKCojQ-v@`*Q#Z2)gx0K~UvhB?$=% z;;-w9OvAx17G|ZbV_ZxmTpgioLh}igPP0S(lerjA66fXzR}^YNC%fFkqaGEw+;xX+ z@zj*$xKT0V-c^X+R>^d8U@C;`gzL2QZsXygc5 zVx!MeWNgC>IK!w@`2~R#rDNbAyZ!h2uNyX(|f>xB=fL>75JW~Cl#JYf+%)rgOs?h^^$C>jrn?J)$%2xUi z&8*HDiCb3ni!ovC>HHjcGN*}I5{&k+PbV^yujW?HRlK{`{WiCE49HAx1^?fG=+wZ8USfAEYCy_q+(8yF09${Yc6&Uf!L zs(u$@SrgEL8}NfvA_s8a{s!rB%xE0+V{ptEJU0$jms(vtSl(~E#IGS?krlqy+oeYsT8e4ntMt zTD14PbC`;E;B_d18rfXn-E2RTI_$kcpNtzrLjx+6(l*y7n?ryO)#f?mGx-b)St*dJ z$pZ@0L^?0(PWs1*{CXalnb5o=gYgT+v87cLauai2HGXt_DW>?^DtM?N6IrnJd!;?x z@@3YU7}ZeMH){h%pN;`}>6b^a?^O3BmcGPiUU+*is~J0)$Z+WaP1j8ijeEC8HZW*k z{0Hwn+B*h1?awXLbJ)aSW~JJj!mFdZg|yN4Q_oay!`t7Aj^1Fqa8680iPo!c-TL;> z?7pOOho9d&X(JWgcqj)ub0d)GsBqUgM3(16sG*wP)N$4p;-HDgS&#o@0f_I^MkXnn zY6|5dkZOqrfJyLVYa_8E*hoCfy%cJ#EWy;xe{xMbqi$eeS~$lT?Dz?2@V-qhITKX? zf!^ur(f7OV;dgHp07&Prr|D7H1r^W#ozOprvdR|w_&r}YpIDz2cd{DQBXaZi;&Pk` zX17thWx?zvb7&Pa!AfW7Q~FSIary^+qbP7n{26^eh{l=o*XAy*PQQ$^GN1G9sf>*l zQH|v{)+$K$z?*5VPyfWMXQ@Kj%y*xtJuujoobOdNCYIxKI`E4D%-m{y+9b}dIo1Pa zMyCR`q3uF_%RYV4jx*2O!jSfyenc>zOy9RXX^+yW9Ed9q^{t z3B_4~MtodP73oYrvht(50VrYiUj`-2gRB03|BJVhBJfM#eCb_bk9~SF2MkX;qRO7) zZu*PQPxjnZ^)htc?zOW1i3>3|QL1zrMc}ngmhvUh4(E!M-gADP$MP)jJLheO%q5kV zXw2RlnS@a7qRVa{Rh81kc(xs~`At9AdntywuM>a7zS0=3WqbxF@8q(w$3j)VO2jsV zvs^vd7f(=2ZaoBA?vN?1*NF6y@%QZEF_u-A8scv62;aEhq`$y;4u^GtxqEvG<9@g+ zv`NIoFav2Lg+^1&;0XA%oBQp=s|z|!sHjGgKT)G*Jyy=5ZA^mt@76P*jkuU3UgNM{ zCxppo)sGf4zjiz6TZ1nA07<3v1SnLDKW(nzHh$?emD&9<{x8Rr)99B< zL1$({{$^o4XbTh>%sAo=XSf3MAS5O930B0exUe5{wXX5;-Eo#QU>L-~s z3)#J=PCp(1canUv8LL-dW~4b=^sdLs?-{FuOdz~K*-QBZusTvmpZDBWmp7IaHr*=c z)`%w#nLJKG{cyYTJ@T@AV_LsRJ&4C5QUZS8KDrOKv99jO(Aw{V6!^&s#^L3C-u7vJ zG_93wiX|!}D@a3!lhBDs|H5E2pa9Ry-Ln)@24}9nfHauH-V#$@SG5XXJ z%}uT7u@;SHWr|cAeT+{d?Z^IEYlH0_uyw#CBfqvu|pe=MMc$tJ%wv`|WF%KFL%j!)SFv6;$HpIx#K` zv=TE2euHGIi5HRbC(*uL8K3%r2K^*JpMUx)%&gSurddq@$_xPgw_4MnSrqrIdX;2C ze(9o;Xl?}t4TLbub>dKFFU~VsrHLpyc6Ggc@E}+&FcW3u@NG=vW7`i#1lfsa5cp)% zux9d@kZD;dm|uRNUY7`ApPTADUiYIE=l#9VxhbhBi$J6e_Ja7_N)isV@%uc~KlPLT z!rZPtkU&mL60!}VCJ%2pOAxCux`Cq~v4@m+#E>)L9%9AiP87%J_z~k@Rt~r=_LG?1_Kxde^%T={Uq`lo;X4BP=?ZZfbp8WlH3z>K-L>k4 zqz)SOgInUI0_v_0H4BD%n#u$t9(L(%E8`9P#sNp?4R6WK z$~9A z%hJ8J zfpyaH{2}OdE-*#_t^1Jb-Df&WJ30Qs(@)%?VcM97xwm~E8j2K04RUMDOtJhjwwEfK z^0d(<3Htk24)FdU+%s-BXU->@s^@a{+>b5PMmz&-pHTh<7kA`Gr21%26W-1QJ@BZ2 zk*?o^`4RRDBr3HBSq|%=Jy+hP{h2iMwimqdH^v}@?2jJ`|L@!~zQb77a)^hjRq4sD zO$Sv^GmgY76gL8NkeS|eNpw5`e2yC>se?-ASYgqjrc_4TET)t4p z?L|6d!6|!@?Q}}J|EXw)yx>rpvHvLl1naGw?vs816VqUFSsb+ail>+IHW_&n8>=;& zM+T$innX+&CL^_+eLIsX6h5@KfBrP<dR0K)DrGZW+33vM7cZ%_e z{qZk?Lj!*fr(;03z+uh=O4ck1 zP{CNkjSNTW@3@g$yT&Din@TXucO@Il8#Pv8I#jvvau;UTVxvO9U#g$#A&D>`Jc~%XbYC}l26}vzgFVJ~ z6fI0m%NC!j`>ZX5L1!>c?`#_%%^Ap^&OhfAz{>9E37NLvzB^}PSUSD>o7DLwhNXqX z+#u2<&5yx}XwY06c#n-KQo%R*E7=Ab9Yj4`bZ|5#~` zD%x6Ueg=tM1S`$+a;3yuwpNpuGq4aEYcir%DzZw*O*@&+dHk8rziYooL+W@6p@sjJsqdj{9?^xpDvx zYo&RU3NPXT3per(V=;mLT8Fn{b=4(eJvFmHgsR* zj|J%Jkd_E|jB`Kqy}3n7%mdZ}^!h~0xsYP@oDkIQg5j3k_ns$-O7uRjJJxTW?c*@Y z7p`&GM)_4S8P1~vTx{wGv5o#sOSXJt!YH#Sk`rRoc`u2fW*&D2t?MY^KK|Q7=4~TX z;`Oz3uoI)Zi+&BB#>mbA-Af_6f49#8jOP=Eyv$_Q+)z2Ipr=o!!Fa$Z!5~*tqY%uJ zHH!GF2`KydXPIDj$;gMu98v{>GanXkW=CZ9{m~_*v*sH8)s7i_dvD5muw7FDwpkyC zY~IzmapY=v;fnL%Tk|3gvWUKzFSqEM2*dwx3zGDnuN+A5ZyZR{<*(7Ee>#wMLJ>-%WP{tY zR(*Y>&a^}0BmZ?E{nvr?UkB2E9Z3ImApId0|JQ*8GKBv+kof*DFf~8~Fst@0-YaWj za(IBXU0rj9Go$rTZlIa;0HxHm5werHGyFY%Xi%EN(*crGqhSjyKPmIH#DOj^Si=!o zFC~aqdj~-jyKZ6OLG~Y1MvypNTZ#*uL}1hJ_?OIx!h7(}xDNI%Xv-Jh=?+69F~ZKW zyF6zhs-Kz?GW4~=HwaqWAadIrFh|!4wzJS$SMY&$3o*OY!3W{y{_skk={WLT`8it|ua>ZasBj2{2GdcQp6 z-gfZM?uw!UEB6%oIR5oa=#~-kr6G&P0%X)@p`q-DOy#rCU`VpC^kV%50e6)cMK|fR z3xacVGPJ`DeUY`I+UQlr!2-CHRi#qY)N9~0LXgq(t=hwIh}&f>!$V_QIp55B09X}l z3$ek;gb#L`q2&b$IB(l0o(j2(cbNy5-$R~0ex4T}(khufcsz_0G(BC!j~D$p2`M>z zOBN}qgcag+)TWL%3P~I~yJmAOOw1KJRs5tAHQb4Re>>YAnU^!pnO-f^@_Ug*w z`FyF|6r_IIF`)~#i^^Up^3%@wJ?X7BC|j`C!Mq2R4u*EsL49Lla(z(Tlpm+gH%U6% zgYPhgjpju10LU2<>4bcp_14JpX%Est*--WI9dTW8WV!kUn6L=7wy#5J^|6NrTTqNp zeunpQ!y#T-QuyWU-G`I(`h?vzA7w)JDsnE4o3t3nBK-@LO?u{VjOm4IVKwv)DU3In z-yXG=kkOw93F`ulnrr_-qvk*IK`s%vMn5quuSv{xQ`)uawEgBt$Qq&_z^L?gjD>A5 z7~W8@*?12ig!~Cs_F{pR6~$pUHGc;y&!z&faw-5Tdso@Bz{<##$sqt%o)XnWKImBA zS08dy%#&P%xvpJp>dyEeazyPohi>2A;;^QsLnDX93Gz~I1i1(3uv=|5sO?QkT(0_5 z)OG+?MpHkI@b1U7QM2B5_~e%YuyPT^HG2`>mU?iXV^r$zU}a;Guo~*(#C!WZhA68+ zK$W@i{Lw!emjCCDGmub6s>sQIQzIa(Dp4Zl z{ut8An6>(F7qsOfCg1lkmW50u^c_+;0^N#TJ$iE%J0G?&T6*KuP2qZ4#^lQGQ}t=b zQY764K4XqAEdun#U{RQ@<18Kqb-%A%vvHQ=(0xPL1#yJh3uOh@nU5YR@=K+!l&VZg z4Uc&{!qn;cOt-}j-fCXzf(OwNvfA*YIAVYO08;T6oFx-aPY3=kb^G2^UH_O`WgWu* zFrRI!@xsC?Bj=Zp3b2t#nW_vy9#z1!_T}c z>qGdh-Rp<`*uB2;=k9fvysh2qeH~!;dg+1X4{g)V)c6HsRn>H+=ir^U)^J_8obVEp z4cKw(c|~RO0kZOQ{LuVC0|jI#YAv%4%osUB{s7lKd2o; zW2+E|7u^T&m3bgA+r=S>RDsseKlsY{yQR0!0lsp{AADs1h-UGXe>18CeC4Bm@RbwG zS$t(Ci?5uV(K=t=?yBOSz!_aL*WtTk-XF zC2R~4xMH(`D>nPzo}dPI(OE0^n7@-HRaUYj^64nopMZovkr6+9l`Mrml?ev{$pZyY zkuIx4Bp&=g>1rDk;V^`oM4TKNv_H+WsRA~!W9)Yp^0y&P? zCMQMsCAFBi4LaEup`*{g2f3sHHp<3a@9u7h%WSPbl-|~2`%4191GfVu|6)&+))e75 zhZFCkXrc4hb{%#YI?J(BoP^mn0{mrDSPxREij=L`Y!o3pGuLB)zuada4l{GHAYo?` zug{=@ly8GZONT{Tht^cTa-k=2{4Nr7_79o1<^E>`fPWJc$uitpvM>JsZ*+T0(wt2G zEB;VeuqmG>mr}o$msy`p`?f^i-&va75ziVPGJs0ywK6N>GN&CdHv=@v3%n1Cb@#+A zbQEv2RIj23kL^#?jVeeD=LiP~ypOn&517k(M`rut{$ws+_=>rl44BIpz+9e& z%U`f9D9=>+ow@u@!mUyPXAQP1PWRD0_sW9FS@MvNf95^m3XBv2yGQ4CMx@rF42+mfy@$uM4#+j>sF8lDudyRu$Z z!@+;jlcHGS3&)Z>MUVVEZEccGoc7;075_BOn;J!U?QG@$82>OPEH69XcqNz*p^Y0& z>_}{JbSQw(v(qKi0aT_BOx07Sh5u2uT?E7x?d`|3z8##~#ezlc@aa&${ioDlJHW~g zoQ^*|{_W4ko@T+KjIs~sX5(-ohrgMJy}RuSn#U%3xVc^%HAXHX9~72|E=~(lYcOwu zo9M6KFy?Wis6WSHJDMAeLL#XVdLN=|=s9R8H9ItwnnOl@U`_2_^u&`jK)iDpyy^v+@A(Kx~st9!p`ZU$0`VUk3|~_BU6x!s1f4 z)~|cPVp!|fuVkkDv3`9HtY3d8v9*5PEXqE*Rk`QOkF53U`Va3)ADxmJcj=6B7}!zn zqY{;0vbBCaJz|x;>#i!tF5V;CBul9s+c_lOcPiReQCmZy0W<{CF^Xv)jiz>k)ovTD z*w;|%KGd?lKF{<>NNOgaBBk(3>F%{%$=(|6pX~Z~NBcou^zWm#K}MNvTJR#@d%sq_FP*cS-=D-eiC4F4T<$7(fQ$7HXC8dI!)TGu}0$3X$ zg_ra59*4A++w`yU= zZ|`4y1O`tu-Wo&T!e%lJca+i8o23xP^+m8C==S{Y8D-x8Rz}Ib4S~;251x3pr4RH` zyyt6-^jl>Ih^qh~dk~#&ALPeytmlGoDyh77K@$@R@o;B2)e$ikDW0NEP+rU~=z!IR zzlI;(1!Zz(n_W*y-5QM4aR!5t=B3d}P^nSzgZst?dTz|_2~2c(*nWjmy=82>ww5o6 z#Y&R5>>;_Fj`PHGO0}M7fU{H+LZ8r4O9v9ayo%df`=8^JEW|RX5$6{=(84%}!IFnc z_|nDm60_q!m{dxTF9(7co~V%jGuKyj$-iP|frzwCL0$jvYEFh#mK?DEXLcvO04GwRg^4gW4UhyTDZ~=?oCy{M&87wA!8PXYT)S)_r``?g-|z$k`8}dCwR3RY9f*LevkP zbG=pLXN{wnN<(G$4yAC5Y(Vg;`XYMC_ODK`OWYd3nmV+t=1}^b0sF7Yu6a+r=+^-~ zo`tWwogN$iZ5AXf4o+sze99ysS^l9_{);M^BK)^h70PS-=xD8}cqzPHYbV2ksD`W%TAo^Q7%c)I>9{k!Qb=-11~nQ!PzmAa z0aVhv)^Cn}HGBC##s3FEX&VduCygIjV$j$H=Vp<-5;igUuZ)8M&FGQhXU_Z9^=M57 zCj(EkBosUet6V23qqTQ1OyaH#sYq;eNm~^_)Z53Z!cNAwE7gk-~I0B4?|{;jt$wiZmj)+o5e`0ek`9HSf!xwj9xz| z)2Ek-Y%9Nu8^jGZBo^_xn@aBD<=+3RlEpT8QBDHaHi_BxE6Ksnk(biKwEFs_#ZfR} zMmS|9A~c5{T~8o13?BouWy+(1gZ=iY7{tqY%l<>nM+7LE4|mW{_+9~PXElgNm*aZu zJ%BI4anDy50r)TW{kXl^Wo`63?o@{EVRqS!rJwB6{<>4Iod;iCJAcacyE58_e=0M` zuH(gdyNOTF$TAT^(}mR#0i-Fq)+eBCO!*bA-Y394xq0=?pb?Rw5ytzO;n$X?#;H_X zs0MJ$4%sHw*>a2f%-ywe@+eI?op8Uqt0CgB*$A8J?HX$nHu6-4k}OvvBu2zblzl9pnX+)mRX%)XtM5V96C=0pwAW@8D-I0fBI zLJk7<<7B_7BgV6O>L9#Xd|3yrXg>qAnfhc3VYN>&Y$$dkovM!6c;Ntd{0AdnZ$CJr z$J@sKl3o6Mbfs8lB(;wO9rxxDbtRrI2Xs3y9&wF7gnIpg3M4Nnvyt^es4$dg4Rxi2+GsJqgtD-66zlf1v zK(B1P6~AQKo^QKHRbNY`?pS*V<3&fs3Dv9DQ|{!Y3a`lR+{eb#B3Vs8I3{zc4=({d zyT3WPSo7F)LIxVzDD7CKF|$b>(o$$;GyVG2^c)dIsN4!c za`}JswSgJc2zqRNYZn4oalX{^m`PVoefGJz!KZ%sTQ;vz7*KtyC#`Fm>I2$eVUbAK~Bc$s?dNpcmhc0PxSxVzCO)~p}k&{8j|yJsg9*k-o&?MzcL33W@(F>3{2KP39OVRWisrxzWdqevru-~r0AIZ}JAB-$2{yV58tMVzQ*PLA1w zQUeX61Rqkev!hlIT8!78)~_W#Y;P1uG3hQ_i`s_}nMz8-=-v!QoU_+vD{)+B_c7)D z++-t0Yq!-)^LSg2S3)g6TEBtL@jE8rids%`N4&VGslp>06-s+iX6D}3q5olWY;-Ul zk^Y0A0v`(AHAi^pvmLOPDf~iE^T~UqA=r3z@pB@02XXV6KB3n)_`Zsyyl%;P=AU`@OuOmptf8Qs-^prw7v6q zky_!@9SlA_KT>oAkA=B=_~Mr=X&zpc77K~@RrCbqU2@EJ9QEhxLf5Jn`%9wH+9lzT z29H)!Eq1NR%_z`T5et`f-@zUHO4s!DFoE-k;_|fVY4rrX;|=-0gsYDp?&}yOYaC?O z#a|OyUalT|P}ZRD?0RuFrWu_>b~h@^4UN^;R`2Rih05t(a_|XJ$VJl;rTqRKl7!Ey zkbvdZE0u#ADfUr{kRk{S;FtS@{()as6a~-J9<0L9U$3t}J}91Kg|Cx&?kj(b#MfD0 zT|dhI9i>`OB{+b~^so!Slnt0B#gQqhP1n`X^K^gnwsEOcYN^XkF-p{%E6-zslu!=P zp+VJM8VpXzvihd8KQxrxh#g3UG+R3)3Wv zXaK;h>@=o`jrW25$k1v!1C^r}IFG62P8+qH*Mh&UkIhu&iOKC*Yx1~B>dE!G6m?@k zSwbnUJ50n>WqcO^Ff;x>7DZv!Nj1q?{r%PNNr2)#*0J2n^IrMOnyVVUwEA;3do%DQ;k^_>Sp0~NVCkKYWgw~+Ej<86+v1gbF*4& z5VwOixvaPKC<&?B$fnyImKBWVyei@Dkm_UMPPmev&KWFdVZQxf^IG31!t!LaxpoOn zYP>E+Pz<@en2t`FrLR8*L@`U{*vZ$ksK=d8^^=%vYo$))w zP~;s&=j~a+H%E^C#>~aAkE|C!KH6o2SP%7C9P7YqU%wt#L+!>FR|wfk5=vH5+#YWV z-{K=$N!acVQ->GcVK}@PJj*=x=2}X$NRyQd?Vy3?(oBx=o(8;Dlm&E@-@+zUYfi^v zxy`1(>C3F9v8Xtybw2X-&|1_J&$Ou)^w8Q=bmw60RiJ?)y8juLj)JfxxxGpIyRh_t z6_&v+8SY|EPzU&^T) zQP@L$mdh3?D^KtBhZ=rzRcNa7?1)c?!?ki0@#5O>NM+$lmE~ohsU2vGAI*h5)JSMC zl?L6Gj@-LFExGEHqLP&a{vxKeLjcJl@NKLws)abGCqYWq*RM&*K*JE&_%#DEQWw-9 zO@05E>v{M;bS~}2+nZmUkNouMnT(t@-GaT&$L}788XVnjo;^Z)+BcG16Dot3G?fnG zMb7r3Y!z|I#)v!~iLq`c`+m)1D)gH|7*0>TmbG5%He^Zl%BU4AbH!%?oq1IjDle%VVsO4~xj#PEkAVcmTb=c9F zgdJQJo;-nLHt?!Gu@DFGC8_F_sfF|TuDpV8rtGa8Zi*nAvIYyZ_h(QMJrQ~2-yE5= zg~!cnO(rIp6>A3f{6^bSG*uUL{#UXl@R-H!;8A>Mk_Gz zLrOV57RkSR8(*XqN`5Z>Y) z$)%Y*L4soUQ;|%swqC(=c+19m4_8?ryG=92eET+KAzc`$R!z5U@4lT zAk6Ji-~n?6$$s1a`1@yukmPwlRxdqJ6L0ToqrQj(s+e0E{mNfw7` z>-#T^-Ub})4J|=h^%4KdN}+MmmwTBMWh}0`W<46}qH%^r`7$(ozWqf@lYPwSGnNHD zG>sVt3-DoCHaSe`Yi<{}H?R3tzxzi{&ARmQa%@kJTbHNjx>}%0dcu%YEdjJkTWTRa zd44rHVAhi|RiKB98%o9LhYg2VV>4W{mSW49-QJZjFM7NK+uqr@aJQ9*Yj1OC0Yd8H@Jwj0LGVxSLj)?9yMP*3-KzfSFK9X?(Y@= zaX+ekeIVaqpsc_j75QiV+$>A-8C3r99fO&=MX5#Pmfz-E^%2;WQT6q-a_+k+a@h^@tn@jY=)Eea}m<1 z$I*bDdMmcjxF3+$ICgBV4cHGuj)D88G;bMz7ScXtpdo$hOn~`{n_Ki5jGOmQHrU?m z@8A87^lj=A@58n(kiUS{ot6lp1>78zq0$j3+PfzdCa0YJyxed;WSf|0mrVPTb%^-; z7>NCHzbWA$8ggH*E+Js-AaSjz;Z)$Pr}{zuFm*~PLh=;|m6ry1OGufR+BM-*lL7hC zH^?SogTk7V?FnfR@~K^L65ncP-(2Fs;hJ4ywH_@mQR(5>u}Ew3i$MW6vUH^{oj-Z8 zm_wtTk5u$>LMcp6V{88a! z>Wk^~kUJ6f*>=T&SJ&AXcpc1m9_FhXg){geNIDJ)fBCEE{wq4nJgYq}m@f+k-||8a z5a_vD2U>*~HolFbFfic>6O&w=t~ zQs7+qdI zn!JE~T=%x*`6ReKP8w@de@@_L{ec9(v1rv#gbO>35Dpwy9@|`Y*h% z?(~Z)SGrRYFsYrAR<5nmmoYpkNH3>`1>(xCJEZ@_Whyu=lZ5&%jqBPEB-7A&zUkF$ zGJ*sI(+r59d%iFubz;&IQx`2Wl_UAwak4-!tljN)+UVnzwT*KtgeOn&7)VZaLAK;` z4=Wg@?-VYXd;@kpg%AEB881_`lDkiTRI*7Gy2v*+jn>w{_O%Yuiw$Xt+tZqjkwlzbC$@TyuGe`*{HE-XgWlVJ0<@<@i} zTp8R*DE~62T8q7tLm|I=0KkzQfD{VYwt6JY;zZBi9f)dhv=?w&5j1M`2w2ZmV3%G0 z<#o6A<;ye;s3h~K3RKUY0T z{}{?=@ctoXlaxs$sVb~6dZ!T(YTvZMCA@V2>3~Cg=|)}gTWk!??XCqSiKG8UyA<-(X*qYJFV=eaLerif8$M?Ck<_)gw@>Y8H7Oob2@sEQdt<5;!biL4C7$eHr(eWK}4IgpCO+BS_Nn=WZ;Yfx_1YBp{rO z8KcTtey>u@W!giKZi^s z^VH9icL|QQtd^`Qt~V>xSoWo94zMkKHc)tGAYXoKU@vQqZ-(nQ_|Mp#3{;UDXNyf> zv~&|;aTZSHFInjci`be>k@#4?kT6Ev6R>e*{DWk2=y7oKhUeW|5%{(my=Kg+MlmKi z#L%3)Uf641cG<4I-Z4Z9EqP+H021W00j5R^yq(enVdA*e483r;C7ENPk*C@fQ7Y1T zgd}a0l%~F9F|12mBV0jSFJ7GWbdAz6ump4KP~Qe6)Y$%O&>o#VWCeo02oaSIcP4yZ zm6Z2!KzO-GzW;goG78_HcUyAOH?(cp}{JCdEX@Uy8a$^5qOEqEWd$> zzi6d|dkfq+pkZyf)sTllI88X=h{CS zrG>Haq!~lki(KLpEmTXKiB=mU5*s#FPwzUbdoyQCn{RpzcJ~CZklA&Pf*Gc@OI_ED zsUG|ve)+-RlcDNj7@K}!&;-C|$|+!IqX9(YfeW=cJDHWib~VAI2%UKwU#{&C`U9fj zyafjAyzped3jQ0Xo)q}-Fx|Vh`HV|e!uNBa>*VG$a%BJUbH;clR zmS1+`ea!K)J9_jZ?-(PDmY05m=Eu7aZ>tmwoqORcshHQcH^Bn7tVNK#KShPNhz77J zJuGQ@eQYrD++rBLB`+F6*dG_q>A6hRvp1sf_o!~C5Xh5O@z^&1;(n?aSa@I*^bpUB>QiTL8uhQwcAi2QZ&H~(~vex@K z;aq`WYx6Y#sQ2%l2-?AOJWSm8j;eU0h^glc;mUE^Rgm4^5C^Y0w~M zJWzM)ExRn>c)l+aF%<`>^pVktrOnh2Eg_p z?own9U~qy2p|5l*+0hUD{YkguNj{PDXbl$0cv zi0z+ezUlqB)gw~@tf9(Q2h*r480{XMkDoYVdpyM-66jG^$Sh*m5Su!7q4JjdPB|yz z(HQmobkCp~(~P~;?YU0}NLU`587;_92t@UE&y^G`hZwBsvve-Xp~cza`b{GTFuxkL zZ)uP0u7hf|PFNM5NcT(4Au*xvMm#fG7Im-ux}7spwS9YV7)Bvz0ZiI2S8I$VB?&5_ zDMc+K##WTFW44qsc}KISwo1E^K=7?Dn%YMJYF>c(*mLLA7J>(VW^^m7Z!~cA-|nah zPq4*CSdAJcsXPOXf>?5HrPGTqPh_pXu)lZI0?^#!02yIkP8*H%%dA`k$=dRLLWKun zt1?4S%!nis$W$91A+HQFojZPumH%)_Ph z*5Yx#b2qezwiKG#6eE`t^oyipY#oAjclfwhs~6~Jrp9a0 z5@9LyKDF*_pe&Ch=lGg?l&F37O37x|Ty=4oWxinXjBk=`qZHA?NySoAyl-&3sR~?< z<01c;*%OWdx$?s?q4{qs2H^v28J1f?FuGDHq-PD_G3T7Z)Idput!AeUHnR2%T|AI~ zdBAnR6&oE{So$8MJEj|eK=Es&e8uZzP{a8tC+%CWoX1!MfMO+9Az(3bA{p6s0u)L! zWmN;Gw$c_*UB65A9*r0y@o3KE=bFO1xJ+XeU{+QE^a)p4+QjM711@Szz@HaZ^#W{8 zK_}sIN}DG4{28aaX0JbszY3gqX7Y)(i3n7`pbq+!pw_89LJ-_1kkP^B z0MD)t0eGHquTwi#K=Jp*>C9-gqF9=Gz{)xcZzS$FTG-lpjsL)l;wIMLq<0NRw64{HZF`h(gLwx@R{+8NmFKmmS6i0n`~>Gq`!NP zHVU_{j8;%O&eehS@9TbJ)RLD1?iVdxOUGp${j{*MM@j=Bn3g2q(z?_jT!cSUcAK;a z&#poB+|}wiw`cO6mzomI<;n)ed$fF?x!_M(+k%hmF?Z;1wUriDi70}@{Nak3@lWG* zUv*ZwJ+76m@9MEsG3FAHoIJ!J-BI(pBoVj z3z%T>CcMV#H^3J`KHx>c+^g9(_b2rR`{g#gT`>RB1nyNexOKxlo8?N~&+7o0g-(c_ z1huofKk0aW1#_+vYkH}KQZKRL@=m_fmI(exkG<0=?!3U-cb9iov~PslahV>Y$cH#Ow>H_h9I1;T?q{<8D)^$0#p2JP%7% zg)iNyvY><1>VVUWcu=dd3THat+26nblxrLkr|osvi2p!-ehmzu1DSP-?V{|;0&Oit zF4yW=3P^Qaj5;ZPj+7eEQ>)|TR3seA7Ry46%J-Kz%0K}c?N}pctUoE$Z?60usJxtH zeSk{DY=pMO*dB2TOmIxdO*8b9v3^1}0d(lOk{?!~ap0xSRL0hX39J<9UTJ2rC*4?l zO64}SjFdxUBKRv!M5_)RN4^ZQI|f0*lk&uz#_#jbzr3Dxqxjljw81JdFwm^eLOR}UpGgutBO*R^TXq)uA02AHPLvaA<8kmy*A!BDY(*>{VC(l4-x$!T8GwsyvQaJ*BG9 zMoHZtcqxzQ0NcD%gVE3k)0RVytIDhVs2LU$W^uz*ntXQQOq!qTC4><}up~aso75g7 zJW%_tB0$O8;y*~|xJ&^!^yyqvFl${{_RY!?zt9t+y=gAYPXH35S@=;PpG7%mNicyU zm2{9+3GmR{LfHhl4K15NBY`_?cvV_pSr#N{%1N(-Lhno38WxMXx9b!x#jT%+f9^60 zigTGTi2!dp2qnyl4*TABcA;k|Ln7eD0C3r?8A3tEfJ^<}K?7Xt!RqsD{MFLdk4*0X z>CVLcybXV^+taJi`Hl#GA8j7>2e4~xsh1{kuOhfiKj=T{1K9WWYI%d$1+QIR5$v*n zY_kdw!!kd6v72}exazaOXw5&wS)O{8_OZ>upR@t!m8ENo=)f7S?y?;FBXkxvYl%V5 z!vWzSf!6Xd7`MdYK+R1O0W1@`;{1{#fm*)e6)6Oj0Gs#bmwIlcB(6GgnUdBG;`jcg zWBu`=Hj0lmjI~O>U(!9fe%mIwI`ixU3eCUZr)G8kw!v%LUWkj;3BQjGLoygWPA1Cj z{nH5TVAyb?K_IF7NliC@h&t$W=mqrLtW2>+7+D-M_iGxr77t{U6lSk_}Bm zG!iz|pQMYUiw4UxKufYnM|s z6+bsTi?ON#k)gsL>>!)FbRj)xqSro6t_Ca~jAU0^`^5u*?U=e1kk@*4oPfe@g4ba0stFC>h=9;7yQEylLsteSK@mO#++X5Vt_Mi?`T_ z3U^IupOCDR!L+AzMRX~YU?&la!V6)^KupNST@175eqO=JCY3I*2GG=Q9q*-ei~-y}5L(ggjm@R1jH&B{dF76UXJ3CV4D zdHGbMYZT7TdZMfs4zuyOf%L>Bf1eh+6eEdfN`Qw|BV(wp>rn+tHNIelPQX~lJ>!6L zBC{R)Li`B;Lrv+ivDb@yyd$lVYIcp)g8nwVEF2CB%yA1Gncm#jmv#}jBff1$3my)> za?;vowz%gLEAw13-dr{gttW7@%MRq)j+~!2SOZ%aaw|ivf8{bw1qtX9h!tM!9HO?R zL9AT>q5TNoP?0mNnsM%Mm8d?LbzJ@2?_4u@AiuVOO;GsKvUamfUe#3qc(ATydWso7F+oF{z zA|L``4k!uHieV;Qao?meha+9r0Nwe-13JDPI6eaG7sSz~XsmL~n4#Wyb^LrJ5JsU-@RfV3<0d zzqmzvY32Laiml398M3zINNZUA3WJ}49w#<*Gv^oh3Txr`*h~M<55$-G-aIr1MVq`= zBg;ED_xqE^crcMlc4@vxjxzpaJO52sIZ1gfLxv5g{q4DMUOxf(_gDm_$*l)Y>C#oV zfQPeN%IOS4udrACpaKlafg(i8fXF&0vabz<#Mjbsxycm3A z9|Svau;({uOpb9IF-7<^dEKy6La}hxtimB!K2WwjK|A7Qagon&{m1|NRVVloKp?r4 zP|;a*%H??CZlyMb=CBzhhr6*BbYrTN(}A_*8IFPc{!7Qc3vQm}LET8DHsA`z!T<_C z75i>c%;Ia=5qmVPP1zhFrvGy1<%8C~-Mzb~IJwv&#p*-L@9UnRT2l8Y)q!H^v_e=e z_4W#D#TrF%q;1}G+I{d}WVVwI1uM0k0DDoV(CaJyCWy+R9Wo@eqlGKeGUc=vAu-t8 z1Hj8k0j#%5UgI>^g=%|y!Us0Q@!U8uEV|E)@67{g6_d`g?{P7~Pnv4R86;)2WnyKiBT}3BV2D%=TVg7o>x;J~Cul>zsL?ftz?7 zoMqxQ%T2DoBS6zkMXFB|cb>$Rl&02YfB*K~xlCwU{8wB$TH~a!98S&O=WV(59%-WI zff;D=n1U8hydm{sT!=Xg4;U7`21O`TmvLJZRc&kYml9~gQ#dyx&}aS7cC_ozcK3s# zr>pU($M@|K6g7vQp^;pAFZ&h1@F{0UTrb{uTh!t@>hmq>_PD`f1=Hb^2w<`83k4}@ z)wZdBA|-)M?2oRD0Ri%3QDC7Vb@72@Z3$1hf9Y*8;cY)r01|lihqY~u zH#xr)SS{jx7_ zUYOY?1hrsW@nPmat*gW&D88(!P~XZ&MY4DWLk~UkXvLra2RgU-mJa<30W7cMh8P>5 za=`|ZBuV!X0L|NN+B@~Tyx*fn{&X}n)VZE|`AtMoc$IgD&a=b8MwY4PK+&L6JPF-@ z_R-Ng(zBXy$?-YWWRIKKly!1 z{hIYV{RRFTC};Jr=%{<`Mp;G%zarbr=;og)y?7(m9MXBemT>uekPpp|k0PL+!X=gH zAHOZx9UVM-rd|G|2O$Tps45t=3lo<81H=wn1%MWhO|L&sVs@$VzEL>gDG=vo#vd1l zJ0>X>oSJE@MoMa$>{?7qt+IdXE)VuP@%KSLuh0afLMga9Qg98f*pj3Tn?3SgKNzeB zyyj5zw@}}~wACSxGqw&DkA#AbaMfkD4_JWw{0y>AA&c4YW((*pp9B5-6VFY|+Fkh7 zAu@M_?5OASOXmP05ExB2Xp$&Wdyoe#b(@{%TyXJMQco!D#ukG}pgIPcct(#*kh!>- z7c)TdS`nrTvO&N$TceIt?2b6Sw?9Kgvi4N+?_e3PwDepa0CPb{Uu?toTfJlR@!l*N za6};Qd&}aagL))?UOfBs&EYLz5tm@#6)$gT%r>T5iXSmyZ3dH9-6#V5OJJj<(}e~0 zpU1ZVqQY=+h??_nzXA@O2^{+42dQ-m@PI>JdAHDN7txF(&|Q6!D@0n|O+m2>j`?cY z{c69W>4)~`%h*xL6WN3=3;m95%z*{jc6WJsnvxff=D{LkzPB%uUyW1?eCwfKlptl2 z>@ZE?Dclkxq<3qb(r>7$&BJ8f=J?-dB*P`=EGh*9W!nNU5{p7u^TuRdcKlUhG>&|K zBMC!23ao4R?tNlLx}8U0C}A=A-N{$?M;z^B&MnVQr8|3C;)UgfQqldftOdPsgVQG8 z)_wcU-oNGze7^>*IHNVbeg727_NpcSO{vWtg8we0YO=iO$QZC1bL{0W_ee(d2>Im^ zLxVG&wQ^Cr@AeheiXGXf)lt!tG-biQN3l#S>h`%IukRj zX{W%rr9i0vghahm_&u-_AD_yCf8q)Uq$%vA;Nd`sY_X^MJ4mSSP#>H#tt(SQjjxp; zI&hB;9k5VqFb&Us?f$A_j_RN5JUktrAV@~hugtyu!8*i58#^;noIx_=lHC)`@U^~v z?bYpi+6d5mvr5Kx`kx*iB61T_DHGd^3o)tmVir%Hn*I@9UKgqpz880e8OPm3wxDM^F$w)Raoyw0}NDH=4Z;1ubW|;yVwsD$DJU zSCP)|JWf+qovDZ+Xh5PmLRvaA+9o334*(tf#8&=axzcqH*On|u88J4Bg6etgT82+D zemy3OM+rLf)Mj-_|zr37&#sc6ky-~|0=;qc-@U`j}+vt00{!mjNDitbf zHx;N1Ea*E47Ke~{N9!66+4SAp_RAiDTJgJsf1-t9V2_Dn)A6Oj4u-4npn`BD22&5i zH>_R)LXm2!%dL?oXWFQ%D>mIBY4u-P3If^Up4b;_jc2ER5xX=yeB^~h=jY>Hb4bnu zj{zdWG{@e(aQ?+l8{_?(@T>UE5iESgg~y4?{7jo?ccvJoSmANw)zM&86`v;zF!r1+ z*RQJ+0h#uxoLt8d;Dxf%zf%8`w)zL3RV~(YBOn{9FCnmsd8dgzpfBhXd6eb{Q|3sW ziHr=mHk$wXq75rQ+yy@|VG93xg6|wNyuPU;)sSg&xAFSL2@jG)ZL9o$I`8Db%Xl_x zrmk$_FvR{i@YDp9Ne;N)HA-h9%e%@bm%F-kyeteTJqpR}o9%&az3jlwq+B~-JF2kX zsRIwX*R=t(G&lolwUwcmcOpnD$>skLa4Zx7=j$sM|7qK}uEn;mKpF5=L!oxxa&qLw z`HG6U#XYq^$#yJG8_t!>;ErXAn%&wZV#?aF|I(Y&OB!%Hnz&gxki)thLBChtA zDl+*f01Kf-E7KI@9|ZwPF<9)9(bw4!VRE!14pAF4M%8pO1Ffa^{n~>WQGOGe%BIx= ztopfdx9S+c9O|*V`bL4AKPwvp-6vZg+3)Em->i7e(a!|zvA<)rr%!WFL@p^-z4p^J z7I63OCJZZUwP7$R3c0J_8A{70=g*xeJo&w%aY;CsPYZY+kYWJ*<80jod$CRP zQ0dXS?foR@5SVO{AA{JIb;DE|aeYrq=Fjisw4)`vZ&^B876KTi06!*{K69cFbgTy)=nv*@W>ut^*)I5>WyUf%^0+}dfP zZo=gBm<9G0yo9@3Qg02_ayEvR(5j<&)^Gk(03pfD=vi2<21_Rc%r@@5I zGa-}d-&cXK^ZI|1U_Jm~)0&XLXP{iO61_Z`d{3|TpzB0I>GOLkmum{)pjhAX_(U45-r!2YfFrjh&;k_YhSFAEj2 z{9|4$+40BYaK_q0haOBz+4h;=WKNL|>6d6=^-?RawEZBs#IQHti3SXyUuVy7R;Gc~ z2nWy67FT3VG5S)?TwW?5&MB6vJjZaqIezx_3_B|{JboK=G1DZVzc6$)@}%**&qu&O z-j-7L#cE{8Z+54DW2DNa9~huT&iO>i#tgJX`XnXl?>VRf5=Zvhk67%Oh5L4XvfA#q z=cSkX%Bkz&_y-YY$%0bCGB5nwQmq-2HrJl*zlQc^xw(kmUP@NQ3!OY{y2&;&y|Lo) z`q3q&Wy_Y9T5?@$Kd#H+)f{Sl(Cv8vKb~Lp(^U2MqM!X&l7GMPBZ9jtWq6nJ&abau zHEO!FQ}5`8!=}skt!=(>RZsKYU8gmyOP6=;tItIEu2bu#58RyeAp7OV2Ofp8Z%v) zmx@!7?SZDE6vzC_iMy*+DNSCasP;zls5ge8i;5uQ)mDVqpcAXMcfGQ1;;!Xd8>WFH zw-KBuJ`MXm_xA1E$E0Ix|NPSrALJy}N%&(G2LAMC7*2b5HCXGKrP$Arr9eNj(oaX9 z6JGWaU-nvB3RZ7l0=a9>yRPEunU`#qe3Dge*IDetas`V4dKVk@Z2`HFt>DG6x75yT zaSX+cm_XPwSEc}BF`%HY^xj+oY?qii`O@F&#q9Z|h=@KIL$TDwZ@qzycNebt1g@Dq zyl?5n*-o(ki$JP9(08Zyz(UR*K!?3Wk6PlR=Ei0Lz8~(_1XU> z@s!sdTHxGSay6HcUZBRhRmb4T58uSF54+DViDK9xEK1D+esrlu!um?FIjUq~=@{5~ zc}5xowe_J?FEWglJV!!=i)_&n6FBdW2l(+Uom^t2wO)jpv+_`?fTc%?=^~lLE&cR% z>G#|USv8BZbfug>_?FD3!(iN zf?D7{GqT16CWH}3bO_XbJ7?N-H{T`@$C0m^>!F5i87+f{uf&E$Y0a^pw&Ub}@GRtX z&`~iK+uEP0@|9^=QFE@JUc#;prBzvWrKcbmHD#X#+KcKfY-pNxoM8*E#os~ftrrtm z!ffe&&NEtFX2xy(Mw3CmBir#Wt{ zZ1UL5CLb7o+EZvl%B(?IR|u*{th61L`|S1MadAQfXNP!U4pJpeY^DYgINjHY(Gyy4 z@#qrD#g4p+y6%DHlWc)C@6<%#skt9HUHw>X5jvN%0j)(b7>wt57Z_b_S%=uQZJCuu zKu|00D3fh*-QM81d&pdJWor1WeBX|=Y$l{F7&bnFG7D03))_8nPA-OI)}S*3vpizX z-%Qwjdv${`B1m$Sbb)+VYv%yrl_*eqidK=M%W;h)Ua?T0#Wz&mX;i z{R`2`_9fZ5-{<~$7|Xy9X2t(_jNo(*yAAHpw64yA)Y2A5Tg3~8wkh>4gn>cfK(3Kr ziun)>j=kpNf3essYp%N`Vo_oj*@);A&=C$Jg^2IOZ_&iA-nt%H!8+M$SIeFAy3;xH zwhtSlZaQmo)?YV*Ffj;a%9JPSgf}A^R|6HbPHdZ^mBzQ5I;{X*ykU326Yf*;{)e3D z>C?2*ZMT!On|e%9l{MQSyPO(I;88bFOoude*SRjkM0j@hPMU-cIU7{r?CIs>Gee8{ z^40Cz`_}~}mX+A)j7*CPXc#;m28EUZ=`a5U>qY1yZfgCl51t1Yjta1ku=RBfmVfyp zg*g>m+ofr}Mf&O#^u3D$Kf155xwD%OeCC-3z4e^jRN9WIH08HMMrjNT2{(}(#XDj) zkCR^;)Xn2~loyUGO;pG+b%tSFVt+Pw`pkYX(o+^avu(OQBxZT|1PZDO6>n=7YP|jF zSdEku)lNiE675DsH0FA$jQx9nt8y_P#Q{9f~ne4H=p0l^B zHICbIuz>ReKY{!!oa;G1v1xQ8B0B2;b%r97L>~@r5LweSL>)(3dSo;;XTg}QnigqNd&QWz1COI$C1dM+grM$of)Ro|X?a#9SFxETT_T78J9la!pHh z(6BJL!^+yau*W{WnRaD=UAK8)8fOq8`}Y0gJwlqqf+L!1t_uBlLSP@tmTnfay+P*g{* zpC^wb3818|uuez2LCI8YGvZpR&w zWDW6%IwIgw7gDeBj#GS@=4R>$iqZ}73A86ZRE)UCzj zb9#S9@HvGy8sM%@{zqq2@)hts1>=~A?vKtob=TdMX_mXJ_kBFC4`#Sd$LWxYI>;8o z!WwK#ToF{@vK>ej;<*jrx0*)rJWqGB$%1#|EvaIGmsw`V*z+clFsH2(>T$*X6}cR- z%jc59vj*cIc`&Y`e`gtv_gaB(c;2?)fT^1gf5&$R7M+j#Fvd@{#t*v8+rGrhx4nRq ztL#SCXgOdoXPMsqU<@GrhYWp)ZF22kA~c=Q5mjUFtb?8?A&stW-~UL`_spl{kQoZ_1e0bKEnlN_2J^X z(;*~B8HFK+!J*N?GVQnbP`UUQab4Vixs5FWsr)8rvVAw2Z z7uI36z^EX$rT8Xo8#Ua72!W68DX=5GD;g`J?<_4247xgJ&MPG1Q}YAQIZ|apSaSWZ zW@Z!J)H~0*i7*js8`Y}?@iPp{{^BoxF}MqugsED|^e2a;c-&$EEa-3WOPwE0Xz=Xv z^S;i;FV}o_<(xW~AAVC8CKzs}izYgQeWNZe8>)fTs8o~PGlH2HmR=&K+ga3g^Ey1e z^(%W9!bzrGWaogG%S{=f)&{J8Smh&rW#Yc+QjQWNdS!_-U&bgODwjkD%oXSkBLh(g zM@sVKhS5@ronZljg<548lksLT6RjP^uKTji4Wl#zHh;Gp!-n_Gwy;-BXDay$Er*Dj zo4Eld0(N5y4pkW+WHxSDCFg?wL!jmG$Pj%B2QzUHri{&{j%JLoF>5BAGdcEl8s|M( z3**<%J&HL)^XQ}C=k=F%A5?^;j~TNiI1j&tAOCVe?{7+pzT!rW9fS-xb+xc6Rowx*49KL&_sj@tkyKD$g{ zo3)dd$k|<-lAWtUs?>5o)nuV_MC?X(%O?Fr9zVDHdFj%T(23G=N?BL!MGZpin7-CG zf4yLxpTahheO`YO#1xOrJ>V?LaPOv!KAdA6Sq;Q~>z~GM{G(&KKv|UyRKZl@KuDJ~ z7|xnbA13YQFXKGnoI;^fwqfD^hFx#{D%yE29cY83T-Z#Rn$64jo6=pv2V}DQvqXdPwnWo# z^`ViCo)}NWm5a1JxEdK@S=dd6A3jWCu*#=XrulXb-oJr@gynIQnJBy(2*o9WE`}aAdY=|8x~dK83R{$E<~hx3E+~GB)Rg$NFsfH z(4)vXBq$w5=y~Nyvgd49#RescGx7YBbCNfI$6gC@V{7k&Ux(CpyJ5eaW9BZ3+^n30 z6WW*VT6E2x2|zX)mQn_*0nf&7k_`<*)^kh^_{rd3|nko*j zWeAz}(T9C-XPlh6bH>O>$C$9NnGRn8&(N0W=cXEooKGV~NLSZByEAy^K1$ z8_1|f=+CyMKaS}f`8g)~*|Fz{j+9?lYi-&wch#a6;%jYy;MEOv?wjr{!)_94rEkPho0l*V;{%%w_*i^?gnKrBC3!>T>C5Spl z$-{#@pbGZG4*5St5o5WB1iT)InITdolq9>tb*ag|EyBt-{_F?do==F;ubdWqF0XwBi} z{#y9Vb?`NG2(y#|rw;NH{8J#(6gTvt1!V8Fd)jhpl);2o=re2UJ`*>snV=kMhrfm>Ig)&5NUq+=bUEZqOq>*bAis*40qp4 zZ?_!)Zp^Ptj4>ZUPzNVr{Mq1_gLIfCATwc!Dc$ybVetB+3@n~CP8@r(zhxUDeDUEv z^MHx7jiJnA5OUf@3=G$`rKcbc4_A$rX%_%x&Sv8LQB}JN&Mv;EK>`*&5Z43NKcGny zS#1(1UAT|2*2x)*)V7D{I0pK1o;2JEE+AXVZoAt#)?IsO)*o_c;q@act2pGug65Odh#3I7OG>m5w?5dfaBij8{?ZxB@Fg4FH+WF$s zK;Nhc^oF(fJ{rmggs~tV7*?S4_x?Y@ACv<8L4MKpS5f;%pvS!r^bZcCI{@AlHtc3( zNV08meHMUFz2{R&j`P)x`L9*{igg+-ahFOFfviPT#f@vf>YxhpS=+Yy;};7;Pw~{E zM0P990#`<@!$hj0z(NYMJ%^i2X><0G0lX%%<3Jf_2MN6)p`7e`@E`%1)~V$Iw{4*9 z&Rn@gQT!H1Rfpy~qieU9+A%j!WlX(?7e{|Mq~Q-kP@FSFb_P&# zm+PBsb(p4gPo}eWB`iH+8`#Tz;S?@?W!nEH)F%y);X{giYUQ!JhmWCN)it=_u=NlXGTFUGV)m^1-Ih*sWu`_Dd%J4%UYF=FuuJ*1 zwoe#zBoObP;+CMjoz#u>(l%*0Sm4YlixNRAC_H)`BQySh=~qy-PT_;rP_w#a$^uJ2 z;XUtMq(!B{%WYftSlh9|E)-s{nnj%}w}8=uxf7Ubw2n;Gv%5jqE=Y!*1Pra0HgL_|;0-roDlPV&pT_7~1N{)L=VeNeC4 zWhq;kRwVmbOI3h`VHVuF-CMFhNn=dE1_50~N#Fdlgm9xGA$*ZAb?2iGHcbJS%-zlN z-Y2n6@yNMTXJm}bHC>+z8Hry7T=6*_05|g`nNbOhDy;FYj{9z1mXhs}`JoF)8<Ea6CCHu{xJv4burQzmnleuNmX@LeaKOq+5 zpA~P&zej*4JwL`cz0jegeR1@rX`eT3&(MVeUF~+-3Te{dSWB4t`BZlz5fX=EmOfG; zooemKHrYLGVe5}qx~(nHVq2N}FyeA$9U=ntTb7VUplS){Q2zP#&9WwoQ7UVJ*+PnD z?qSH6k_Am*7!V#dr0n-;p=zPX0{>8$H;U8M<~KggcyG~!@7$KKV_PF=9A#3 za8(xuR{fFuSXo(lXzDXk{8ZHW)00-dDbvRx7ef)s+I-I{(j=vqQ%C_S)1eEsJFbVy z3U6o%Y7o)qX`;e!tS6k8x@>lice`Kd$2h-n^Id92+U(KrKRmzYRTN?PQCn2WNRn1n zgk3Jof$y5;l?QiDW*N6XUtgcMM@ySdtFO74z^PNi2A+QdS%3OYB%%&!6X?55M@cQJ zh^XZxQOms!s=ZK~1wo@v78d1-z~Tyu&CMLzL*W67kBHp+h@D|av>~&}mGUkdI8Dty zG3rus1yO;N(LOz?Sj9={_zrz`QpXk5$1gZ;(Vr##YsE?J_<7@xpOy4Qijx}q{lS5( zz|NxAbu*9bD3RL0xZXiZY-8aon6zpZnjMVL+)NRP>GC66`Ql(L@;7mj{x4E!f&KzZ zgFS?W0wUj=1fz8LQdu&Z|LQd!v@iKAl_!3PFS%p z3wAOvvFaRz8hUsi#;CHRPC3XH3E4F-}&z@>;ZJ9dz zGjE`YDRSk2y=G85Nw>Q%J@4c!t&4W%{_5z7%((97m}F_DE~7QskW)EzUMzWYO;M`0 z`kC8u$6l9~JIB=o4n22FD6M>2>Yj1#u!XtF_LjSi4l(P8{Gp@^ z)>nyyrbzTeyL~d50+goCTG>{zg~$XM@YPut+fRIy;t{C?a>C=& zx2pU`FP*JO#Ubh2&wNurMbI&}A4b4h7<=zmuQcWBW_G0}SS$=pxpJ<9g z-}!cWcQ`(|nJpue32h2r6g_m+?;mnSydrDXF7yASI8!_p5P_SXm}mDpeay1|%cSYg zLVk}*8$iy6VSouE2_QvCG_cFq1m#(YRFZpLpQ$mweD)%d4qp+J=sfx5dMk%{QfG}NCp7*?X=_*bQZGTulS9RW$VQx|hv)qZB)7J*M zw5}86N1XRw!CjgLLMvVWCj%Bt9c$xmx_$nQcY}Go&07Bsy(9=!^fc2Qh7B6s-C|6( z!BTml_z~JW&sX=cmwtS+KUeC_98E4LbYUB`y>dQMy`hJT&bMxyz&!X<%WA~Eb(v~d+1kka9{1ItDeKi779#Hx?~)ej@n$Abk-edCVHfo7 z(uHnzj&R5WKfG?@whBznokj)QDmhG?w}M;*eT{ux{M_c}qn74&T4sTaGpEqOQ-#Hd z%6987VBfXY5AM3Uoug3~r=sMeq;ns#^A1$!(v&Ck;r-&k8S-3X$^NHRn+zySM{O+T zcAU?iqpwgWX!HU5aAxi=W#v&0>4!EmBeYe=-^|_{wA8*N-{`j}F?0mLJ^trIpP*hB z48d*E8aZ+4<7N8bsLKFAc4n*3bL{>Pt+5N%3Wy}>hp0b~_76v$9jcsv&bKmBFw6$J zRvwyb7^#Ba4R>I=h;>-Pz(^^YJ_tkX92j$za!Z;(4tJN=dW*KTE^W{3I6!x+1HgWYvBb{I7@)vOn+!cZ$)P)i!l4UymM;dorxP3Xv~olI^-aH)2vs2h4a$(}EvKMsDF=E{AMuN~NAOwEkw{1tTUb1_FkrwXTC zCBvLo3DH%R(?hu2{u+wVsE}V^3mwKqL{Jg1E~7?3e!ol)AZGRlb$(UbNaNicoY_GDPJ%;eEa7B8#yOjOV zQi((q$dB-?Ou0ww64EUp219GO8H;CWr(Y(4mb2`!RYIW2?rXc2Is8xo$NI;=aBb03 z{W{DOV_k92+$3=L96VE)GWl%`1sY{EkZDXk%8JCCM2pQO-}cIA81p%`+B)DP3(s^y zK1pa)6*cC1+=|be!dKO9hZl>YGyxqU zLK;pUb+?WixavG0UmncdIA9MixPeOH_aW*}_aZ~$!G^eYUk@8b{XjOeo>GClz+Z0p z%5AFM^vKXn%+@)LET`r7w7%|2&YYBGxamlS(TCZm>_}vsVUtq;Lcg?xE zOP~6a(PEke;#JEA&)m<;imW;#6C@mV7U!n`;>}qKsBd8OF~Y3gx;gHda-i#bas-x+w`+xRkf9aph(xuw0+s*+El`B7;mNL+I7B89jHyD z{`3Z*sfF%%TtS?sh3cN{vJ8R9vQ%u12^PNd(45(J_S@aakpxY|ICKm3Bm}{TJ_9iL z`MJq_+tb-@8o{45|D4o;jkNFC!usr`Clo17bS>WTBM-oG+mDuf{Lojsg- z%rGZc#FmLXx6H1K+<$4#a?nNWb0k5y9%J6VTLTI&aL(U}>o473{47@_iAIm#>h$Z& zM62gGUsyfpYuZE{KJ)qENA8FJ}m{5U;vIFi*-Ul+nzkZ|_=JrF_+;6X=IpPaT@@%;d;q(E$PHL6Wa1x^jo| zZ~nU>9|hk>(H#7Lzlyg!nEtzWLr%x0A8#-(-xutKerV|hLHlv(%$jpBw6Cv&?keUb+6 zd8=h=@9;4;!Cp&>^s7p4^{dc`{U8G{zV%^mFn6J8CRcgw#N{G2NeYuczB$ywE zPc4O)if*8Ykid3Y@>$dzoY}%KVS7E4yh>cO>D;M&|K1CKK6o}}6K!#-E8x(|0z}$@ zLvy3`0gF=W(Wi1`Nb~$)AYP_kK(ut=#~~`&&&a3dBX5%)DdEP4V;Eu1^Nft`)st>1V`I&+w0m`+oEDJO@3z01~PY@&6jbR;@H^-%}d+wYE}v3nIOBW)X#$LuL6$fAOhgP<}lGTJ5r)e*4cZj{F~) zP`|xrLjBhLe>oGX;QF%K_1op?2Ytj8`;wqEpYNn|p-Xe|x+!1oc<6eN!ogC|LNXB_ zBrF7e;{XlxuGBbQ{g9D6Wq*L{7iFUS{blGDfGkp!Sb}+TK%&=}SHZ)o*EqI75iFz0{}a!_=Djwk671Y_QtYtrcZs^DghjpZM*Wzf-jh7GE;1e(M@vr<^NU}tcr&pG7fxtfDGK`VkD5Fu6 z$G%Od5z!w(urmk;DjhHw82|GQeL+TDjGPk_GO#!mf!H-@yEJ3#sPG)Wu1uq|BM6)b z2R@#UHQ2vnA$e)6Q#CSA(oI_IrYklcges=}G`%7CpOC6}% z?2DJKNJGEJ4EinSjGW$Fs5c?Z35{beQQo3M^%BWk)6u&E6_bhX&Ioxs+dM@4b_X+? z#%$>n@_Jssar7No6*!RQ z^TI8BPjKP^Y7&h}9-Fh|Q$6FHVl&))0^*5#g$bg9Vxpa7J`XwKP8fORsfS=XSF56xa!fpG|(+zb_oEDSkaK3uSFgH1hd!r0w7DV%hW#tOCR9@ame?!5tj0~_f$*t=Vkq$Sd`z648(?eARac1V2y76A!Rh=C zSH%c2m1E5DulO&EY{P}Liv@+T+BGT*cYcH~q_4=m4G>Iizv3LjGjpQa3;(BawanLp za}WIb?5H$7Mw&im@I7V7gfe8`*gl@a$8p#rkR=J*g)-veKmtNr5d{<7AYu43{rK=D z0S{ohN0E{7O)kr$l9vqQD#X=qD!z;Zb8CrrIg>DlfX-@0MeJS}Uxa@Qx}3&ljSF3( z`}$ECh4(dUJw5PX9X(w%?N@xZRBKLZ%6*3@(Ylzs4l(6!*3_4)QiDEaIwg(NKJUeP zo{cXGwHaaTU>LxT4UY2sU>&$!eFd>OZL0&z$<$P?hk0|~GQE4@m#XXqK=wCV!@sb& zJsOicRIcU_b{2D-QP7^bia`_OMdY%DTu3bh?|eV>OxDPUz@uj613fK9srsGMT12Kx5qL-(^5J?Ez&RfoRV5pRfs zEnYvTJ28RAPx!mHJ|^06kysSb~viP8EgO;)6_f-O5g zi^eAvY3!egr*As=RMpOo8ihKZ0OGKVS1=(UE69!+ zEHd~<(0=giPlt36+x|vSP@p0cLK(`Sku%R9@Yz7lUk1C^597~yLQUMvXY%qPV1`R_ z>o!4YR?_2EcPEza&E7>k>+WGAq}j=a4uk~Y3Ox!ga;JB*q1ey~Kevn<_MB>mVgj3) zUK2I#TzcV#+nJR^(Ui5)LKVYZ>j_^3o&LE^Z_5|rJx0IoOWa5`m3bx9Xj&}KP|Xo} zVh>~Jg3*ARZ9BnaWIPNI#}am`MG1~}jChz{PR_yPp)(lI+q+tubC<#=CKXhS?f(K5 zLlvCq%(9$_;=O< zC;KiiqVqEpfBuhA)cY^A>D51kI)oJU$_Mo|mI3GA*DmSHs$ zG4$k{jpjbC7=Rj}i`A`S;47>^gCF@Hy&EkAKhqAL(ESS*)&9G8?&)zP7{EVj?B5YdS`h9cx(!ap| z(N+v&D19ORQVzs%2|_o-tXq}`Zdfl#ZpM#nVMoM>BOF7qy}eUHuMrU6?FphO)6Wc( zw_MR^9c`5_7}_5EJ`(E@rv`ZBEex6qZlM3od%02b`t*7i{76gKJEN|glrqv4C*TZG zC)^i3J+y*Ag}58ffTbl31|C9dlp?U_eXVlKgvbza0X>0;E`h@|vh{kcn<5QFLeGwz z=(*v1t;j^ngwa8^zy9h3R7&K90Gn2y<+fnn;|Rtz8n<9LTAF*vOv2mqE4xqas&IAMbn09rDfqL2PK`nqf|e7ZV3&BfR?Vd zx!ZWJxBm2^|M%)u0tn}QjK+RI-gm5>Jy82pT1lF(q#FPoNV-CSRQiY{dqig}&=^5B zK5UZswlPxX@(Jeq$78<5AKfKVcDAei49xL57%gwCAYHL<@WMCMEULLyqbCXF^C6@P zS&ye>wLmdH^sZu)Lz7s}ePq{Jv58#3SwK~BAEF^j;fyg_%!_}8rzWob#V_x%LEEuBKN~)0hH{1NHMf7+CK@x}wP3EA9MA6&(jZ`VUr2rw)#m~CC zYmE=Zf!-aYw>iNmZ>1eERWJvVP7mV$oEAE$1di49$`3-wk^qv$pQrG9aXb{nE14hN zS>;eW7g$>^RUk2{IVTDp#hz(~)IR>KDeR>3$;7a|F%oW1HQ+x0p?gtfZsV)`x;vTT zd0O>kzEX3A98Bu|HnvEiTR5E4@vyGE6?Mp(FuJFeND>KhCQ4h*8VnkYRfc^mArK8k69K|&n%#rt%T-Dx_toc>- z2rx@#7YB*w^hoZxqqW)(x?+Q74Ypa1XWXb~z?B2F-rhq~18hvbf91t6r7?3*G)8jd z{(vSY#^n=LEu>9-mX}QSXbB^C+Y)oj=tjI#>YX*t+4KiFu!e(})q<{@&MVEzr7Eio zvZU9NQnJT0*D=}0TY~WZy0}?Os*6`dkzcYX828%UCF+GesbyzJ?RILfY(?5`i@$ES zyCO-{U7xn$vnak=5yh_(`_}ydM&*ItIlyFyaxO6hfO!NIMl}AG4q1E+38qX`Q6>lp z;aEK@A8-3!A3_X9FBdK8r3wm0=*+tnz7lwhb$S^#T0OFqUtCbaIVCq8 zu_bAU9EbwR6RPS(KJLW)$?WKn%twf&m#g5pS!Ly9@AI$S2AxG`K+(9#5xR#GMK|~R z)jc+HW=f_D?c88RU^`r2tRGg={-!BbM|(84&-*Z7a(TB0q>#OrLoRiBRvGjh3HDp1 zV^%52NQBT=>Vyq#Ig49fti7{+A8dw(cCdARr8g3l>==?!E^fG9+bCmapb~}cJ01+i z@nnWcbP)=*mgIX&nXcX{dkU#fw!yP04&D zN&NdO_rWauzz~$D1n4QRMmQr_RTYyt``rM03I zXg+#3aq9J#hfSi`7|+|#C*@PFUMwfJW3qtxejYAu_b2(JszUEz*OmCsyccp6IKSgF zc~t@L&(Bpc_TPCE$904ByoaHy$F_!cFEslsyqDRDTCyiaH81Vtoxs06LI3Uh!a!fo zx16abpB?4gdzp!!SU_gtg&jUXBL*;~!2E?f(vtV?*kB4gWdm);)%9J|BPsB!ggHlp z@SxG5C5a;`if8mH=2?)iT{@i)7yKxC5o;cENkX2h4XO(`H92b84oDhm^ZljBbX=1q zH4imeSujyRuMvr?Iy2+{p0L{4(Ddsg>};jT3+o5BEc2grbH}W_+71g`d3pBoAvlv@ z2xh@LM;kh2Y`@Tuu;~MvS4Z=Htn99$0zTRkrUQfhWL2|lYG@b!&gr$d(b)FdFA5-# z5ukbVg!tssNxA%WWIsXt_P1o9%CaId(!D!! z`Ej|(#TS0HN;`)IX!@(p(z}hR0}2Knm4;nlD;Rj2hVq6VEFa0O2DH|zZJ1RyiE1~> zC|v=N*~IXG86|o(lZ0Micacwx-}1^tG!$eZzHpAf&@Z!v_s~SdHuy`AKnei%!=(k9xOppf&sOd0%M)9R(J`SB8zfWWRQY z^m|iqQPQ`@=4N&_-p@)j&OPz?tT^23i+`U+Qg(Al)WIbuPCpE`V(yD=P#xAR>ICvW ztBej`fc(nKe9?R-VuAhE;kyIov!ibk?EN)IXjOs77|Gih&JP{M$0N;g0u0x!rr%p~ z0nV5@&5|ZFBbez%7b#UPBP4TPvY)t;;mmH#6aU0L*HdyJ5f*Ms>v1g|z*X&LE9{p!R7wo4M-}la3ksJ| zjr>AT(d3$A{sMmzBKKMOsT zn=V{mnI_iOAsM}&K4f^|2i{robXn8Fl@OQhy$`yzo}b|PB2CCXYL}^m+K2;k!%22MY5@vZ3c=^*uX#9&L1KZeS7+chx)I5V9wsXY8#d-msnJZy7jgkWIN|N?fR+h4ytmU2*{dv z2w!A}2Bph{IWO9#+dHIK6CoU>?@$~9q%*P8uSyx1v0)S){KD12R9a?W18gtcQ zVh!II!fYZ_Bc@2c#lhAUdx9rW=n|`Rj&JDU3160%^)o=3=2}FcwH{t*t<=X}KV+(W zRP~D>DlHsOvrxkcpjN`73KM6rkJV9^n2)}D-W$)@3IR2(! z*vA-1JsnI!*bg}U0lwb-cMDV`E8^h}$~FbNlNc&|fwT#oc`MW++4E;Iy8#c_gyBM% z@pYTtH`|=r?zn_GjA4W>k+X=%AR0R&H(2tpV(LhL#L5X1ce7~q?8!r~Ld+Qr17#HE znc~RQ{u=R-7I6!X% zv{nHb0aHX}6E+EmC}3HRRyGl7MP- zpZBP3IXr$GkmS0~`8_|UpY=T7Wl0@9}HIc-nQNS=1@?+Z(+6 zeo{IDL8=YA&nMq@rG?FT&=dH$tay1bgWq3L{l&hl`T8&zGhsJ6I~MO)b&TXz0T%gm zN+`F znE45z34xMS|FD~HUkt7=^r&DFW`pEHz%?f^G!An^EmejrNjXtca(_~?&R|Q^X|a$r z^QN>H_k`2L>rMBAk%L9_K@#Q_tKQ-wY%z=Hy>sCqtg7_@+8>3(>St(<1njvM7I5=9 z+68y*PBMEzVx>bB^kO5$B1LNBik9!8T|k^m&jsnhstFp)1Yv>Iq5rg=5uByXuKlI+ z1XW(Ar1C3RT_ARds>V17o6oL}R+!8y$S?{)Y+A~i=e@5gg16@zM%cG zHE=7LDk@rRmZd89zDfcwI#W9@e$a!_v@a%7H7Qj4PJ;GgM8Fb8&UreYD{raR;)J_4 zHHM^mAiE+hBC(Y7;mT+&(U4RSR57hd-EO{SF_sYpa&VY5;AWM5P|j)^C#zuL{zh~XH)kgf7TLRUEFDbx16^I zC32i_YG*-P(e%Zdp@2qz7)IPE=$e3L1E!S;K|C&QfF`3V@08sM3(eD3-+u<(?%_Y( zHaVAWe^Pvt8lh#=u{b940IAYTsx<(6&*=GGn3|4r);)WZMV0GNQwtVs7pR;6(-B6IuEUR$-VtoGV zv=W*^gav8C;Q;>yjcuy>B@z1q1I5Ar21mHKr3jx5X?xy8#+j0ud#O zHByrneXu9W>$QPmLRW@kt=dPo?aY}+=fiV(5~Kq$X}P{qFaKDT$;@?RDvh6*OW{dO zAcEt6#*+smJ+}%ZmBH1WlvGi6tH#I9MaD`rqTCx2jFD57gNZT`1>R($$GBq2?G&9s z1Jq*gTnb}4r|405$N(qk6qDo_+rl~pC=Vnfw^V>dSV!e}eQkUG6Ei<)A$L(gi4Pz} zTjtHr`;`!-aYIzlW8GV&$qT>Pp-Lo-8%%F$zcwc5-)<=oOakRQ)flD>ItUk`0aNqg z3iymo9ylIuf!C+?m?s61y3DG)dk#~^wquTx3QX6)z-6#Px)x(Rchaw8%!PCI7n7# z(R3;eb~xfkbsPHyC%Cj#EYu~a!c1hEEK^XebG1e5apWvLwZDsH-LRkC!?-1?&qq%7 z+2bm$vY8bbAyQ zeQ45I#vXtZqmNV$n1eCQB8d=%ZKQR z{nKU7HM>vLytN>mxEif2MhTdD8>x&?zr~I-k@aa{Jn1$xC58~K1(NayTMOC(81@YG z&d8u8U!wCsPw?{+(61l5GCiaX@e+l?zh=Ds2Ov36l^!4kI-#yxfQVlP@rmy(*3#le zmGqPC3|AOxv+n4ihTGx|Py2&=keJvB98Y*j2jEuBTC7nhT7c3bTh*e|%nk<#T*)E& z^Zk4tE+SqSS>ED-!E(@sd!nVq(hM(8yV9WVU)7}F*>iA*EF@VFZJHJsdtz&$t3$H& zJW{fueSV{@vYdW?BVVM({#{O+-cUgGZh-dsBA#FJj^Dyz%7Mok1hQpj644Ro&3;io zv@$7IPnJiWcfXrtYFfBH41`T%l9>sBM;N$bfw^|=lym_r9}z@3 z-V{GJSArmH$L4^s`OI8G0PX#OpT4%s@=#3pe?2xo0haM40h~DkZn46UTth%$&SdK*3v8wq$g zvR(Dv7$WEmtNCZ0-R?A7dk%ro*95r+;9_@5C_VX`OamfM$uIsA{r755o*X38pj!EM ze(4~_K+J(L_anw%oc-sNgkky#1dN2k{cq;^`9#Gv<)!iIW#O8M71+BdYXdjYjSS}| zQQ5kdF>K;V3X3bsXo^j2$%#(jwK|AyEbu{R)1qXPsF#sHMcyB?*O)Pn=jkhi05X>w zZb6=+0g7#Orv0GtA;0H-hde!0SQY;HfvQ+?pa(A6VM+Os*uB%a@kB{lpIDu3Lic2Z z{dus-Z89TTpJqARySKs-y;O-_ZtrgxK@0P;Lv4}>q+_n7&T^oFcHOS*5}%OvU%~Q! zYDg9A4WNK+&9kuYQl-cK2s|}?_Q{1itd+_t$KsNZ1Rh=Tr3%^Ns zhU>Y(w1QNcl|=AZa&%E@01k+qKsV553k=*XzspSa1C$cO8Alt|6$%({{!mTxc!$*Q z|9${AWq5Imz)q>a+WSMIDvu*!KErdg{p^`u{YU=c%{#*J!x0ArykTWpXtbUVzyDh_ zFW(xQ@U|Hx!pjO(p6@bv9wI1X5Sn`A%#^bE0iK}v5@5yvbb}qbs%lt+HFwuYW<3FT!? zaf2Ujc<}l=twUF?M;rqGJiTO{S#9@~X zv~Q+#*1YO8)&0!@tQX(%*mw$KgDYJ}f}N?~;>)%y!K`%no8yZhBp5?pAR0!FFCh#v zeARuulP*C>uq!YWOU?Nc608Lv!3>vPM*t+4AwYutIHdmx33g>Cj#eLVB!AMP)8WBAujrG1+Zeg|Ij){O`Mu{AE>#6IC8`u-j8YhQL6*K`T~9^!EG(4#}& z?w;DC9ScjQXp^Olwt8I*zbkN9ZjNDiWIATUYS0y8wIyOx#jkHqJ`@bkrYXs`6? zah|{)+oPr_H^$Qc%R z7%5?>H!8xrQ0=NhYB|ZnY@FhO;=EFXxL}BJ@9L;Yahi&e8_tmN#Esa}i+hyO+6r;O z;1w}{+a0rYD|qQAZf*U??wC}uGknHowq7xNH+?=wDjJ(^*d<84`)*svH|J=JiQOGQ zm;E8)Fb!jZD-9&-!0Xt>X*;DtjJ{&=yXbm^RXNFC<*xIBq7mDNpo;hJKn z5Uy#&jGB_!`ZFETBNUWsPt{@l0j-Wlk*-GD83ELR_+kagaR@9=%u0WBl|y6f3#aJoA8C+L0qY+l~hmW&Vwu-C`|s6d-8?}#IT z`BZmDFl|j89HX`&SaUZPk6RpWaNi2Ep%ME7*T^pW)4p$zq;aGig*G0pVOnZ ziCwR=Yben_5_Egy{+WuUi6p+Ht0tb?5;`QE#L+m~)-G+&V~YIwsmen#QJnb52Nurs z7p-?w`S;93O^5f>o7Lh2$rC?At>Bl7bbkOTi4kNWpsb16_d>O!A(FqpsGv6s*X9 zZm*?w!|(5JyAR6!vO?OpeV-U=hoCX365>u+jEBHC_Xh2-WpkagQR=!~3VosHe-)(rb4UQ$NNPDI`|2QueGZoI$k3XNE6rTS< zTGtv+5lj0~pyDd;GBxseQ*vcPrelL4jxicqsOhDLb-0UrC3?q#=D(*qiuAK9Iua0! zgn4gjB`hv~K>eCx)pX{I`8_Upr{)gyisftW{A2fy88};iC@SkTZU1s$;-#S5DD1G~ zF8Ic;|J2+*r~+UL`MVo-Gs}uM0vj!Lsx+3UA7n@$!OW)ei!mp~NP+~t{!T4|X+>(t zNQVV?YsASc2R$F}E;r_Q%{3g>|M@I|R=5)Y!y?j{jwS#YrskW~S({k4Jm(<_0mE=t zo$g8!pArTl%l%{Ju!9>h+ON)Px+)o_<-sWt(vIV|R`&U^b!2bd9P1bxYu<-vI#1O& zN*>ebGZe$ViL^k~jGxpCUB1`U&3lr8@YcuYcljc-@%bP0{1V7F-18A0f@SksfS{d` zTGU=ZaKT-6>v=UXeL7Mw^6M9S4sv3T+Krw6{uUe;TnqxjqteXS(qdRhB&)@y#AkK}V~*0r+|gat zA~osqNDX0rLoj`fUJmKI$NovxO1iSlX@wd(LFS`;-r7@BU3q@h4BXbqe&l?Y1Cl&{ zI((o&k|>qrn9~_@9xu}7?`feW@0n3Ny(TD{t=JhaqWWeI&2ytpoO+5?)J=sYfWGICps*P>FotuM~5lgPK}!iYN4G` zqCn^{+YZZWQvnDarT|VYgbt&TGP04C=FScM&k&hY%J15;(cgVBJ7BZ4-3iD%i`muv z>CZlgR8JJa1%3ZWA_X1x<;tCl1}E)V*s*(GM_tg@b_P4+&G>{ifbG3!`I-+fdwzn^ z!Cu~3@T;^Q=^tWUAWH3xNprjv$Z@IPh7eTMeC{4Qlt_+8yP=sbPGgaBDR8pdd{%x3 zswUz&`a6CkS1`-+Qc9|LQknBl25$Nol`AFDsz`-VxxM0J{oR*mB-hkOB-290JmZ`A z0{j+RT-xkrtV?rRN3JW)WQiLlUW{l8D^#7#D^fmFN^ViKb{_wU_*_M+M8}Y}Gjcc` zrV2pvF2d+6x3Ne>?_1*>A0#Pl^*yKmdz9UaUHkts;woF9cV|<>?_ahG{&~gZAV()^ z>lq{Y#bT>mf}Z`M?K`0_cI(SGZ83%%T_2%lp=;a7LyomMj6U8eR5Qj~(V3y-d^|eb zMnGBGw^praHY($PV(tTqsbft79y6tv0*!%UYVV7oAV3jgwOU)H_yCHSJD&5(&|2+b zlDIrd7a-H$Llm)aUc`;h6tRG-9-)uEyLvK0+S9~UBqLQrQ^c{rFvSO=h_%=VWxwQK zr-)UaYl!=rBE|(2v0nXkikJtoQQF)j6ay$?O&rQ~pqOfb6jR%|KryxK>P;Ymh0|>| zg>O_^{uUK@Kv99r&3pgw^sD0F%~~7uHbJUP!;&=)@1;tz?UG`16nN5aYH(L;QzB&|Kt%syNG1pwuv1c2a}~Y{pB;)abuEh z7x6eJzUE%_yq|V_^(OrXbGS{nemiU~XBFN&H6~$ET0+#v-htO8BDT;cI}g>JQ4qW> zjHFL0Oj-qF?3)bb=u1gNy`}AwC>wtNJ}mnp-tRSM{CF%O(l{RfpJb z_)?JHwfN=|UveT}VJ!c)@bn;*yuM{0(D}+v0V}g_GY9g4IR8$#;}^$PQwW{8E8jg* z{Px*Bn(K+2ZDlD~Tsd0$uhEAb=a-_bGD`~Xcs!S#mB4Vv!(>?txT(U<5{N3+>o@y% zs#q386^n?;i2mR@cvCL<4}H;qt4zgk9{*%STzFBJbU1ij*`20yV;7>_i0LlV59%KM zD^N_n!oxXRRv#gA0w#ayLyd$LZ4A-+dQ$ZEt-Y-i5h!V^xKK`u_|4@VI|WWe;NO zk1uB17i>mONorYF1X9Am5vmBn=l7y~&9*?^M`nrx7^EE{=L;a&W5+tGCl$LlAq;D_0)B_k~1UEkiAI=w6-fQt%`rKwIJ?hKg zWa})s7b1nrI}6r1zVvLdedlXS@skjCOak;Z<2 zNMo$>!nWB$e+C7!N7?n{_SQec8|V~m1E(nJ#9_j>C!-w&oub(a;@dw@Q6pr-=SvU# z@U30u7(&5Ne-bMH>g)X9T6eDpi}M%(Ja;Kd5VI&KF=MHKz4yAv$GO)EHp?7qs+V0Y zj*(#J?{(w7OuU5Gxa!7-p{bcq9(IqNoHnW{nW=sv!ZqmCn+}yU#Ksqxd9%x}#n^fb zPR%o0x)gF_JrrX1NWt^A+M%5r;zsQOZY<_Jv8gpsg;jS($yN-5>H0WaQ@LS8u%0u1 zAm##yvF0q$V+M=%M3Q|&F3!Lk{^o5zhx0Ilmv-FDRO(WmJgKfRR5Cm_(7~BTqowYB zahk7r3MwLvT|D!Zs}~IUPgO}krETnod&11J97KOT)fC}Nzp;A03!Scfi@Qv&@^jm+ zDc7*N5&b3&>4SM%A15w*HHb3xwmwwUhpUih1xtcU!oxl2886F|r&@<%T!L2SPe;k; z1{U+HlCAMI@ZL=y3q;}{=q^Y2@?2yL!c#Q#w=Ih2U5lBG?xTQK zql|nQoVDh1r#8kS9FFK`8g*R^*Ppj@birY#z4s{xU}drmwqt00nDduFEwLKidw@3EM}tCDY*%p!#$&_POH# zrM6M3Lir&))<2tg1_vs}Iho}s$;1sSs)=dj-zsKwA4tdzy$ zBbGltRz|IM{cHRcXKu@$M5W3;H%wSMi)GW7c?-!}d!V@|7~B3JZg3-IawbqE=cSHr zkRX91A6CY+Q5y~4POZfUZKA3DKySu9DaozHm3J3E#%*I;5w(eErO`LU$xvYrlnXEW zvFhsgw^UCE$jjAPpQtymaF!DPU3F4h&&SA%-I13j7$S}`+?deJ;p}j-)rr2MPiRo+ zs*4qu)uc42D4N>4^8GT;j?ZN_#mOW`iW_9)&QJELrMc0%CyvY?!G<_oBGepP6Mm)UY8Fzi_Or zU~~$GHE6q;PAOQLUqv{b()AE@y2_*~A)O3eqO#l7pW*=`p>L<1uvg2BXuCuTlje2a z3N_VPFr2!m6~CD_f<`E!ja^dMtXs@Zf)y}W~v~#fF z21Vwn{&DWfA5BtX1-^)yrmvfdG<4`>^=U6WvZ^(eB|cFOaA6nwhf#aMMIYc0AW>6v zA@z%>i7s>mG?1u2+5B(h`XFq)tDI+j1xBd3&ECC>K7%nD;w}$1IiAWjS$jF<6_u^* zFBZ75ut)oZoENDUU&g$5G73G|7>|NoZEcDeSPdD`4%pf*PjYOnWPW&t*I-_BvmyPm zOg?E9>7Usd{CoZY`Amqe`<~*YMqycju^V@bRwpg{l52ab(j43BW&E&rf4_SnF4S*j zPF~__w2zt9Q7aeH4O|L(XCc+j1qZS_8{>Lak{i)}yXMSfd2pF zbN+Xt#=nZ$c_9wyEp@oS0D)3;tV(az2apOLPQ056!s2`yh@c z=*(clyT_jqxcm3i5>o}RlY46@+S5b5FRiGwR7*9Z2y{-gcOU!5xRm=uPNQ93P+*MG zlhyj<93#1b@i!qRw~{Cu#xd#6$?$-N(8<_VzTwVIH5B7InDqJfBF#}Se7Zd4wV_9+ z%P5T3As#tAw%7Sb)wXhWxt22}v$J;Z+m6N}?sp{Iv0}_szvm7(MrP)-oYnU_IfIq{ zj4P|B|5u_UkmFkxUcZo#kN{GUha7TE9at=>?tIF?aZFIbcj3m*BXj~7yUVH)Z0TV5 z<>JM4HAjo2>my>MG@s@bug(qj^C2h-0^V7uj8Ft$(v~n@cC4~ypv;?l(bh|-c`$otnEY4S{|ZzDKl z5FBn2KAegG9E<*v4AEQSvbR$Mx$OO9@$R;=bhAf73i<4W3R6d>7Ma#g$wR2R;BeVA zLOY0@l7W%V%zWu8nstvV6M?}zaiUFTD9@8lhu`O`Dub86yDnW)%y~pHUZ< zk1gw$Nmq`F4zL5)Ch(1p?1tk_LgWjd)(~PouOW2VUM~B!&IwK+CuBOY{?a+2KIxoV zI%aI~A0RW-rTVw#nmm+@2&# zylCeC?qXOW&&n1%|9Zk^Ho$xtK+DYSe4BI!^JV;oLk5T)1_H8O$bEgLE00Sm|FFg} zKPaRGwC8RoWw~zwlU4RNgj}7C(4IyAIm;{f4_ZT5M(+XR^QXU#Tn<9F z;q2rA&3_~aCxKsP1a~KCxhZ9&_*{VlDw;75*XR=xx##E)W`Vt(?<$6P^oK*<&fyuA ztg6|gM88Hgo%%!#r*~%+Qwpmt#;RLC2_D^vXA77C5(=`ca*a2;78)efGXg%6qfN5D z);+K8qO95;r}*@~sGPc#`$H~v;;^H1z^kYCs2ND!$1@o&YZb^Jhhb%ECVN+OS+A9Y zJlY-sRE^xkVyBrhF?f|hEo7aB03ZubC90lVdw;lukxMYdmk^lQ4n40NFumNT=e}u# zehNe&`vBF-g9(?`)~3-;e;lSUxS+}~h!jMR)Ae!ugC87Eg~NE;qVxc-jm_swVHcOp zslhM}$Z5)^>SZ9EYAi;0fa4y~%E?N3)XDMI5hJ2Swl7Lp;59Uf0N2)AT0Tu$$F)&j zU5&9jsb@y3_;9QdX`*8|x$k$}h4HcZ1KQ;`L|^yzW>*JIZgvdf`Fk8cnfI~z4O-X; z!nNs_<#bxElGMW_nv*3Lf|JHdlOxb8TB)g$5UwpgP{eQ{!Kp;2`XVos zieYat`&+be4BX~~DAdzGBd*UM{}biSy^$>~{-xj1Po_6UYYkesmX3tIy3zUU)!HhT zwWZaEI&Lh0g>Qzh%+)umHpyJPoPFgIyKiNUR=t|JGG$&p<(%vH`f#~noa=*Nug&Zq zThqejuH=+a5?xdHAOC2}n=+5CF?)vt#34Ejq3dNa9A*}@@MvPI zncs=BkI$0c+0Z@X7D}7+bM&U|MGu=>dz>B_I-8`0Sjvz6t(ucrePvj^7&(YZWh8qp zPsF*oNxrYS7c9!^b;_*`&J45Ov-oiB=on2NzqUfHz${?A7CVgMYo~fO&gF-# zl4^5IP)>WzZQjwDmY0I%i#3Ih3`hJ`YpMAe@_Ku#PksABkE5VsZjc*iDl=Efn!+2H z4eGX`1qkmVr+@&_;+DhFloc($n=r{$I5N6lIo{kJ>qIfrZFhu?4 z++ZHgW+4&bbTR<&s}&2pkmc06wIph)U$B_-&{=@}YyRtsz^A?$h@w`4_y>Vk z|J4z}NN@m~Q5^uVZo+JJ+^kq=rA~sN!hXmf+>A7le(<9ylD9~I&uB)iE-d_(i~Ym> zqd)N96Td$)ozjpaT=SZLEfEI+VJ1{#{mK0_(h!THDqK=8<&xU1W!wwBae2`m`W*Ic7(Xnrd398I z^(l6#06)-{q5R9YHIC0wk;-1Ee=+AM4vAxOE|>p~P|s`E8rBb*9mB-on^reW_t#R5 zj|}!Xe)l-MVtMIc*A3s?p~@vuu}D||gLI?h+NmrvdND$Cs&BZi|C59g6eEFz^2}!m zr3MC)P_hg}h;QJ%E2%=Vj`eY6qW&+&EHcJ~wmbveKZ$U!&he#vEd%O0R8C^O#%klk zox%3Uj0&YQV`R1=D9$4~igAdB(j~pgyfJ_VxC5#}6xLJJ!o#>avOsul1gO`Wacth~e z>&|81L+kHp)1hT8L^#-_X&9`~?)8Eo8glGFK*0s}52YQ=%J8wy0m3n;n{n zL)k(B8-i!i!p&OYHdLFtVaKGKBT*}(@G(u-ezJz6o!C=mnTh(XYN^*LoFLQ#f}p!AKA7Tf3tI7V z(8oVr*lD_ADGvtQen)hJsE`$bo&nsKzpWd^VK6dFwb^&NVGqVrXOsC zF)y*yh}KX{XU=;g>wOj%g~@*4^QYMTjEahYM>%wv>nbn@_zG$M-42#TlSA2=`fGA9h~K48G6#w`7`(zz)Y$|7*Ty zS3xxI=qrxRIiz$CIe*XW2o(Lr+4xw_Chf?npqG2%x&0aLZ&}hqY{RndD*7ckVA7w3 z{INRMzWKGes;h5B-*1^Y}6cPRJ=x7jO( zL(!@(b6QEeF$QRbmbpoR2<8j3-;9u)4p|E+3%g@SG~MTBDdyFj5B7}PD8`38<)Hb< zf#4+9nH3r-`>+}A2j83j3ZbRTF`sWCUd!Qo7UH1vL&vvjrQ?Fz*JTpHsd{Q^7;JRa z?+9sHy$$Y81xwR6k3y*OUA06rf)J>S^K?YI2fM_7(Exd*oQPG*LB}y-(4bb>3z7f;||J!mfdpRod{0imAvo~ zq2(Eh^S8OJivA`A^*ou2nG0vToTlmr0_h+7eyvRbg0*%GOHMi+L#Or~f11kW41UP% zbd8B=`b1rngs6*`*Qtv|fV!9sQ5St+pQwxU-N-hGx=81%3Y?KCUiK4#sEgB8VCUkP zkyKx3%r3Hag{9U9*Y$0>d385kTE5<<>;7q*u4q2V+_6g2%$v4Z8eRy0>G%`%%sve3 zt?e9RyKZ-xvJLK%H}};Zr_H)oU6*2>3>6``t{}saP5JqM-s@;)yKyQRZ8Sn^?dc(a zS`3~|6usU)d{sS;&OL%(UCd~{U?h8q4n89v)G_jnjO^+iAWtUYf03vh-ZBxT)^-TO zVGBj`Gg;_9Ug;e76+{(X&*d#E<5A5_V_Oi}{r1QVQO5NoQW2~&I`tmqH~Su!l7Vd~ zsgHr7jVf^vh4|xYg;#gQVA0B?5%PysUG3@a42@u04!a3Sz|IB^9fsn+3jFtt0HxV< zcP*7M+mkf7`0ND326or5Uc-sxg*;rnGNIg@8c2sL@)HPk<`(xsWg_?o<>2LJ>Y~-; zJD?q3)JkT2d-rR+prGzgEimbqbuI8*_}wL8ZI&F;cd0DgEM1`PihP(cd-6&!WsuwC zx^t_Ee4~X~_06dU4##q+oGiXDh2E}1(VKy}C)TS;S`A#Ad87ds$Efsn52xlo!WVIU z>4+C0rHY={Y1<#I)Q>+J-$!bFM1(6yJN$I324AW++9$UMS?hl0cN^|PYlunyLHOO4 z>rq7!zFUE^6S1I4x8s3fpN)A??UAk_g$)zS(a)A1)cXAi*tWO zg^K80uK{<+>cYx0erbLUC~j|ed1Ewi+Y%{i5>sY+ z^9>v83FlUB6YaxgFKfCDS}Osf?800)vXXmKSokWa7Wg)oQB(VP$+f=|QMV;m6K)B& zqSXyM&ijINO|)Xshxft^_fn6d8vFgs+R|3OYY_U^k*8&B1v8X-&HiE62}XZ{V`|wz zel;`O?Kkew+G^-C-NY7K@SC_&y9G{z4)NS$OyfVicrw&(VH;~)&a&{pW)~Ac5a%w6 zZ{n`>^L%IG&P;y~NS3~>RX9pi<9z@^p8P1#E+HE<{`do|Aw_++M$e*Q_|=5V;QXzjnZyMwEEpo_7vW@*b}_Q z3p_y)g)ty*TiGgy*6a{xbD033;XbVbr#vjNGrdI))Rbl28jfP}+DRDa{4y1Ann4&? z`SYGzz$?5qP~Z>t0lO`mb`jL;x-VZDk?4cc>Sidfuahv8G|#^Bq5KFN?mW1*$`WmR zYkt{w@u`F`=^QB+HH168o(QVn=S@2zX^obq`qp|24`Po{@xejeXO?)g!PViLi;>4n z&Z}R^vMhM!6p@&a@G%j4J#17+1N+;Sk)hLs7_Yjmiq81o1rnP;nP38h5 zc7lL#0Mwd{5DO3L*61^@nw16u#u}qBtG)z*_;Ljho+!KNQ2!J*e-Q}26^v@H@wCn^ zgwDslej+Od5$rdaEI#6j@cjhuObKp(BZI<5rNL@!`9_n~_K)Wo-ST5R==4t#LS3EY zJDw}LI({l68zo zo!>-nyDKGECoX$zdbW0R_<&wi_8@tLqaH4pZz_PaZo8*oIDh&HIwr-B8AX2XW{bT~ z3X2IJ%F8ob3MoZWQeSgiOehV7%mk~@2O4lt3kPbhe9XTY6fh>DB&yl3Cy=XS$nrbN zfj!OdXdq7e_}!YqJ5Q3O<8OdzZ#l6ZFo2}*JiCw2>MWnJ@fe9Zm)@~ug!)VKIPM`- zwwnN#7Ueq*Ic%uvf{}yqfM5C0b6s!vHV%LHS!zZ9gp!Tg{x#vz>eCN?Oy%}dANzvz zPj(w610NJ%Nx&{|XpJK*{!vFv4t~ag@<^xs(%OqZFEH?HmE04;CYX1!Ae!(5OCWrs zkxaMHqu3V{8%6z&caz^$r#HcZD|4!(I&0o%cBj<;*^B*L_^2UoHUz^s#e2%0BDytS zmyUs18Pon?+F>eCJ&NUlhA{yg*KQE9&RZQuW0m!mYRAe*BD`;3sJUzNnIu zA^OE^&=n*)(|hU&TUCjv+l%R_0 zFSgTZ`dH>j8~B)f1kCuFea`qiA09GMBBKIliY7p6eZ#+AdNA+g(B13WP!GUraN#li zIyE)W6%_qbU)7@rSC>j=mB`3hf8t?4cwc*UvKk?23KB8Tci(4tp?37-*`Mt39l~+l zr>*oA){aty47CQlE_P2hNElK$xJBrEc(O;reS^#b-amRLfS3!hYOOdQ-EHG*179A0 zRH3}j#$yZX+LZDFZS7gd`S4X!-|~wi%^Gi@qD7rVFy|0xJdars6TU5j+I`aE6ThFT z${xG9WK2Wz39+CJ-ZAdxFb@~xCKfZH!gXe_kD5d9p$Ph}xMhhVA~Z^JT+3!-Q>9#R zPCJ?_TTyW-F#${BcD|?>m$fabf~sJ#uJLi|>b(plZf%UR&UET)KN49FlOl45Gp-V3 zC+U6S_Sw5Ku89w#1NUhW!^BCXu4l;Odg}8~DTh)sY_NIXcrij}cv!(t$}p;gP&U^j z8tjr2?Xi|MpHB$zB9p6^C7BtBr+^*##y}t2&M0KkUNP)XJvV4kV)o>&+ONR>og9C4 zE|T(|0dn&}IK7HB2$gwsw~q>mDf`t5>FAosgv)ro0fBX5NUnY*2)&fmclM9TfyDxT z>t1~}c#ZpND2V$TVC?%Mur_yuIv&hy?dJ}%lt94GdWQyq#=?ATFg7rJ3oz%`O#CMf zqk2;2`i540;Gp8?P;Gm{s78Kaa{Lt zq+jD22ur>8%`AIkC{aj$m^VkCKf{3Gshs3@Xz zx{^UUylF-2-kPR7)Ep`UU81s@?^|${>Uk}#2YSDa83aRm)<-mde!F9JzcipmbW_7z z_Lc^kt=+kOwUzJ3z zJEyFIwja3D1;i&F`9+Sl?;u;Y0DM*6ba9{SM0fS7cMpy=5P0u^@R2I)4E!Gw!>DtR zChj|%GEeYCT$kfTT&WXrtZGe1R=ohs3mWM={j439x{>}-Z9f}?enw`(^m(fS(+c>K z=4I5P-nIY|Wgo1}0-e5gOZ-C9ne9PK;woCon9YA1pQv8$S5UZ`%@p(W+UMWdDVt z{XhpOT59g$ii?DrAHP5KSCh|f8&urg5^?rxDe8I~On)CR|I1ZB6Dk)#_3dfpw1e_t z^_$aYOm$}pJ>Q>I+`USwbjm4vRxwhH7Ya!WwD3C>Q6_eSPkCMg1G?mGkjU zdSTV}bELXGzeXQ?u83TIJCG2x+>Cmx+dm?LNp-6a6CQ}WsRD(TO3DEpk(5QN=kI8_ z)r5XfB0LOs-5+uDtCxOfjN-h9$G$so3zXzCp?Gyb!U}Q_a31H09}}Jj$)0_$h?u`8%Q^`t;JVcc28RA7`xW1^mKmr#AV2_=T&G{HSMX%i|2v)wnK5gRF?R z-5@th?Y^PqYvQ)icZv6In-hJaL{%L}7PU)O2%xa{<;a%YbbFCI=w~>!(=B%+f}T`X ztTS_SgoJyND}*0(0#yly^)y`gz)Quz~KcM0%y3j;NCl_Mls=t_?d z>e>>T3vAGWEY^IcB;fe$`z^4a$xRl{ZN8Zd90&wF=}%9G*~k3V1v)Mm1vPrd&KsZm zN9{Luz4qI-{Bj%0yllqB4X~pM@U1;w?jJ6h|5h)eo5i)_0*4;xgX)P#Ev@=N{h6bX z4gj+7-IJa8M?;?Po0Y38v#u1qyg0Wz6za>CNG9zyQBtos0#-N7{g%jM4OQnaq2G1K zumku_5FmUsYkuX>T&$}deRRDnJo-Aa88Sam49$O?d@EQWlzB zz$*FufOVAvFW#^BD2wNgix@%`P(Q7C`yF zHpJZ&k5w7{Zzf~<1sD%rM@Pw!Hy0-DhY4KhKco<=9DY*hZK&w%U5#)BksG`lO7_uq z65CX#?!AtE5YXF_4n~c@1bd7{oQ4_A4L8>E(Y8Ik?~i+(hN(U%($BFi*?lo!gYvv4 zv!_HeFRK;y?DGG7Hl}6v^ctwzOeJ1)t(=VnNU&CF1 zGPsH}Yfz&gG_sv9o5!+eErzQ3H~v~N$jq?` zm0fcgJ-q*cm0)3f?smGI%zgWi_7`drQS~9i;r`jSu)AsgmF0-}1w}1Tl8b|VfHvJ>e zLVfjBbNIO6x&Ky(Pg#3bw!s9wF<4i>Zs@1#SpxU5u(al`VDY!8_e{{;&8ZySof{uK zD(4T1@U-SZu<6Zzm=8wQ&`TTH!G@asZEya#uGFQV?vM;N8xELT=$sZ^n=d2ca@yUG zGbBB^eM3Nsw_Z%}WVBiZ=e9}6ld`S4dAdC(PYpb{F$uZy3Vh0X!l^&&Z-%-sJ=fnP zgE{BF#vMZD%|bzJZq?EhfnES44W`via)DmaQlbIvq5MI(L`YmTV15&nB9PikAp&w_ zoMqIStNeNw8B`?t@};$z?x1@uM_81Be=Ch?+&7Gu9=dV}wZ|5y=RH19A9Cixcdeww z@dQ^4a=xG}V$}KibnTc?P+r^bdonB~(=wjMBm;N=}lrA}xYSc$oxU2Zv(molo zhJQlEp3MlEy85jzUh)&jS74s|C|AG3BkkA)nsEw2F3w;mxBdxkE2vc#DgPLll$qU4 zm(X{@zCdpe_`S92Qi1nu?>ua&Hf-?0vK+G~15^@i{++4$4qJ89ong26>fzf${Lx2# z9*&EGf^n7>X$X{k_a40wTiIFT+1yNk%K6}qFL`o4X2d~#AUm=@HKihVW$w~rMZJ-& zd^o%!c6kIeh<^YrI$wTCwr@-%Q~f|PcH!+nbtoTNR1vE>4sEye^$dEp3YG(=h3{IO zdjNVuv5zmB!X4W6t~I>>!??LKb*XTnx0_JhKOf`!(?Ih)6z;Kx{(vgh6Xi6vF{)&n zFmgp}1(dNTy$j;?-q-BE7xis>Kx|Wq;W|;{W@ssN1C!c1>Hz>)I$oeW6MqvO$n6INGtaZoA zb9BEuZ)swgukH-O5P+klYAHbg9F3+K;ksL1oYe!|=$v(KG+#ZLM z%6s+J#Cx!}^}>ggT$+!%z;eRj|HIyU1~t8|ZQqIo6r~6P(pfA;7YIb8m#8SX77CW7 zf^;H+h9bn!LlF^>W~E4pih@cgq4y#XR0u^Rgf0X^2`xYf3GKQ5?5*3iyl2ne@4U~v zAKv?eGw8rLxwy(%j`MfaF58?-SAAc_p!7Tk8uMW5jR z3cdjk2O5?LpWUzV_iMxl3cM=3J2V}?MPAiUAmz;;(vJ`P{d3OoI_Rdnoj=mVXlHOP0Z?H`arWWy_QD>3cCeLKk`r>(4%<^_zOBmdr z3w25Yud^VOPhXUC%u}Q{(`}8#QGPvZJ4oFVx1~Wl(?gOp>@I~P-jJ9?L~Ls?KDVWB zc=p5gy=q+~J0e0L^w^ipI}%};mQpA#4(pYsj~WV8m000mk%qBGyQ7}w0s%X7;T_%Zm@`R0Jc_TH(!fJv&XkXR~9!dy&mBGdd* z-l7eL@KSZzAgNLh<0DdvV?Xh~Bmw?5Lob31rbeUm6;;$b9b7b!HL#*49Um%+Dk>?AjM; zUf#36aiLan1`RO=^`V@e$7Mm&S5Y1{g{y$Kr+qqj`iw)-xzEou!&YN zOil0ao5%}F_auu>{=NBiY+ystZSqgJO0W@)2$-OOm`kwiM_gy~IoX+V*ADW%{}>#!(GS>=s6x#k8t0X$OY)!+jEsCT?HG`1JvBb*Zp{B;(7uhF*3gmnMCL(=U!~S_L>DLK1hB zQ1b!}y`lh_W37$6%aCNS+QEc(!NLD48hOxMlgF+ai7x$f%TyQ<5p7_Z5=2-=#Z>B70`2JMOqRC*mll8<(ux z7(WBoqeC`DFi#yBg=I7Ly^RS-Y(QV~v^zYPpf6FWQ|rxjyNaZqy_{R=UyF3lKas@v zP+|^E5_J0oy{>=q{Xl^f*$_&R-HiVHcE-LBr9vnU_96k*|Gj+pJH++6a3}mHu9rU_ z5F9r?+Hdp;$R)8?!!0g@!JQNBz#_%D`PRZ(CDM2A?C2W&Ghrx(S8MLGcC~l~hL>>Z zl0yS;O{Z3!a#1DHVCBJ}&Ju)8HK@mw@GdN>7Mn1;Nx3G#duHFLchf0x);>&*%ydR( z6{IxYrVNzEb^7r}jv8DMXJzjk-7XQ@FdfDN7gZCKQ66eMD2+0+wzeZ0rJv7ei1WI8 zbqV&emXIVutvl4@d<-TjHD9o{^e7kw>WmAjl9s*)7Mxd0llG^8sUzGcVbkmQkH7ru zIwBkZHx#~Yzw*ES=^wA44+Q3_@afb1j?AeRgr2#be2;(l@qd2rF(|qATe1a{&0w_Y zJQhi-1%##ko`~u`KayVmfJ2m{9FOf;+*n>`j9&$AHuC-p&|7G7<;%GP z=l{Oj6dWP($}E5d(!gXQU)7!W6`1KUU--cCQsh{{IH1!-;~D#T?UVx5#0)xhK8qS-M=3&q3^ z-QsM1@6irm);2nsIV34vWTJ{`nfgMLcl?%^><9VE6YhL5QhLKDaBb5!GVC*mTAA4> zr#p+{;QUrZr6X@>5ZF_iku_-&67wWNQZXq;l>u=$XiA?*9sk7$%J|2KX4v;fFb&E_ zFX|_p{Cmuv^L%3-o<3A>4~o@b>>GEi*wtialjkJAL87X~z@Kux^F?m;dRv#bhSiYz z`{X!1ob)mwqV<*Z~ zhq6E9z_oyVm`?E7-w0;H*35fEKeU#HtY&wy2Nn$V5P*1Go_)>_j?a)zN|*I-cYfe>jsUuz&p zB1!cp`c^mi4L^?tvz4t5HhI-KfSFZ)J!Xq0{$b-9HwvMGrPuv3Wo1EWUsM?j#wf_t zyt3m_3(fIJ6@RwnT}HdHDe9bab4cK0d{aoBxV3aXtSE%A*7gDsl?+d!V;`yN9Vh5=4_w80X7XCwm__LSr=t#_juWSzjQZXVJ`(|M z?zB@!ynhVUp|5Rh1t1>B(jRvE7=RDZ6n46&_W>bIg?H`vzQnw}8b`d7fV z?i|OhZTFSv7AMK2WoBoi`-FW~yy7?5)|Wb_f>h~ATijfDZae?TwjKp+>vt1%s@}Q{ zYVD3&!XcG!Tq0s21b?0vCn162HA~;JY0PW0_I*PW9KG5unydcVrd-WeQOAo?y(Zc> z1@oEs*O%8FX%N;%p{Lex**tLcQlgaZPy{&eqz0^JX&)`G6uO4~@31-fMNLyK90&LF zS;nB1E-z8GH*eHMkGWit4hmQjy8dIXxESVqn@pYb68#(C+KUMRu50NX1p*s@>&|Ha zxSj@pYu*Om0|3IS><};w0N0VtcojpDJ}H1~8DZ(Iykvz4Cjwq!14E$J6aa$peE2g*G@?)mdCr|oy>iQ3~6{?k~%8bq85 z=tmoiej654mVhQ~cp9$#*m~d4l!O>V&lzZ@Tr>la{Gkr%*Lx+SHosy^JTm6BodFmx=~Toy!ynJi zzaJ!9_3qTX@$EeWDm<{bTH=rQ|2m-MMQjy{sK~of|%V3Kd8H3z*a;F}7s_Itu1YNeuqPvYvswvvL z@FBBfU;@?>P+H<$+AZavApATM6JoKx<|pK+OA@F z`s4+vxknIWf_3CkoYemSy!QGKA$1~>rFCjG6i;$En=~rB9lu8EAXzK{7S_r;Vxl^> z%!__2{AT!%eU?awd?Pz}AN6g&e2=zc!JX~1Jc0TbdKm^q+h=a=_zCuwvN7Jrq+S7v zKZ{eS-!YChFI=mASNa&Ea;X2m=TKLs zD&PFZ0{H(QlX^|c*MZ}@_xXOB-9uZ4?R(DKikz!C8JqEok=@CoVIsfm{4Mv*^OvXZ zp57|_BxCc#{X2(3XhN!Yjz}v$Jh@dsFznz#;ZxPa$Fp*q0;79QeaKO1$z<}nUPQ&G zX!fN$q?NVI_@+#}V^5gB>kq&lFQd__qIT!WsDC=Jm)ADCva>&U$5S+=wa5qKJAYC9 zmp|unvf`^cSkkSq1Bz=C<7To|ZusNfs<)5!=f2nL;=Gg1(uqL%ppF#g)UVX3gnHC{ z-K~%Z>JZHtn7<^B$2bnz?BlcP{a$VOXJl)0n(I}d{b|V`Vf?mRFH|3~Jt**#XF-~3 z5KJ&<()xI>RZrh;zUlsp(x4DJO>YO-IbWt=;2XnGWy74;ZYI{iN%`h>A74zSTs1E& zZVi_q8;~Kl9Z7A7HSlLzh9=t}jeUi#`cj8&BmxMFXpJKdPC8D#!K}BoHdtK2ofwDn z1JkE02P!ycdTe*xb9xjd7GZVJDH=9J7}t~@;F7H5F+2uXJ$Sk;UyGj*+NPa5A<0>W zORerylakGlOiInt5`yO6`WRcDVq!g4h9wyflsHPb=mHt(aHJMt-DR!PSfId_Pw!wVH3?S-XB%z5h0{ z1l_OHcxPLcyyx0rRU?K8ZAAJUUVRuX>YPSh#`z7 z@6Zc_WkNz;x}4Iot%Uh)oUhPoLLN1NcI)H^lU=KZLIf@8>gOkRsh@2j=srkvsO3VT zO4D?Kl6OrnP-~J<{al8F&plB};#Lm7&Nf+g;(#d`5n6$4X1J|4;bB!iw{iFYN*mI| z|D@Pd8-K7L`FVN)i3Py;osaVFGQwJ4cP*tK!w-pb)Ea=F ztX-`8p^*L0dZdU{kpE88%jV7nxi#Cx&Q-gkoSE=v;bqJ(yryx-k~t7Q(=+X;A}ojC z4BOYC>RsvbvQVh$s~~t~ok2IOlFZL7qvt_wC?vLso4dCnT>X8VELGqP4sx4d1N+%P z#Xd1@!q^QiO#t7vvvKez^`ay^7(2-~f}2+&8xH>}{%2SXwKoT~na?_zb@!!}GWi#F zZq{KR+qVu`nH9^=rB9xo7~@~i`ICvT@U?>x`t9~G?>DcYH6CHT*sUs8X5EMyRL}nI ze3mcslc*k&q*eyXBIVtG$z8Yq`hX*L^JaqX-}BLXcaQBfy*GS(!_wvAv+DhEt2usy z4ClU#i=d^b-mCF5>u=IV#T%+B36(6#^tj1`1XeD)XdvW@J5Y8s}D4ZpNef|Jo(sknE>CN0nK3INZohiFYKV!-rtha|`OS9?2UyWRX$ziL<* zT7=n(^NtO+sT67immmhU)bCZ`EgYg-FDBiABTv(UqYD-{?}$^SfIoKc(yxe!nM+i# z=%;epc%)jK`qe`9s714<#5%)`a2{}~%z9+ET8o(JZy`Sno}JkgB$#t%Q{CNflQiFJ z*)q~#Wo5iRXxago(2H%OU;kd- zRX)J6Dww0g-X6Q<=2vrMS&`cG@I~%p^Zx!49*EH|LO_^Xgi{{1@~2S}P2TzZ8ofq7 zLfG!+vL3bwgEQFekE<|^JJhBV@klgztIZ*a&(bbza3|O7`{Gr6Ow*R_6B42OG`}+M0ImdmR7wn1j zZgly_m!~3{&F%O0nf_IW848wwpnq8JrxoynUL3y`9Xa6h5x=sPO0+&_yfi!dX`8TB z(U?)O#>unlR)<)Rk8VAn4gEeA<({nmbWaXTf4?VBZEieV(6>I;{8n~$ z!v%%3DW9=*3=hEG+YU$GAnkCZB&pH_P4y#hoZSpF%To+QKXbEe=hd#eBTAFZQLn1R zJ*>*Km*(-HI!yK!yt|59yW_>>+hHO!9m*hKHIa3I?47f(sQ959=bPxMw6KQbg6e;m z%n#mjl<}VJuTUPnwIq|NTfe`FpA>Q@#>WqzDu+c9&bK6~4n0Ri#>Z)97N}SG6K*Sw zwPm&~l^7&>SW~aXL=t-zshu(Y#BQ~WZ3?K1)faw0`L9Bh&42WiE8BA=q1Nh0$Q1bb z>57)+o$?MeWTs|n((GF8r=aC&yt~>1oQ!h#4se$Dz>}N~|NUY(zz>~e^7K71m*Rja zY6lgR(Kp!Nu=hz?fc<^(;0Y5MuJ@uIy={iAMT-QxWYr;{|MMc?uOC~!d1OyfRH!bC zex=D|*8(}UHX2{B6_?P79vXC5)0({NJ!92mq_e`m+6n`oxWJQG!YYs>#fLl(-U)LA z@;?G3|C6?n-{hCCZ|JuDPO~OL)H@%2Mu(s$LI|TphlgacqH24|bzjdO1ful42o=vJ zEd=uuxu8%z_S8YDClBY`#f6tPvb?wbA1hm>7j{8(FxX#;FuR}!A($TF`S&8sE^e^5 zb~QfUu--}I2=c62k8~&Xa?5pG=GC%kasNa&Jo8T1UPUG+7g{}gc+l`qt< zFI}-LXiCzYul9Kf&UL!leNCL})F7uXiFQn#3-3=`Gc9j|J!pdPj-~N$h#8wIuaIwiGS04=LesN8)T-m2M1@ zGX1;Gn|x0GTrr1COT(Dmp{)j|FR9u!UPV&$qE5}I-w7O#vX8N(nWxLL_Q?*<$=tqg zh@J|*T@lqmMKU8&Gz*iC10zBtVOo&Ejm$y}AZtZ^d2^R%_c3^*t93v%sBGHGwBNlhd?Z&sE8)p`b<%+tRK~X(u9ZpeOeNQh4I-BmVOG5KDku@^=y(*67XSzh}@EC5(Ru5R7UD^IZ zPO`$k4ya$L{sk&k7^H*SPGscAaJZ|7?PMwIusdDsUL|p+vMF=5yTc_9V$I)_`mtOt z@&H_Z+qa4^zrP&c!jC;rp!tY%!~f#URgS7P;<|h`d|}H-H_cz|2J-_UrJ(Qf$fSwH zm6WB1yaNoqyb?ZBesE*v{&G;x@bABZGZ<*;G@qw4b3J$WrKN-ilRdtdG>bRAYf8Xd1*+1v=C~&M%$uv*`1?%a^+n_-W?!E-Z)KZf zzdrM(dq(a?tcW0bNG8gjnLLJfd#Mh|ge24H;1U?ImR($bm%?*SqVJk(3nVm$aZGvciDPpQ-h5azJ zo5L3=V4)uEYddXfK7Zs&ui;ED>Wvg?;K07T`BWas;;8!g172tFTej}L_5QiT?i;+H z$Qnz^)ar>aViJk!CQ&gE#@^Eog~l-}yKjQ+yQ^mZ1^;DZBdUb3m8RUm@1jx2)KaJP{Rymi;se`v^X=Bk9pYkKEj1rm5nU=BY;;UgwC zyS6EClKOft^i&kM@nW@Ey(Q^O`oItfy}7r=p)Z2T&N0x(NwtQGbmzI8xlR6@svp^6 zs_W)R&T+wPrGd0sWFbi(&b)ZZ@(hFEx~!(R2of>APTj;UQuAVss;l8OqD0d%!r`sY zxNKAJP^81ETQd;t!`F7d;H&-P7gAWTqhU<;^0nz;Si0KSzGV-Ap*>O+_50Dqrv6TS z>B#qJrG=x6;d2e-l?5&seniYKs=LWLH2G@;PfaYIPDeOJYfU!KXrb=1N(-E?2Ao$D zKJ}M+gfesmMp~Euv=>dGGj5u)VTGq`#?_Qq^?Wk7!TeJNvkz`ocr*)xE1*WsNeKs( zHuc}8xUm`zZB07@Hujm3^tg(j#y;-LLg8~+*R9&!%#6O3ZlNRD8)CP1)P~qCM0U*7 z!8nQoy|rl{V!1jMfdGN**V_2yb)ok;(ea@$H3)G2I8?XI)WOBy35S+e^l_Rb2Js^1 z%^|>fj)C8D>}EQjp9qs62Y;9)pDaoNIF z*usnTsh@CnIDnO+bP&rX!vyxoA3tI98$YN~{ONPG3;Fja7^edzbhyIqoA$xG)ij<@ zyIVPz2Zg-ko>??cvYlDQjFNt{X;}?;#i*AQyIuF%BM|08lUxA&TnX*1=JQ``$t%s{ zczqv=jfrj$YkV(rM6XpKl&ZH+po(apeBx5faC^&qPMQ)u>Uef>wptYuG5x#R8!s-z zj;P}IcI{!(jN=W1W<`df65GW7;N~!=avX_e71VbY|0!DF<3u<75F(+gMG~RZioiqg z+YYi3h;ovox!o;ApRLJ->{MjS-AbZ$dPKOxAgCqIZ;!1fU;9CNN;v@5$SpMj@%N9t zYcCZ1bx=0Y=a-KJ87VH?dQZvBSbr>wCocdoHQm0*(ld$tJY0z5aT0h_4zRX-TKr4g z2dPsY@r|Vih6ux(o~cHt=RlRl0yoe_Ws-imrH(BjE-yFncLH+{N`|f{E1|v2U|{Dd z*={pJSZ4(ft>whOSA|yZt3`I2dTnWRE}(B0 zsw;Ya%N485?r&l0>FN4(=4Zb%HXP{Q!-*HFR^>Jf3vSjStEj>Kf$4&|6a^U!koRUq z{?9vOu5#QCVlP`$%#T_@`X_bBCcyU7*1Wey0!I@g{-okgG z>2R~nbbqT#8f?3ytIQ4CFXLfw4>BJ&%&;uo@Uoumzr{Mr*U5DRO37AQ(+@%B;}xi@Xw=>^zf19`>{bG;Fi^z}>1_a9zyqB4h_H z58cwVPj(6B5#?>ZbRj*NuVsauW3#p>o~*xWcV-kZ-8URBA;zgr+#EJ)(4~P`2;*!^ zQRNLh%N?jHwPz8xd7EX~y()SR%t|8qm>MtZp_T7#@Sk{XkN9&zMX7K)N|n+v_+ejo z8@ph+t`qaQ2;t{Ae58ur(eYXl6slUh0WxBA?)YC=hyPh-ds!_gxZlTuMcRKQYtmUE zZbhkUs^yazcBR@qJQHl`GqoTN92pZkpjliqAwoS z&R@iDnP3g3HZiB(ZULG9^U;32LM~bus-d?n{X>YP^<<=FXhes)DXo>D4A*n^cP0Yl zI>Hcf20RTNmo61?QkPIXb$D27fp>npP{904{ji{Za#D}T1dx`G)-l9m6r(a_TTgPi zMUGI%Fg8wKwv;DFTy} zo^b%#TeJcQY>J&$zRn3SgaPX@ob~u0_=K{V%8;sN4GDYP0PpMu2g3EubsF`?FtYo*vwJ9$dOn{A zo+f*c)BM=jwGzLzBv&05jKY0p)$)TmbyxomQ;XQLDN{Yv6)SK1lG*p%aV6;x6kxKL z65W`e_{Vm{YLi=`d{*(xBs9rvBrVb9H-H&(=(3AAT)J+sHZ`#348>>ZpXm(+oghQu zHc$HL86D$-cA4tl=Ba|di(<@)8-f7y{tfLe;Xxb2>#rYkhS2U`gKZ4k2hc<2O2;0C zd#+m+r9JPgdggIQQYP!vZ^=XF0p8uI3+wy7d8uM8B^*st63K%z@9}E+G^D(KXVCmf zL`sx4l|l@zVrz+)@!6akd@jy)L;Z{7GgT^=*kZNLX}_>GJ+9jvsm#q|hDvp9bIY6F z-G~d0pXLpCHgKA(Map_-FlpvFz-HSJW2BH|*!7l$FyulCAQSGZC1*-4g0A7czQ}H> z&O)m`>Wca9OMi)r|9zisyoC+e8{VG$lEzmo(U-bzq$eAotEmt%w|fik?DG5ikbwYk z^q2D^5CO~#gZ9641T&1nE?aoFC-(nIvOp2t!K7{UxXlI>9y4)~8{Vh^(HbB&Jd9p=T%oloLFF7C#S zA1e=4f|tzb;Mi3K^nH*hSbd>3-DiI8cuSw}49grSJhdnGj@=+XH_Sme9p0pc*XGa&IZFAv@mY5y@GT{y{*3LQ!nBZ%L+PqlD|e~>+R0w zG#4-7otcmXLwN^pu7;c8j5 zdNy2I+o5!=;Ehk^4-p3rO0vvs-#q@g^?ej71*|P?Fm)kZ`$WHgP)F`g(+#GAKCf;* z_fmekZl<{3Y>j={RG~b?@9DCnzBV-08hVqqTQ?d-<-u6NBw~>tHLC7&6faw{~nVhV?iC*}sE6*X$6+<&0xx=k^kXuM$ zj1;X&jn8Vew?AG=%L=j27%g{y|9NIM$sslmzRI*GH8C12tDz^X(X)~sp4(r#a=-9N z_(2<)<`(~j4)$s>Pwi7h1gi<(1##ys{8=L-N&t1$sFFgDJkM-lc7c7qa=tVD^LtY` zDru@>2II;cfcdAlBswlJvFZ}^84@^tq*d)x{2OEM)AJfny&~VXUn^ znl#HhSdZ7stia=Bo_k8bQTe*GroQauckhhDYDyihN5(LAW>)y(8ZC8vC=^3kNjrY#(@y*wdSmi_61c0g(PFL=%?XZX|E>!YkPB4uBG8=+Mksev7kk|GmpGHOjyb z;0dO)M5y=Wv&Qc0K-`L4aNk7XOkUS)Afo1p>T%Fp=C?|-R)VOO6Z_fAWwHu1!1;I` zu+!TgzzAX?6s7%iZ%JS8yh%ETkVv0fgTx4E{~X+SsR6OnIi{qEBNjsF^)XukYq6K* z3?6CO%3a-dhx$e7_!x{6p7Hj`zTxGdnHPtPdUMMZ)}M8jr^)Z}eJ_xr?0%a&WJzJJ z%utcrDW_(;EKT11)<=7|LbmSkD#f^@?Vi{Z;&u4jrv7V`xzEDu-d*$iTjY^A`UkTH zkc5I>%IlSRO)15e%n;@EndY)jQqD(F?{}J3E+tSJUCO34rt^4)G(I>)mkUPFG4HF| z1tZTI?i*I&jfH^{BM`Z~_4yTX>@W*~petvdnL2v71~ELOqHl8a*1rB?3mXUC)mj)WCerj^f( zsXtNCW4+F$ESkrGKo0Ic{XX(* zo8+Y_(pb$xL)#X}5@-&1fRrW$tg(!G@#|{zfwGM3N}q7G_Tvd0vE#FXsC$2J=9sQ+ zWgpt`y-!f##g&y5sO>a;BQ`5p1qh6dCV6^+=;^QX2ZUy(+9^i!{&20k8iWG>P1cjG zVnsY(=K3)=a!-Yd9NkgE#W< zHULp(|!QMoLVV%((5+YUmIOt!9w;32g}i0vyix&f%}P9k9=U( zLKtX>0hZftti4w+(P&SloVUuJ6Au$yqfH-8&3%zzFFuCU2YSd#o13kcAwnq0eI+jyl}&-(z{(^J_>EwzxFFpP)c32?+Ty!Y zvADLSTmlgjtMI2i=Q3$Y*=hBi*jOfW9x18>k)O<+ zF$SVp)Sm-(uaNNOK%f50rCL8~r-77HxY3!d+649sm2}qO6K&glS9Q1tekCVl^OWIH zn6Tp(PW%+d&}bNqoO!WFh{0)P{pP>XEspcDtJY{$pP($S8M>LsHf0b1Iva#(soOEY zEXxAmv09$U>5l&%VpQ3F3NX`5okO2lEqT&S;uF=yel;KIk(W5w}JLV z)y{+K{xu2q^O`1yl=_yZM((Y%y-U9K#+-57+?ZF`^Uh+WU|scvgT$|?4{25|+q+i)e`DIneDRg(nfK44il^fwb?qbxV?+~I@r9{`gfiEme7yG-?rjRz zxc_eRln!vjqB|{%6fBB!W-o`u01uzk?W@4B=g(*W<)0p!(Pj3w@AZqksS_e}q5AVc z?ZoI2-4GopmR2OfDf?PPRA-@>*S&u4mD{cw#o!Pc79`&1UbRTGCY5-#6T$0eQGAU@ zzCR~FcetxXJ7>kcX6C@rRWFb?EC3-+qSgA`9B(?-(pVeiQiKgxwDF!Jh&`1Gm`U29 zOOvi)vzqwVtGDnfphlYy14txiW0EFnr|Yw!fq?#91tYQMu@WBS7vi41ZuTI=le(t; zm{f#qNs9E+|FVG>PApQaSok~#_>#|i!B)4=$SnMA!`Keo%DNMYsRs@Rx;ZIqQ=kM2 z#r^#$6FKn@4aQJOYGK(;%Cs(X;qa%g&AQuu87uK^5v@Q>kD7lo5~y{FjK1ziDv%X+ z8zWLgJu*{P!b%p9^R~4XZbThi(eg2q)gbR#R5sa7Z%j0O6T4zq8fMx~2b#K!)f z6~gC$GZ^1in5G)Rg><$+tgcBMhcdM-Kt`Gw=F3IfIR)-$L*K5@#2cok#2@t|W;gpe zC*36NK-S$NTIp73`HJr=Gg-Wo?BI1mV!5^B%B3PD6wJ`nFp}8Mzkuv0G+Q-N8@=$m z&|ef8k&q&TB0TfcCl`XUK=$Kl5KXKt&qy6Q2_e?Xs)pcKzifDVfoz%P3lP63{@kLT~=+V??32+**N_J3qDQ3?LPbCxa*MKo^2;=m-t(^YHe zPPJm$`1ots^`dy zP!_`_VOBi{YU#Pp?-o8YX2!XLG~?jX<6Jb=KQ{j)UFY?z>-?j;MH0zA6K_X=KMn0s zYR-veD=X(heU}7%q+?bdj6Q_vS-dyw>{eOq zhtq@}o)df-!^+PvN{+YIo==QJ-!1MQ3yy|G6$1rHa3v0ChfkcT6Imds7CVsWh^#6E z^M(%dW_U9s0!0*~=;*Dai~#S82TJ=tBtJ0OBPMEy1G!8ijZ ztVdPH9%INJK=|>^vt~hSEDAqHwop?IKJUyiH4XzEXW5;QZnT z?DBE3zibJ0D9abK6#rMV@E=8Qn>SFCbv&jFsJcMa)uY1UWs8x_lN0NJV+V(kx~x?v)}QS6M|rxHs&GD2dP zoT+-H@0|PbK*U}tCtyzp%!Ed)FSAdv84URzG zB}_H`wd6GjA9~REmFYw7{ZRRlX%PDqQyAVf(Bj|%VlmqNS}XefD^DP(SHoN_O;=Lc46Jd-VDR&XjJXAxHy}T1@`_p`x+|i??))!bfX1YI`Ph)+LVx;nc$ig z1$qR7=6TgXk+i1GJo_t2@VTLdXLALHu)yXE^%{H2*(wC4<6l{A(k&$MDW~DDD!pWb$wmt@%LIO$R-abi>b)W!zhZ4%Jo6M;6J$EyZIg* zO5{`yJmz;A=Y5U`;2e^;Un`>TDCrSEa^7^9tENU{3`D&c(F}&1T9hgEZSAx|6CHL> zZTNUtMAS=3-<1!ku43G}L@#QALzHO~>myr;5nA+Lye;{0@AkD9``x6R0NGGUu`ejF zJ%K2G`X{Il5sMeA-z&+K9E|Y;JYhvcDa?Xwv(XY83M2r4TBh$4WcoPwC0!4_wh>?tvfS*O|FYFS9O?#%a!z=Q@2?PH9fR3Q)ig_}UOOXX#3I=U*}E?Z}_yJoUkcm2K4{RWMQBJ~)_M>Z%vFDOBZ|Ch9`; z@lu3y6(H%!TeJS?0$gD^3XHSA{iGlKT=`tIXL;&MJACzG5!SPUW(o0O_j$QecI4En zDJe1gJ=eV~3>o9h-3r;>BN2@a#+vU|zD|gJ>gTM?6Ox|AUjIHw5LnS&FnlT3sZ%VrT`S%e}t!#OujP`*e zH!L}PXqj=2>K#vkf@i`+dHJXQ&|ZB=!L!^c(FZ#I#AaYy5VT=iVA8_tS?p=DIm{>E zYpr-qEI}8uO3TUEH#Ws6NZAChvtZ|CMXzM0h~N^W%tcv!o6&|Ch%}i`7*-V+4x9@pl$gxr;~*69(ZhTM#s%6K+T4fQ zYsnnK^OR6NF<(lelR~Opv&^ zaaO+;sB1Ms_5stxUywMw0jT*RN@wyqu8dxBYQG5Hn}L>(gGJy`dIB-+L(~ms7sCoj zL#`8KZcAIQ&yq>7{)^GH^$rGsdRz91}BVW|KJVIGiZri3{0_K?J zC^O0P#X9mvFj7nJ=S6Rj%shcSk&<_~N-LF$y0~OEr`o;b# znCS$bnm*vlweUI@lr9xNI(?#nPXCCMEzdVK!}mN_{_a0ja=;cT2(4e#aUD!S&1TBk zL_+ojF1oYXGKwqC8l$qY%e|Fx!TM^;$zji<+ZVoZB%u+%E+E2boclN2Z_zJ z>BbbPTR>d}gjc~L0s-}_6cek(TCKt{Q>Fr2#et~OIT-c;E5eRZh(sR?JRTzA@+<{1 zFqkp9n~>P9I<%@8%DD(6cfY7##KWkVxCW3gNw^_M{~$D`wdtI*Qei ziilbji?Q;ZlkIkli53~I-L9JnWHrgVbx-j4k={5*up5&<&I=GrU;I!VK643#o(b$&kf=hg4u2E^`4k+O&DMI#lT{kl_*+yz1nX%}EwHi(-h56Bz8RHKQ zu7t>asVPF&A?9h3KWK$US>U8PY&8`o@htc}~{Y<~y~shNkeSF`OCGIJQ9Qx#kA z78oD$LV-eZ7vyO3(5}v&bvA@ykD+SRf}rGbB>?L~)s3oZyQ70u&QNSqbmq8RNOJpm zuxli+H=6~&p-R4O9|03cfZuW1JQJ!l3+D7%Bxch`rga%xNc+#FSI4I;FE8{?rEjV) zTkG%2emA{VSuZ1W<7yv5pR2$rZrnRK_uA!Xs!v*Ms=MN#_u`H4uEMZN z95TYnbRq$XoY6bT#s5glXR9u6$ErwYifJUiD88=ZrAmNA^srot-a^w}KMR#;R&tS= z^ICsJ?!A_01w^P0m;K+=;aJ3`$)BXoEFU@SIV)fCSDw!!jekm<72;@_*^Ke4iM{SlZy2E9Yr0%HrOp`7ya$G|F6p<5V|~^5VgD2 zUj>ekx|cExdkfOtga_;dB4EW;t{Jsifx()eX~9a&g{UA2H7>-$@K?zyO>@tkcCzJY1Qlk}tqbFb?S<{F$~EbK%e zGE&vym0W7wgOmhf54E*nMX1t|qU9D2Ob>L1M@?j%Q`B?*-1&pnB7PHeRcs2|@ssI+ zKBPS{3iz-plp_x8t44+&n@lS%^n=L2{_$BgZ;P+Mh=d6h43vN$jpvofS>Q=F;ih)+ z(nBcPv;c8r_-(Rn=u;@y?Mvi=^ah!bLFnrK_ydW*Yn5Sl zr8-3J9_n4=pF;RgFw*6!LR6dZZUd2)8MTU6%1oTQ)Q6J#O~=ARd0>Tzn}V})F4+=# zM_>m$2&7O}_0V?C9d-Bk)Q6ME;>Nltl15U!C>YFD14`RT@qiH3<8~2z8{>Eu?N+Vi zoa_G7um|Do(_O`S(tdq0n&fm3f_;>R+PsQGCgW}ULzRn9?(F`IOjSZgvu@B2fHI+$ z>(fiO5t=`UIAxS2!S30|Td?#~I6k`(e_*|0t%dJ01HF`SxxsCt{;wwU zYt=@E+naw&4_N8-w}`ztU*95b?a_m7c-@WrP!EDn$feJ)KWz?pcVte2W>rkjFRtR= zR28h*QUVQXQM-dn;I`{8-bsUkmloy|GO8M8`f=|^Z^q~@9u&5`-9|BPTu*!cHJT%i zsMdp9cFMvNL}T(2dG3S6B{V%=<)@XJlly7XFze0tNyFA6WMqY($#HJPGc?DN-4Bz7 zi#Rjx8ZBaR)_ACd-SH?iFFDcLn)Ja$afRP!5~QXjNPtxf)r|UoFlu;8_CFXkq_^*1 zwLtVwHzrL!#C!Mjudv&)&3djgIIaK7S;KK&P(c-XdFut!e1Lsfcoxb}1#wH-F&noy zJ<4_R{vIf4oC8vTY+UKPDlId%WZL_iP;ulBaFGNwX!oCoWLzGubjaE~r)frD?F2;t zyHvNPrhEzqg4OkQ>{`COu{TiDl&U+-?n4f6xpmpcJ%tQ30rfnKCIT#w1{9RMKN?-$ z3FghNnil#r%gY^QUOQ~V>WZnnIv}3kd^ZLCzy_4Zz2r$e+LPy?%qdHH;{R}Wo?%U9 z@48o1uuum@loAj}Y={x*O+-aUijD=4PENwBye~Ik9fEp{eIdByqdNt^qA$5YMUXS_@UM7L6Ly#QQ!zBKu96GR~R= za%kF1h}w)e{VI8|AqNU5>U}p?-hTvCBO)Je0DWhn?S`cj-ZucV&{d@;DnopA?o)(T zzz*hSKdE$^S_$v9-VVt9WK$V_?I%i!&L&7e-#gi*Bsu%J)(Wl-2Vn}Mq6=%B$;8me zfpQWDY!fI}#8C_aZW#N-YW^(}7N4*2LBkAs1tF=i~0Z_;dOX!Gjzc*O^7dESzVAJ#3)>5F5{SPXXZ|rr z0Sy_dCIApvbQ~TXGx}LyY14GV&#dN6^RuXBJl`2lRBkRGPsK z*#wtglixWOohnOGZEP4Aq97tAbS8i{lP9*^x3x^PS;Cvy3>~kMd$_in#+qIYLd~ARW*bB)7s@FlvMD7c51%Q9JK&!4t~-%O6W<|RgC~Kq7n4zcJMt>2jB?3Bk7!w=y60Lliev< zOvV`&dsScT2x=Pc;5kL4nm8r8l?}!sj3hzB*+juD^`(^wN@BrMjNH_zV2R5&7zS{W zjDOc>L4y{3NwAMyJ$&edm{G#eqg%R$9AYKveVfqrI@@+N|Gb zMr`7j&$?u}JLtDE&*`*XqhZ2A*G!WNm1?0*->oj^+DA|iWJTIHz2x5QS`Ty#6GQDq z=9{tn&WOR(7HjbH#>e4~tw`vzok&xr3T+FgOO`oX zq`f}CkM6Ut5`_n031b%Lj3S$G@ON$Giv=*poLqZdJk^Aft<7SXce+K=acxnOIX;(_ z2w68A!)}De;@}+($*g;Wdpfdz3057EjLC7nR62?Fy=K-eB0Tyo#R|DJ+so!VYNUZ) z46YKlX;{2&hg~2y_H8DMJ{0z$j#g4!r_Db1Df4>A^?1jcE##$jUxobAtyUmV;C-uyRSl1$+GuLCc1R~~eJY5=J_j_ebHWuMV+6&y?gT`Y|=P}vp@ z&U$y`^WF@>%@GD7vC2L=?KW+9cGbH@)oW#bnW27V^+Zp4+cI`~SCU*l<>^Feb)46Z zP+nanfPs7p-PSQ!-=^M&=W@b+YJ9hTe)2y%iLV%!jAlMnfkb zOc~G2`SbDZB~09`rb&r&Nt6nNQ*}M>y&gV>nW?_%C><<#)0%Gx5JIeMKH!$-RzEPI zg8^*dPD60^XxY;~+DDgZDmdFG#){A1xAH+ePGyNx9&~b;PU7_SNbBU=S8gcRf77A! zh58XvUe4di1j&%FlA(S>(Q+qR(}YN<#Y|Er(5;LH%Fvd~QJ(pHn;dO-Wy17!iM^cSV zs%mY8Y`4{-SCi9)%kfUb4an}>?4cac6i$Cx6@9`<2V^w)InZl*;7VbWh%hHJ?TW5E zHF2R^aY?S*QMQEwbi!eQ5t@i_g!&OzmxraAV&^HB<3d#%cJTYYT=SE|{M(TZQC&fb zt)2e7B|H(YA$m+34HGHN>5Qku-N{j!rC%{T_s&UIPybc{lJGgzqz1Wt5d>DMVQ!^g z=p2Q-*k@0C-Tvl=Y+e;}HR^wNHUtJhR@eSh1My&O?~7ZZp_I(tV`Z%vB>u24nIFgz z1_%ln=;0AkA83B}@IK2NBydHU4R2tig=1JM|%M|sz3qnZ&Tx>p&N9bJT$MDgn6v(Nkv5+W2w-x*~MI$%e; zM#9vnCHM#I_zT8P7A^*`uLPEZP=EBl7}*3z{e;#+yaq6G)d+jkEa`zv9K219tYySD zcMu;lHG|TABd)O1Wxc)@bba+A?NtA+T6%vHs+JfHB+%?$E?Vw{& zrm1Y$v+yddiR9Wq_`><13>0B-OKpav8A)HOuY)OuLOzA7EAc}y4rf4&Lz}3~=iEXl z#$hm|W{s_5n3}liL4hMGl?Sz*CsTl>Tit_bnj+niZ8zP7Xw!P4CK2+U!s+-ab@9a! zBmIpROmvAg+xeOW%vitl(A&tGEe}JvqEw-qShTV9@qfP*ANrQNcx^gO#UI*+&wUfL z#Qi0#L!!_zM3AR`cMR=^3ef#VE3wxx``7Y&FPs9S&+^^9msxngvO!X{YS1!vBAg0}f^(?TNUGMcuMv%Sh z)yT2uQjSQhMiD4l6N41dK~WjtL0>8hIG8R&w+Z8OUlf}8Y-4no92*A{bC3uQl@!CE zJ^@cBS^WG3*>s^E{FNgbYhi@a$@h^rPdHt+)j$-CH`-`ebx}OLW}F{3YI+pgD@TMM zoOFP3W5vU$qI1&Bxn#Xo1tcw-5bp}xiFoYXU}S_H?Nn(@D-uQtkwk~HpU)5~nin7U z6fo*J9W#v~%^R_F8F~kB0!9^jt~njLhxS*C767k6mpjs| zQ{KlqZZXH3N4mR9fZ1x(@vYP`oJtjSVWBbOLV4oC^2w17quxxyKbb!8EKOc`#HfzNCcm=mD7^m zMZ)BTRkWKD&XayhkyN=qW?TC@KVy9A3Vo{ zr@oMQUa}IkPPr-Io#N4b_xsDeS)xg(lB3plg~67&+2?jU_V0e$bg7jAx!2#Bt9qx6LUhsDwUKsD- zpT)^x4KKE#f@fEaDW9?!cGNgH>sLiG>9}wA77iE0Odmup1{*mBxK4R+J2e*vI*Fya zkE%IeOONXbdP(IFp{xjEB$YE5-ctIbtcd?6KSts&^iDT^z8xenj+z>(E(K%t5yD(8 z55Q6Vq94(a{M{<9gba28z&m_V3~8<7wP_=3wlHOU(QBO6lHzW#@Os#VnIY#a=&;&6 z_ohD>2Dqb%0DZf`+JYH4UTJQ7WTNW`4|?(C&qsn{l2mDAvf>!=RRS6SDZ*+cJIuq( z5@r#@o#El{oi`(FitUL_&Id2;Bj)Lmy83wO3_eZ7cEqPikq06t5+ddhL3}xasJ9sO z<^KDM({J-5OoiVLSl_^s&3s-*p}mPciMlYdxn6C71tQGKp*Ei5KnAl)|5M=3&%TTN zSgXR(yAHehsV6#HGktQrRmZ1c+nrSB1w}VPr}o|2c-`-u7Ue51s_VxK^}u;2XKiZo z@K#S^$7%*ehAHBp;*-r^Fo5j6>$;x2;ZxNmjC+!3dhS(+v5&oo617oB%s}<7vW3d6 z6^)O19A9p;Zos$UEz+(gWMHl~idIDCI1oE4qt(XzJ?L#g>!xu7gW|(m5o$2h_^#Sf zib{b!{}B!4I>NRTJ&oYmbk9|emsX{-?`7NZ?H=q<PY&N)`^NKKB(o!>YHI~S z!Q|P~B+ndIWcs!&e!a$%VdSiCSv=z*UV^486U`3K$~@r8wrj;U0;Y#Xw1Dl`b|&lp z9z$W>fzS^45b?C8%NI3_xir_;q!M{-!IHvVMs)&a`f z8QzX;tpn2KPi%RWf)2WW38APmj6t1g6W_F2#(UeQ5P1HPYtye}59CwMtm;#aQzHwp z?obtNiv%1yG}4Dg+PfUmlqDUs9KD)xvyDRyogKzAC$R*&^496R>omUoD0uMKlEyz< zSpFbq?b_#SwM<`r)CQaPJ!MsWbh55JNi9=jGSbfA;&1K7>;KVf1u&x}`I5}24p2cq zUc(q_c`5M;uj#sqIVi~N>Z}#9k#J_jsLyXMY@&rGtOBHcRrkd`j%;Z0(3C^21&3$A_f1&Org=Q*x`>LDGG z(y$Wt_&vuo^{SckyIbHY6 zORc@N4&n|z($Q4?ZuJcdiR!MdcNiYJku{dsQDAJ8;^B{(?P?gnma&*4*=Bl?67xLQ zr?FaUYhi2EA1`H^t-X`DLwJ0t_=bT_mXG4tTFs|r?2maELX<1ZKYS9is3|-`wmNv# zhrtJPVFGC|tf^Sr>sopmqFW=w=|ZH1zM31URzqbs&(RLPyr8S$s+Bq#*%wY!XJ1+` zCh$I{YJL?nWozFxw)d)Psl*0O^@P|4v)YaeAK!VJAQy>7NGvA?Q5&P#B9qySk(@@@ z@w&Vv3jjm->8h(IoKTYJ!Q{fUjKIC$lz|XBjQ6NK{_h3cK@F%3)F7$Jf?x~45~MCJ zDb$&wntpVbDKu>US?E~$d7L!QHH~=pc%UNDB*QAf4K-@6YlkI_){7ENL9B(t!n-;Z{B{@d zOql~?cXmiN1X+*2(AI2b4OJareQ^qnm&-VphXtwZb$394#!*O#+F(*8CK8(R7{bH=E)=8)*Lk z-70>~6C7W9RMZRAf`%T;Hc%~N@@nDalweF4^z64K{WAMqKmK9l*HauU9N7)&B;s;Y zia_lju*6r288?~f9sypyApYcmTUs^JV~dMFwVVDtU%UAJ*aBbtoXWgNTYp3JunCaO()gF9oqWFU4Z&UH z;o^oXKHn{6)%B3IqvLwoBR(a{r`ts|FmOB2oM86wNb-6XyAWf9bXuc1O}%(QW`;L| z4^0n7k550`Bpv0)$69V66*M3%M`v=|+PsGIK1RokR&dhy0oc)E0OmrZ#AN@6S-P@7 ze#R5MsHkP3P_43}Lam1AYbVY^(HN)-!5*G7K?xEg<-KD&C^MPGvb2j28wJ!WdQbCC zY4rkxMaT9$p=cGbup6Ti3%pR*>?9p0Wd)A%9~-0;g8By7m%O&U3^?EcqjNE7MeZiti88^kb!nu1#%$e%iD{TjjupZC7i{vG2nePuos z#IS&&6CQFx_a%TCY~}Na1VLk6{i&v~PZD0#>b_EMw3j_~TrWtlwty_~DO3VYBiksa z>Jg3Nm9!mNSDAdOq;M!_BdsCsnRA$qk-1lnf;PHZ6+!#yoHk2`cSK%APpk)(Omn0h z$`^{(0HkZIbOpp>sFChIoTIrOp&Z_rlTWxAQHrmwwu}iAYMZ&B$Gc7pk$+P{__UZ; zJVw$b9bts6=7cpE@DnK8t4bKD;Wk*b_i%Q7RTqcQ8lgJbmg(g7Kdl*G9A3TA6n~R? zyx%O^ywJRH@pqs^YiNrlIyKxm!Nok{_+C@!BmjZ=10G}{k+N6(ajB9Q7Xq4^`* z5eF1Nra3P(OI4e3O2pcqcS%H}Xvf5r24A41vojmlfY?kX;bqnRpso=+e$HB3UZ@^VZ{cY{MibXLRihM@7y2pYqMldx}iQWj%J;A3vhY+xL?&Ji={IG&cfJ zEFk{$Y{35nm)zo4Uc%l~S7yoVoRXy?KbY!HC^x93p;V_9Nn1Wh{z8emyov;5N(q>dP2O2J~aY?Gkf7< ze{~d@U=wlAuFLkGGml4WPI%R>gqD`3oU{C0lD{cRZaxm;H$2uz2wn^GUR4QLK~1dT zFysw%wMJ%3ZlJbj11&Mw0AwU^B7Kwr_4W{-Ni7g?aS+e?!X{@Qp{yB@nX@O-6Msbq*rswIZi10(G zJFfM>e|(-!#NP5GM4{^3IyFj1=i)O)tY$xtZ-TU5f-YFMv}BQ_zpm?FR0&b7FSeEs z|3BDT+9A;L^9TFCsf_+x0@;^`5wjZ-VRt_W`OfOm68F2+<5Iiz9lqJDoxuN$?6AT~BaJWfIr`4MK)G}H;7$KsWAA7BBCn}z5&Rb zdREtw)xQnEanBj3cV^xOQI(Dd?tXK^{Bx%|TVp6*;g5>Y`YCi8Jw3V0@bBu3J`z%A zI6kwDYwH@H5_=x4T_1PvSim;;{=I#E1yB5*s_gZ9N#oujc(cO!%6W6bS)S#Ww+EXm z*16o=yv{dUWiJh%C53jmeD*9;O7MtK^PL^)@7ZnB0Rz7lx~bt7EER$4BJtd-*Es6) zVfGE>AO?CNPTl>6X|{F6>POW-=beS<{|+J`YOUL603QOz-kHH8jfFT;j3um3P(X8L zRman+h?v$*Pio2Axd?~JVOMy;cMOJHi6`r+JBAoUX0Rte3P>oOEVd&#X^{odUg7N# z;b{puc~@?TJHFU2Zfjz%qjE#wxYzV5Zoy!I5JiEy-pMTwP|2;&4JT@9MLXhx3fD=i zi1H+`f%yuNw^aQ?s9wXBk`SN@ycU5P>z#AXwjv^7o=hk3(QG4?%%%&4vN;|3(50yG z+gV0w2pe?r2iPDu)Xsu`xfFd#$tr&beI%EE5KnPc(RUA+sDCAO;MJc-0(>a~?O)99 zs=z(*M{~JQc7)~BoPZ6lPFE}^!8MQaI;@>gPRv`ySYzfrnd9~(&n}?^EXTcy>pttH z@39`mZlf7#%+j_EHt%5si4NxJ^~{f?;Jbz4InNEu)@!5-RuKZ*?}=S`csD59xCc32 z;a^weJZM&mUu5s$7uxG-VodBA_7WTv72fJI!%V;5Q$Ud#+pe}9X=;-+x~8JdE3rnk zRCSvf1vtNBb=7Sr0BsMnUQ<7Q+j`vzU3ND7p!K>7D!6wEsMYfN{=U(PZiB>K-YZ<+ z^#;;+9Sq=#THG7F&!ISTb!9hZOhJYPp6S6czz6uK&T>U#w2a$o_&95 z-<*fY%$Q{>Ul(S=S7O(}%MTs9OqfS)P+>yKhNRVODKK9@>U({$89}R(N@VXJE`I?# zq}q8@&@nhP#;UwpSL4p)WG#8|iLAD#W)l9hyLLtb-nEeRgYXWHVV+Z-ZOz?>1H=ls zZ}vc5=z;0};C845Jus~=x5M8L1U~421tOk)Epb3!mpjTHJP9Rk03t`hvo|Ie;{dF+ z3YT~rUTNW7T{yGeyu@y_#DYcDa-XrV3%gmn9Mw_Mf;1!xjxVIh>c#cM&mFo!YqL+4 zNpfAAUM!EfzCOL|CFpeMgxOngsj(upJ=+CFC{GdHxr2ZRPcjeEl-7nb$K~|F#BbjgJb{pkFa3jj2m+K3LHIo% z;!6oA19eaDC+k1?`_UTnaV3*C#}p}PA&l*6oSWyVCUMuP(cVd~R}PJmLBQyt7v*4E6=j7>tX9=&!K z;oUG!4GWh*Fc15SGqy>~v+WM@zn5fM)`7I06X|!5oKh^!}$0xa4?#t`bf;)H3dV-=Sbp1tmLb=G4oCp8P4(&p)Ce10>h0k-Lk4b21QB3u$8($AInd#f=k8WYo6}U@10n@QX zhH+oAndF_(YDlwMV_20p@W)JYPR%x=#HO}F_-J@P0L~`%ZRVIl!d7~oz{!I2ZAJy@ zLgzF~D=C!W!G=hAzi_uXkE_%9s!VuUfP6=Rp}B3|0$hMS(3bB?E&p}TvA+a(>$TA9 z#r1=kWCS#mjF`BGs{V7;+=p&wC!Keh{QYPpUg83iR9#ElQH%Th>#rB*{9_LwfNo!f}$)mg-kQDoDz0ZRdrt z344@~usUL-%Ili*ovO9Ay1`<%3?2DX6IC6=8*RhYM%RkDq${``c>8*|;wLFJ+sT7M zu*d79sw*!xQPx|Exr~N-Rok;1&2695)-DcaSy>Dxges0Y(Unh(+)1)~v3s4^vz`-H zWO1ZPty#KBPTyNq)Zb@tC7|ky{|7U;bI=U#oaS`A%AbXZ3Z&jg`~d%JzMl8j^2$X$Fn^qV zs93Dq?P1D|yB^}loKu*GVf;ZN4|v9VHlg@~U>`cpnOBP2SnQsA39@_9Q-xQ>XNX{& zQH>A`;N_RVKVqlP@{{aFhbK9J=Xb?$_8q0f35i`CY|C=0zf}I_@Vfnvj(sIi{Rg+E z)#adGo=xlS&tr3oFvd^m@+Y%pwU_R)LwqGME);lv)NRG-B0~)hL~uSh-V^E>5~TeUrbb}Ym&|6WDwoYx zKYkUR=p7;-@FAJdQ%Ytue z+Vjx&?)^d0pBq;W-cpD)01yWzzn(I`*vXf7mS_V!R_ww^Qan6-fiqYT4O|n3J@Z9@ z0w3lvq$HK~@Vs1=b((69>BiQXa+5-6px(B*(#ZW((~jvUwZ<4*6Xb1vAJ3T6rC9Jn zWr3Mhx5LMmXEibnie)FWKS&;XcOxFilbTB6N5!NsTp&f|kqO@0L#YCPg;tbu!h~+I z1=VWCie`0+sD$g&c?-uu-csWe0kpp&!u{^N02Eq*TnViZYs)_l^pID73#~W>emC78 zgjR$>p%r1jhgN*q%T7SFav9y&Bj1T0X&dyxG*-{XzPlZ}0p~|EK$I-d)FL>}H1qI_ zfX{;ld0_E8aVVrF2E!q^X1p#^84O9~LsW~;Z^QW*XlfqqAxK%7ne}3`YZ_nhvF8ys zRZCsPD5p-%$32#2=xS`gQFiy0Xx#kx>vBXI^dGH7nyq8GZ` z)sPs3U{cP9G6DJ=061shhuihcjI1S{VioeoNy!QG*E?u`4cQ%Ir=ii6fq~#IsnX{x z$nP6L4LUKNta0*!>(f%StxCS&vGpq1fy@EBh^&J{WV#=W z!<5lihf(<%=tbF#SNU$FnF7636pdl=!+-A2$Dr@sac{$SH|gB?m6wW6+_P!x0dR9M zb!uy)ccVcphfh*5hrDraitp~3w`o-jOYPFi?OGzCg7qroP1#oyR?Rw{Lt;m`iAIr{ zZtD@pCGdx@Z@T0&B5bZ8zZ8*U69z+o$)*kT%#Suk@0_q?dtykxR*YDSM!J!izRK9D zkIe?NEXOl851kIs4~MF(eae3_eW)eV0l}+d9hv|iS^#SJl(pdEptlK=a06wF zAjP$2$IQsho&#m!_M@{5?GZv%v?7|;iF2U5R7PINc*8S2q9=KM(`bgl&2AM&Kq11Z zq2AmXwumAnW9z)*F4r~U)IB~ai69<-g4gg19xmT-CsFa4=57QHFznZ)$ta;N#nrkp zv4S%{zhIAKNB@f)3ASs=%v689QLH-7wOP^o>vePbj(%oA&AvZY))xQ;P_)9Kb<`DS1rz}6qlQO$-DkvDbA@+E-Waq$9PJ-EOB4c{ zb(bsI9O(oiUL?ZRIZl%D6S*(S*lE`vafm_=VxqvWe$>JjbIeYYE8l5xohL=$1HlG1 z*Mz8w@qS%JRz)!H(k@13*zJNjJIxyuDmVWI;MGcm6JEO|MG_psgr?fNN_bH6%<8_? zaHSIxv;4$0f)NLaM&_JB;C14cM3JurD~+~mFe!NgFAXv9ZE;p+eQ#kKnbptE1SnRU zr#A~OX1iuF0mryoL9-BK{9LcOyCrpM@3a4v(`@rblc@7QMU&kSPF+=??e5Olvvj64 z_k_hN*0d?BuT%^CJR>|z>A=}^F=2^(&|Rh}Tr?8j4rqO_3V_m6;MN>yA}yZ3u=QN& zWG6m6QZqkTtJ;-BFR$egZW;L4W}i?HDYD<>dqUdr{7vz-LZWC_$H(#M(wl8fPE~Jr z791O#bWI|9AEdW(Ya)7X95wGt!4*8?H+~NccHW092JmG4#Fmev4S zI`D&nj@!gw+64N`Dh4N0K`#br-q{UOJ)@ome|<~k{SUo-pn&A^Jsv7DW>&oKdU2xX z76uKYos_7~4t8IZ69>iu)b-6TWvm-TJI!vu#MVe4!1!9%GEOkiwOS)Ar#DmkX`;qx z2tf@sjX-3qac)K+ko;bvaXpXkydL&f?CZqw1_K;nfwmS~sPSdEewZCEt6Non0H&-Y zVddTR3?)Fl(GiZ2(dTpo`NDWol)16%HL-(2GsI4nbhuqN&-<9G=F=??VGBwT)2|uT z=G6*;YL51c&Np4k=*pQ3hsxX*QMPaWlGwq8HXv!?iaoXbgKgcPwX@XP7tn)hp^0Su z`I`Oyg{U%AR^wz7r~e#^;f3DGs-MDqzIuaKl&3HrUvO)qH^dn$0p{G|zWenKU^Zg2 zg$J&uj~6pOu8zC78pBwY$&jC=Jdrt&wq_ET*o zg2PzO&)fq~^_uL{w2Nl-2Rk{gMRz?!sO4`|kk+OF2D|>+kq$aR*Ab;6l|LWF?`y5x z1lp5KG#TPbe{4$sbkVcE$0cIP$-dcplv;l4ic{N1Lbn%#Y8G1F?L}7_A6L*buNAO~ z$eQiyw=*2y?!9kw_%*x5RZHZxF<@nltaMBxN>a~!PHxkx#? z)#|r|UtPbl+phQh4{DS^=DYI$5Yo`|k0A}uK}f@I;>L*mj>_TN)c8+01QgB=#+t=f zbd@IC=_7bGs7F6kzHCYSGo<0szI|=PmJYS622F`~3fZQ}#aEYxS#Tc=zc;Y{NYLEE z;n)lb)Kr#L=SuxZ{@)QN!5Zr-M1kPkP5Z42@m#%l&Ac^TIeLR~ z1ph{v6o-__+8>NBAAkzT17F6Me^(} z+=jE2wb0c(U?_?hsflnA`7-~>b= zhhV+JnHh$j)k1pdH|z;RS!GM}ZvZ38ePL-b(nq6dsf_tte#QIW|1|W#-nkxtbQ$WH z27mTVjfffVX2gqa-mKytxp-uog}WSVX(FhtU=bn;^j8ZT?H@?;!Lo;pd@eBnrz(1( zdmOuhl)x|w2evQT-Cf-iw1VJ-&@=sAD3YAdd`nUhsZv*R>fTBcgX3GFvJ>W|k*}Hqf^iqk(Cu*G`$F*BSmt-Tb>0G#$d7n5KCRAO z-MpOyR;1#NyE=cb7W|L=47FSAjHf}n1@Q7ew(OSdP1JOsF6Zn#a7%vh1r&1b zNeYyA>Q7zl)kRoHjL_|!($K@UA6{Xoy%jpDf*)?Y)I97!6yopm%{a6p@Z(X6$4P=X zndb?tRM0rOhvx`yUpok9)&3H`fF7_Zol(#(Wltg^BoMRukp(BlJ&BPC@TTTV+M{6X zlrN5*=j7VS+%x>~4;FwEPA)-N;M*VuQK*y({6S#47xX$$*?CXaY;}*m)yst3;1Ewj zSj`dF?bZ(g#r+-9&gG99+bNu5ZWbu{v`&6E0D@o(CkbM*-AXmwn6W%#HW`OkOzsAK ze{<^6EDnnJ@Ti=LP4{X>{rWbF5J;ke{0k7NBynM8H7^ZeG7D z&hb$1y#85;fw$)-8@Q0wdZU&nVaqw<5Me2n{g+6of(YR3-rhBB$j5-yyA+nq`_w(tf%^L%DJ&OxxvD@^%(g3 zm5FU#;38SyNuAA~0>5-#YtP7X&HX(SsuSgFiv8ZSFR3qs&T|bda>pO#*dKSqqt;xI zbe^8usKyCHmJKhBbS#-b(Tru0O~5$7#Xqv9$wse~OOsEGx!x_TFr|l3+2|1_v@Dyn zi9=Apvxh>ifQHDeL$dr1bR_Gj{&bs-k%mA%Jr!Th5qFcXldLaz?W8F(U_n4^?V%P>wiajtV@*DKCwe05OF6+?At51;o> z-w8BfJDMz~uIQ&}r;RHfcu57;@PNr=3sb{j9uNF>os$qoyfnFsx|W}pz=4xE!h*EePhx+a|Gq0 zlwKT*iirlpc~86mXkzGbS?eP3g`3O*qj>CX>nEB^fRJPC$*#AuELeqq!4;*@sFI?w z(9UVD`LN}TvvfRed7@o)ny7%`Sig^Ry!v`VGeCJ93RZwneHPO7G)YzgBV#Mr(cDxS z1+=1Z?U4+eB|voo2<&D1epzkysnlWs)YueY1Q8JGWF#kp84jV9BJJrR?qVn>@pI)> zc07e(@te)|_$*I7;n94#0DL=DaYqI5Q6A@7A79>^RHImPDUPhFjhxbP0~paMD8|CE zus^Ch&XdZ*vu5tbL%9)CS(RRoGXeE!_4%fNz#}2rgWz zq#*zoNo=jmu_>c_bW+kRXI@9FLw5J^T`Bn(n5BrPbH+QwK%7Np({qLR=gVMYh|;2n ze;W(XvnQgSxp_qdg5SIw1-oz8KlMn!su%)-xLR3HZ!a6_aci*SV3RvrG>JmC+=|2VHsq6r(Oha^@v_H1VuAb=ol2;aS8PG1PGrPDu_$kFtc|pocQwzYAP5Ogd7WZfVbXhLx z%*5xm)irxIr@t*j(J`BnqBqHxWbeD@w*kpIn>gVw>(Ubq_S$KN!^{$^tn9SKa?kQ& zPk)U()>)Zupn}c32!Fi#p$(os#|sfCEY1p8rFqfGAjO3GO0JRS^h@@DU*i+x+TnGv zI$--GJ_&l1@!ci3=RTyrmDIdl(q=BX#(}rpQO8PI?DqkJ zrz-*%mg#m~U>a(6zJ0_&YX(G$=mT3Xc?)Jku8o+xWsjMT z(IB{4VL~YYoX7=ynkfWu@V>h)j|2;{UwetBT~t;_dOiSAZ!IcLFZcFLMd4g($OiFSR_15Wt*6xiamZnP%yO>+4FREkDox@Z^o zL=0`q=wE|por%%)<+gI)Y^lFPZuG26dREDyAP0pC!qwVm4t`Red{z!LQ<`E<5MR560?lFF2yqJa>8@+BRxAe zlD6{KN6GCg$xF4u17J}UR3Roj9%s!-m7J}?Eu4ut>RWeg%4nHs)DKZ`j4ua~^dExV z&k*8b0irUpl1s|;ZJ1|^2=Qtf*zfYS+T*|9?@mLi36}qo4?XYMRebt4u@P}73`xy> z!c#buH9Iu<+*!G&!(VNbF(cMCzuGHD7ulsYN@oVML%Qj9;T(|yV10ILl`--9HON97 z(ImXpYLpl$>D)*usBR^B3sx!IicrE29Ib87zTzlzz;kru=KN8=v;X0dWaV@x=f#SD z*MjSse6mNx1C&cXK~EzJR*{}NUoJvg`%VH@dACK=fWZbB`<-5qhr&z}lr7N@U_&NX z7E1C0mA9vZtxs8|1O&gyyBBwM*F7?}Ec}I6wpPO3+;ix(RY&O~+HhLd0eAd#g2m&r ziy+;rYYJl7J<^0QF1ta{$9Vnabt@2|Iv(x03dWdVNyQb{mEw!V9S1GOE4d9yW(h-= zUJV#%F$(2&4fgCuX0|)wy44hsra7y8NkU1o{-K|tpRCwiEG!h)6Ru1x zIJ0VYd8uc4WXp-kz@0sfRdJUtvdH(8ONR{lgJmKHscJ{h_8mKZh<-_I0W3Jn>Bnuq zr9^5KLA7t?FF|@`Ih<>ej}%j?PV+cD7pe#h?E+M)V#et?c|kjA#th$NMZW zZ>POrS_pQ7wrvKu+cnC&&%D*qsR|UEQZBt3Jx9I=iazLGvD*m!;bBqLxpJ6) zIW~Qfuje;s09^kKa1#r2X>y8QjNLbjz#+VgdE66F^?qB!ukyrf8K93WK?F$g$BxYK zO?cDGZ*Z;INU9W93&cB=Vyt;Ze`~V3MU^Bs2@7OzG1;b2IIiBqO9+F2Evd|&e0JtE3Xtg1_=TTTSeqY z4-jB;*t2q5k=iv7; zZ}Bqf3*Y;2iwZj`E=Y@++z&QM9iO>8tk!5-*JJ*7ozHh4OvzqzvE-wp(&>#RSEpMV z+W#5~`*Jz8c3J!4O!*sRL)}Qs@_8}$@xoM6g3tK$IVr!yVpe*yIvtB&w{y5KYuo~; zBZR?g1Un1$TS7rpjZB-i;rEd-r^}RJO2jQ~#42>L0J9Yq!=uf*D={D=VCx7PDWz`Q zxK0oLTX8)lqoobV{fnusIG%(D2*l{s?(@YuL}G4FtLsB>MBSl=WQGP*pil8dp~F4vOL8z5HxRsGC_!mcWkI?rJAkdY{ZkE zC;4*Fg>?TD|H*?;cF=`TGClC$;%+lYx4cqOAT0NmXVsPOitb`m~{hdimV`Ov}{ z=(7_s0-{(wfUz1g0A(`@WRT>JK)6*#gAg>D1Ca49o;CX{;VlQ#oy+cQ<}=Bzumc{b z%wg)mLuak2_)0UAd$UeI3AZ<%?|yTozUZhV)h!3?BaZ;KYF}x}MBsMn-D5f%1NNi| zQ;Tka9|LD*S>$5h4sup6+NmLCAl-yT7vjH3Hnn?X;nsd7+-}?F+ya7>!aHmBRR5LK z1h>6_{=M9`W#NohxtSUFBL$L1?u3Z==XWxZD=Dcwt_f$|9(p$zxCl~br$L#Oxi6nq z=4xKo4sJ2UJ4yf_%5g`uX$oM(rhERT`gQAfMb+h8fR3X>NU8?butFds>Z98^r>=I~ zjq)7O@XjS^dTrDcq;LEWMNFu`=Wd>5Q2vaVC`WD|%yAM3O|Vwk`JvH!j$my7mxTxD zXGIoHz{}WcU&G+rXm?^rK}cS-Q`qrHc?ZU;@PI@vk+z|Bft>DWyMu0J28v^j#avN< zJoJ3`H_^gXkYaK32hqYbD7N~c_K?j+lSc4~S6U5c`IMv;6N`bsV3g>{on`p^b^rnk zmd_v++k{=x&?165G;-!He=8{vd+(_)#5U^(n~0Zt*BySfm*PI0Ngrnys!HV*FDv=qH?opKE*b4YQ$=~*2cIF!iRwu zV#xRIOJ?jVkf3pO_+dT%@Al?T$dyug=?Mu``}{A}i=Tm7xgf}BT1#7dtqUXWWcr>X zkp+x+%tF}Ej5I%MuKAn*0AY*6*_0fzPTA}^L$-zf#&APhBcx`q_lRDHFgKp8lP+o z_%&Ls!ZMN%7K^y1E9qZA**%;iyY(9*gsOHw zG>F~z`M*DiZFZzQhVa}2Xf)jyZvcVj7E~vS-6%-z8nI+;7e2HvQdNI-y)d{CPkqe7 z<^h3PVDLaM>FUipBH0rnYd6Y8sPqL_dh}KXSlk!zd6jg!x8%{fSOq&nRUlZ^*Mpmv zX@FDH)75tm0f;-v)y{`Ho!C}7*?Ysi*o>t(2Pna>S7Kv8=;H`|C9|!qnEG)GoG4=A z)h+Jv$+uhVn#us60{=R{sT^uKxLFymoK&E^YX2y?*cU3#@a}mk8hkXcU8>{}9c)Nf z*n@i79TEeOvTytjm8#xt|AfXjZz{f=oJIyHM>p=TM3JAK!C4!!Nz-1sMWt@ybW zAaNH66bP{8qjG%~^X3kLpL679KaLyR?%h|R5Xb~{&e7>mbUBQDQ?1p`aA$$t)B7cjM~sVN91zCXkNA$Pk$DhG?votfDr9#A|_B{Fln7 z9z>Ts^P0E=8#Sz-8$M}rNT0qp^%|4mVAi6dhVz!sg#A=DYy>=THcqV2N zWMY-Le}>qeP`AmV*Jv>`EI>I=qfaPu@NPY%)!!;#&BJuG8@^pXp5;B}fI%ko5;tef zop?NJ4(W>)`G^b6(ES5VNEMMWEw@MpO=Y%K70B=kVh%axvjm%vdsfPb9QUY^#z0+dt+ zJ-0vUl~+T?5V6`X>-YtZd*t#`!^Kmp>m9w{s2cyhr4tra4hD*5(_*vI$BM4b%*`R#yTlI&o9yrtd-;4<)u6@iVc^p(tASq zarw~;DY)e538AIEM1 z^wh()>7mnDR!hf_Su{rAq3cF-VkGRS<7hY%i12m?m_#<}h}p-o%cw&>7xsPIrd}FZ`%>5uB0+V$%ZEPJ&sxci1x3N*uHM;?IQ&e;iug#~d28r-bQEB! z-jXVdy?z*+dq|+CzwwytV;FFQexMyI@O}tZmI+jzm!l=qjS1aQALSNdn;r4|exIE2 zSDX264lMzlQ4SIg3#Wd;x?A|fUhK)7q||EVx1jDPDz`~N83>z@oY?o3Ks&9Q1A=3> z1OiHphZ>Ca7K~fb8zS=n;x!72&FMcIi9X+EbnW~juf*M2M|K~fIAoOqHIfswNgxaT zF|7_na#Ng=1_V-;a4o#I@?Uw0@Py!$+9$jhAPntz#y$ab)1A5vvhim;97vD-E2EbI zUVjwtGksNvx{4X7T#~%-*vw7>o1uxh{Mrh2Cte)u<%9*z(lNZ%q_@uHRju(i}MSs{NJJDVA|w&d%pJ@RdtEGQilF=993I~6&N`- zwRCV?JKCFMK9}2-esTOg|2IaOFFO;+0l+*8mB$y10-k$6=xROIc)#C70*H_+Q8yqE zw74bn)xGjQe}HDa@d$U1=yJYAZu=aFY_y7!GrO4IgI##TDB9;^00IgI9zoKM!~;<6 zl#K#;T;V5yo;w~RbvSm(x?QPQbfHUvT z-)-7;cZSt!;n5p#1ww{HwBlIc$W)#Cbf+G`4DfYgVK3g44Pix6AJE2a7N85=%Apt+ z;!)fpq$hsX65Pt7Jg4U_us%DpiP3$;}mvnp`w?pcPfU1e&?>Z$;i7puUWKcx5}!nmPDJn7p>tjc0D zdCkSGU2VG?7|#aEg@n}z_c(s#N*-f`=|(?jZ(M+roOv z&x6eWz^B?ObiA>oU_AImd~w0jOd$RY=UGvWyYbjbOqhd#B%#Yxf7qfex{}+Mem{jr z1H~#%3PWJVGS0_T`e&sN)v9F(lEkCp4F9{Lj*lvKPPSK4ts(NHl92 z*kgXf{P^+mW5bXDp=^(}M@3S~H^FyJnBw>-D|%KWF;@Dp)a#hO5}0r9s)xgP`__N5RZ`VK(D zsK3b706oGIrCZHsB0#Mo+(5zZJD1Hie%SLn!Rd>3rsrtU>M@>%bArK7pkQhHc$GqAG`Iy4yL>!%-@W@h_ zl$P3axm29`5U<((#sd<_z`nVq?m)kLkEEE6Z7)|gg40dly|ZQNf&g> zm|Jt$tv1=gFN35ucP9?QtqD3tN*e!m0Z#wC)2Y*QbRq@czbc}i4_M5WjNiP$;_DKf z2j%PWa@!XhO*jlKxwLTKyg)b~f|0^a8u0k{1c1fE?OmGLiziow#&shFrNmHx5? zV0Zr#!mCg?nhn{>PDo!A2{m-Hs12!f0bulR;*IQI1W$J&HU|aQmkDr3%%GMQ_c2T?*W+dd@>D z>K&f$&S3;#5_V6ZqQ|PlI#f~>!VdU?f<=v;6UeQCD?b|qyf?OsyV_|UX?Y~$xS7}h z0;i#R2uV~1_l}`LRCTV_1GYibnA$+GZ)hFVg#zF|EVKST;ALcaB0pONXh(o`wD*6vEKc=SDABI&Dh`O z--E{N$ig7IX3^@ik@J^;B1V40uxCAnEVSehvB~dH>zlYR8VRi1gOKtJAg{Rw$_7|> zWJ|X-R`fl648NhIF*0z%n8RrOY2M@S8eKP}H><{U*R|qftdc;PPn}MA5mBWEXb36B z+kgX<+|q&ut5ldh@EQyaM|GxOw&Id|sleKmdqZkF<>W}oOL5N-R)tOtD*3+oyYI{sn7W9TFeIq5nEq9>en(iKF~H}6{0U+%T?Iv6%_sGt zf|1~W$&xh5yXko2y^I7>) zciJXF3fwbL!E)m51I^An;-$>XyIg>(&r^3#Eb{!DYBpi_G4scL36Pw`Sh({TBS|@8 zBOV-Ev&UCwiD=xrVB+@lhY%7b*d|8`xVrnMwe=RSoA?gH{MfE7-*|psqmz3&+Y;r+ zHSb*p(8eW&eST92amu>d*u-Yz^;*TkAHdL8`lu`u=miEO&UD;RTm-k{U7?{;gY z7_`pbTKKb-SWZi4H7jMiAc1Ge4n&ZO2M1I3p*EinhZb*V_DBT$ZbiP5041FdD}EP7 zRPNk$)AGEJYmZmgV{!j_X5A^Ub*EsfI)a@|6xI1T0O|6qDf5>h9})vbq~ows83?%1 z%k1WNc(2_GruI)N{(KZsu%%a-H+#<(cz0s5@;0q8FgdB-t$J7tA-)Sy=h0AC)5#=Q zJ3HFs`Im5LP#)w&tKEpp@wJ^Y=@D)`u$!ue-9|s=b1C}~yQ=2TVM?h`FLl^n|G%pw zz81)aFgtxQ*NzgrHZ^jfA^ncO>GzLXoJPtsfSzCqF%SCRc_(j=toDbPpHMBS{c_N$ zL;_$Ff5?sD3e*Z^%Pb~8n~_q8G;=#U+Xcd8^JT+r9M>K~k`ljZ2g{g8f)k%MVgMc` zQyDv-;08o~k)Tg6ra=WI=L~fapvXY|Q?CSE;RRhh2;)@KZqB)un$UW&Nwl=PJ8yU3s zF2ci9)RWOkQt*4& ziTA2Y*k9KHKnk?+>>P`L;(|K8@wPS-OH#OLWU0|-XJVk3<@9~)au!u)j-7scXL$lb zwA?qN_5#g*tSf)a)u~&91-pmm5Nxc@cFK%bBwokm)ahTs@@+HnwQxlj4Ac{ZNK7Z3 zImI-^9Bv~qt#i|3I`HQk{^^ParIxg&oFh1T+rf09(#swG5TgUL$><;x_XA6-hkm!d zwPDhM&ZLK1M#TPg1`Y9N<#`;empQ^iC`U4H-K6V48k!>pvgZs_z}5DM2%tA^fC}c} z|GH9F)_PeO5UQY zq?P?Zo%~TrPNNm(#hS4RQMyjMvt4H6pKW#cY1}^KHpBQDEP2+_!Ko;X7z?O; z#SKU^Qfg{wV7yni?3t!Syz45dqx~SwY1cx2{+=0j(<#U9hgq5eic`dLHBv!eGJQJ# zh2GS)mX|A8!ZArb$H`7%o~Ut+pM4%ErvGHqQo?@2G1d@ShS}F`Sa@~2+QK*qUy1g@ zoEpEcmnH5Rbuhiya=HmQ&}|%BvlrnuOpGyyl{#ZW&6riKh4jA2;{1W^ZYN_f`~B;G z^VK325=b8q7JzdSoU|SE17Z{kfTQ3{xRAqy=Z17o$>vcj42cf=dUU;dw65E1g|Zbo zD0#G4rc0LP+yE+us4m%VP&G~5Iahvvb^uC!6JKFxhrq?t-|A}j>m87XJ~{FS`g_q- zEgAbbF*m1q)>rUb342LA-F7wX}hp}PLV!n4FgeMso zldjC)THzOXVD~hbgC!YcW#7ZqAE-MKvA8we_{be}Pe;r^2@ACy;D~CBE@5TDyYF@m zFt(GLLMsuDu#pB>PXXp`u><%czeQ}c3-DjqL~N}6JH!U&KSFHqgs+pc&c$h{tnmK= z6p!yO=n8#(3IBV+qfq3LIMkQL67~S3WM_0wxPF&*c=AWtur$8-gK!>*QQ}uu1n?c! zw~ttAEYAs{WbpCD8Qi|>y(2)ZyrUqbAU&Dd;xF9ZHQndm8IF~4pb-j@r0h$`{!|lN z9x@51-XYLs8Z%hp+RKS*=zbPiJPc=y#p|p+Syg=ZBo29duF6T0aIzZlKy=^DJN#@K z4!`(bBoL~xa_okBj^sSB;KtYX0reixM9YZNbL4m&cF6HEn{;s*JkiCz_9$TkUpHRt znMWKoFtyI?gPP?@S@axK7M0>f0fRvJ6StiyNe+y!dk?Q6`N@@=^65BEcIW zEPopN{AG!?L+QtaYv}h?X<;bRDN?Gms=m8+Jm$}7ga4S8as2-QEhEManRM*m(lVw* zquBR}SV!TDR@zDpv7+i^Flg)4mFqp8;~;)9Zpr3^Vr4;{z2@%m`)3n5972i#lY(JQ zv6$##c9+=sxLpFk$On5QE{tCN<*T@QN5KE!V36eNpQSUV3ICgnjCO&o;o4oV293UW)^LKI6<%wr5eViKS zHB>s}6g4%p^&RPVvaZE|X>@+Sw*6fv6ycb#=1bT_AaLDarDQlrG=@#^wVB zBG#>dTGCzUd9A}!gL=HTVHpG0xV^wP%P>{G8{t9jIC@d9Dpszbuote#rb^fW4=dh4 z?%zcT@rEI4&HYbncz5xKdyvTu1QYh*qy|F2$cn6Dr2_lak2@Xe3Xwv*Jk?lNf4_x; zv6qCSVMN$WDJrT()7eqAf>CsKOsuRgPq^Vs)Ji_jHcjp`$X!fcA10u%Mi;soAzDg! zewS-5BBvbD1nQ!(t9|#2L+o~WbbVlq431-(k!H)bm}$mX-Az_aDj%vApeGtXlm)z~ zf8zR2Uq>J6V!UjSviP#i{`w&644vf82I^z~oa9fzv-b|cHoo4$&}SGARJVsHcF_FC z>a_!rBmywPESYnztQT79AGqzDv303;L(jx=Do0Dt>=rvLxo}3SGIg>uM<-i>2Oicu z8!M*vT$6jLgFgyy;c7Xvt=xlaroFtNIQ?=}zaPU}3^AnV=OgS8vU-b}1&vy4jRK<< z^*XR~H(@(M&mX+o!7hrm>k||8-0gT&JE7sJ#VNvx%7T@>k-sJz;-uDh6lW*vHS9(B z!A4SK3%2O`JBE?E5$ATb=;9LE4gKAxqd|Z{ao;m931;zJ!E7)`jQ&4ou~j$pE}Yz5 zzj)03tpdw|d`)wFdQ}|%ex+4Apjn^oy!_vdrV#FI%BNSXL5ZX+VDx==W?DG#jDIrR_NMHEGd*N9k77dH}P`xO|5NB6e1Fj$xwJ7s~wpp*S(XbYH)Z_JRQzczL; z=%(mkC_i^tJFEqJ&nMecqEk~F2N<^~78;y6ypE=;7gXZ>cbyO&z=+%I#3~?i?Fk}D z8mCtGzdjci&Q7p!SrIy?wvg_uzpJiay~$K_nBUYoPCZ`Bl$L4TLzoaRy&$reLSEjV zs-%f}u5m<_3h2B(Bko8m$h+{xW$UnqwBX!3?AcB`Y&O6)A5yRwN zgB8LFBsR;Dwp{16QE`N4dbPE4q4T07=fbZO2pl}v(B zm-AkEcagA84%Bp;e4%n+v9As>iU9K}3w|DaDMiD7Dto_xO@ya`#5Kdr=#+eqre_Hn z>?kS#B45t$m_@8Fi7>Lss;Y!(Krb^pr%y{NeFcYnU z*se*)ltXe_PUi6sM_Y;u02W6w>eU9Uo&LmENyWB-P<idB5fdB#zs1yD-t}(E|**zOy{%1^{EkJ%VLemKyl= z9YL!RuxF&H!j|UdlMBSGHA65KZ24aBTQtSL72VsK#k;rs^R|vdZ)?xHy06dt%{}>P z^KGf1$WQ)s12c9K$aW$2AK>D=)M~5@CT09MjEhRMtO5req_zStz1hX~+?KuTnG_vd zgor?rtdjpmfA2O$!a+7~;A~Y6fhQRMH{c1W{Z-ljA$S6NUX&8Dsx`Y;u8&>ONvxB$ z=s1)AQ5dHnu2?Z{>N^HV+S6$zk@y^XbG=_6bYTCs>zkeS@6}Ty3(rw4Uv}ChXs5mU zfpKe-GqlrG5`HhrD~P$3Oa?Z4C&7Y38i;PuP~EPvyp*GBq!+73j)3b*(^hQkrc}*d zR8*T_74OmK?Wqn97R$k6YI_mD!yzj(wM0X<0gu`j5gw4)oE%rM5+f+8y^BU5_Yy8% zyBeo_By+3?ZGTG?_=D8RJ&j3T4#>I0GX=Je*c)!&Ev@rg499R{mTLj^Fun&WEZ1Fs zp#(a6tbb0~!d8u6dEh#48zw~w`Qj z%G zhL?B)W3!@F)0yLW^`jaOB?C{NXvT@7reL{tK6MH{L)BHl~PvDp9}K$pATOtmsd@65VTs^XcM2&&vmw!6sb`{Psc&5KWj`*W#sk>by- zCWPow_ji@r^VIkDW|Vu5Z@2TC4&Xi+q~J7RPtMk}Gh=o=rmC9N_s25ktb|5%)K3c& z>JWX{&~VRjr_Z&W=)(D4eht^A`#cDumVr9L2^bb;0mH&4DyWNkU$2dOQ1RM&yk6;F z$4&`YC|wyd9((>Jj!K4}ZFA9o^5q@=^&x5+Y9$TzGl6qK{{i2rw`XUK@SXie;NMC!v%IH`?V8bPz@9u{e~|c*>!lMGSj)=X6C;*Nf79WgVk@U7QwQEZ6>g+OJK5 z(B8ll2$H?lEvM>t^Rv=n#qMH4tZUkBM`DR@^6g3wWot)fwj6eeY~82e)cnFy;TV|1 zFA~U>JkP?Z{M9m&{U5Y*Cl=~D&H@=o_-N)cuP8CxdZhSG_ zj1+S;)xzmN^?y-+XQQN;rTNIoo2a&Ob9# z-j(8_+9D$+ns;P8$HPsreX(M4ny%f<^h?{U0yq&=gr3IT`Xe4)^>S<)uJiRR%yGW4 zu<&#GYrX7p>6L>bPJYDTh+ON&t}|u}U8Ese@OH@QAylWt-o}@g;Jh~u;S@e3;)}k2 zzg$-6U?wFk0>+_8a2!%S{8Vv8d0Bnjr~%mV(uHDTM8a|u?s@ka0GkOKqr*B9TTBms zEs7dO8ubiA=lOp#gz%rA=OB}_jq~U{7UTG4CldID6bL(v^lR9}1!%Ae_72(gN95>@ znWM=90pp=9XLfOD8Xa|WoI3%`-6n~&kr=4>@ZHW>VEcmnA$J}+Y$>bHh1U>Pc2d<$x42@v8 zmZ{z`4{k3{EY?Y${FGal$Fl(7Ubo&dyFm1XPv1Cz~d4Xf03WxzeTMf zb0je00E|%Q5f)CLPD^dPFO?BqE3%)MSHG{F+ocpCj6JWKl9Gr>7Aev=>Y#q~!HF%_ z^K7d7T46wd1rmUSS(4B|FD=B|ECs;A7M?X|@WqfT@@x$r)c>6RDTIQVXoCQh{Y)A` zYal+lc=hlF;TWati&buJ|7E@SKTlXb72btzywvd0<=*zfqk(G6yF(JdiRD0xD8?gM z?)%J8e6LkQv!nAIgJ;T*d1eHIRqKV&syxlr{A)a?G5Z5oU037Yi(_?SaXvO5<`gPbsrjy{#(=h2tKhpxo1AjJJ_Y~8=^1a`r@E8~E)Hi)vQ0#G z1T3cf;JDH&r^Y=JhOxgMGXCa>`X7wQy{Y6s&MWn~SN>`Plr|p;acBygh%XMm+4gST zW}P`$d&ti{Ljy6pmg~&7Q+Gcj%AmBQ<32rKzS7%RFC;A-J`QUSNrTnO10@x`ZGYYA zFfF8cpzjS)O)^8x6AxHVbuJm)SpGmB!O@6jeqvy2?j;}A9lNbt5j|o8YSk{kJdazQ z3$K1=bHRoq+Cm&PguqaDUeUBUL134|^9;af-LOzG%g)}*!kikcl3-*{+@@592psTZ zZgqe1WR(QQq3150{w5sww-Ot|Ulip(BZ6e8QgG>!e(ZPQK;Nck`2SBf0EK}650VWw zG=0ZdZ0#>)Oxv)%tJ$^Vm2%Y`GhMzt{`@!UrWDwJH{;(eiFhhLWA5KS+!oLy6I2YG!Wxmt8y$J?r&@#7NS8t2_wvdzl|zoLkP4 zH0*5HD$p`yYH&(?C>=iB<+Gi;zx{SE(bpND%V=rWQy$qMGQ3_6#5V1ZU)D2-fLE%_ zzZhu9s(lH;6Pik;O*i2QeTP@}5%Q#2;wTOHvUIGsW1HNp1M#$0s*Y_iX@?ZPC~Q^k2=K4t_~= zz=wlSYdz!#t#y8=wa&kgl-vB}h2=nHiLM_M03~liFU+{i%k`5@s1ztrj=mwjLhlQt&#v&hwu>S42N1PiZa96cz>LbmGw z<3yH}kM(Q2^o$Hj!oJhLOy1<9m0ckr%uH?C8v1R1B0Xqf=BvFmP)FYsl2}o;6QQcj zI5C*D4z}F*@X6eCK$!^Y{zjB}2BJ*x{eUuY7@|xZ{;X>k^X0uFpxY(q2b2k;*6lZd zU+Ep7@c{EYxfGNuTG@d(QoPYEx;xheGoYt|xZZ_*#?mse%qr2fZ^bB~Mg@a9p@*mU zU+aM@6^yqD1uBdXqf{n2Z}NHM{jFV{u#c918hm`b*>0B!bqP*L(KS0Lm4v65WW?20 zvc(2cs)Atz*Fa}64RokHtVb{tf#}-X=uOxmRex+n9!rCdM^P*vx0=UH zk@KpQX7EtT5_%Z)AgiX-8#C$&V@a$exLhPyoTmyT;LGTMKytQ_4gOgcYM-0cL> z6XLp0oDpgNDMnzw#Q-3G{sz$#u+wuBf6)`XuDb>#Z@1A3;dIk?R7{DNLpcI^Lbnr8 zX_6<@1Wc}SS?%N%&GCv3k!jw_Yhx{O({Xzimujaje3<5-C@t4IGU7ucWnJJ}sux*; z1A4-2Al?_ECtUA3V@aMu{}*Ah4f%4I zj8lz{B!nZ#K##}`=@IL$x0GxldxueCFK-;h#F1H>tWFc3mi^kn`7&Pn^aDDObP0$D<&0PG!e7pjuH4>SlogWp$PB^Jpi8o zv$psXpJ1|}Vkfc)ev(_25#lXGr7e+3#HdVGjS?tC)7H~$;{8`(RB0%JfcaRDh*^(yiu;e-H79L zgVtJiPu$?C3f{(I$}*TNs`@~l*F9o_`cThwwJv!!G!dta#2a-z8&D1lKflXa`%M1^XkS$Yt}Yr~=PJc%E4K`G zQMg)%WOz`oNjPstX1-^PRYUUlz-&XYO5x99R~g|uJ_XB@h{+B2&fh%vJauo^2~tnd z1wJ(QoQh3>kH0!$~tnJ(zHE;m4-}Ip!MAMk}QqpE^54Ez2?L z6K_8rKh~Z7Yls}xIjX|dr+ofiz)jP>PTr}v$pbFy>!Wm*#6w~km^wfL8S??@mJ`y> zl>oCaAGwj zOCcBqwJLd+Ezh&7kH<84ySXu}`(ze+rB)cVS1my({kV$I>!HpYjWeNTj6rylN3 zJ8}=rsTFi*8|tkKhOol%xL~<~=V9FmyJ_yz8YtR)%F1)xHLR3>rQPsCk)7MP9%e1v zK7I&obB+HsY!lhE>U<`e)ZkiB92jUKX! zFTJDixlt}HEUC$%BF@GMH3wGB!n`Gic|%n9$)y-*W`)ab50LUCJQo!hnP?2vq9rfd zw(Tt?-Y-`fcR)B;5Y#z}(XD)sMKWXH^kateI?0uE%9Y$B4TMEwLl8ZxzyD@i-GsKv z-XD-#oOA7m7FQz!rBueIQYu5Z zb3Fn`3+r7&1s0`CUVc$tfYxRd1Ziu!XXyAP{`spCVdVxDhusFyo?nEmvXG~Hv~Z!< zcP>ZI`Jh{Dj0|MQZ;-Yq3$%15&)AAeAko{`Bna*k6u1<|=WOFTrH*P@R*a`KL}2Ba zXfd8S`4kAD5DpkL4#MLx_zHkfaM(mBpaDX`i04CtwdhK#jSk)eAQa@#vy=a;8$bA&>N@Y-l;8SOsNm@VSiV}9tjsCp8d*)(`DBkw zPhoXJ6L6u|IJ}sqI#8b3ztd%D zoM}_-z&k?WdbRaGH3$srOxYnM?e#_gtZ8i+<26m2}*i3m6UHCQE}yc3@E} zvG2y3H0s44_>f<54*J2VVr3+(idY?k1s#&8K_#5VN=d2KtLOH}UZ>8h{p#p}w6&PPp7{eR6GAfbp4+?iQF!Ou1Te|NkpoN1ij_PpksicPS5n?`$v4JX<#Kmu_SZAO-qwNQSVuv>e z#YWHD;lCVdBTyB~^#@ffqpr=IBmm?jZust4Q+z1w+K_t17}Z|oG0v-VpoY)AN&e-T z0M)GoTF%jri3)D3|eSzHtrt{A(h*YOyuFfR*SvAc{Yr_5+wUC*|OGsuPH zgw$uUdVW3eEc3j6<2(&VG;752AKjl18!CyZHCuPJM$Lb0&{g#uSxYikR;;PZ@)ugk zkuyOIVq1r?VwZ?TxLOee8U2Xn9p->BSwIXlxSD-D-=wRKcvbtW4(rX^2?DV%>k{T~*|LixbO-YoJ^Za)jjkC}zJnK913HkTgUG)k&sE${! zd^Z4dofmAu#^L(VMlf!fV|mE!0=g(5IEjZj(fCSk67O;i5bL;Y zYuxL2;%_|^*ib6`U@OJ8)yw^BkMuAkay>lhVVC=5IU)9e_a=8rKjh0s{Od#1md)bH zF!sf{Nbo;+FBWIRW1GjO%JX-`Hrq{&(9wht>dOAG`H%6r%rN`7U_|8+S|58RlC(WG6ZOR^A*B3(4??Eo17A6x67D z_XZY>$JG|#!opw`Omi=PWqzaW*uoTUow`%2xA^ZBLKD~!- z8kp4)C&%jPRpOIzmdJ)Ertn9*RnX=eaS;A0@8|s=Owt-58=c<|odXPoS6he507D@* zNAD(JDEN6#yR>{^C={7w*Mr&ScewN{ILtnfa zSAhy!t%+21)K;fbYJ=#j=#y9mPEM3q;_)cgb4tYQr0~9YPTL_`+d=2kzU1C5iW*zU zerLPn*>}6IiL3)WtXIC;9Y?W+gSAWJbGq5CJOZ!B?JOM4g;9jGzG|`iZL5ovI+DkS zCA6Q{TU*RXTH0l)jeGfhLk}b}jjI1eEA>B^tU;r5#wG4x7SWCbl_)=%KDXY_p~|Uu zQ{}P2eonjPJ&wG78M+C$_y*KkUXwhwlFDdJI*1KE8rG~?rbxOIJ|ChbMkUQ8v{cyy zSo=~DjbKi-?s|k#rzI>#Wn=;;^C7EVP7$pUsMth2yF)e=7FfSO%=~D~jljuUg*y?7 zldcA(*lb@c+m9H*GsuMuLd8sl*XUs9@G5^G~CW}5Std`9HP8VQ1E zbwX)32mmLP48;3hE`Cb=gJdVEtY%M&)S5-&Cf_CNFnG#aD zb8%a^a|c|n6wnM57)17M6+CF*t0I*W>-Ou2do`i?^K(zQ^_$vSGWwPzcY9W zJT5%Wk1B+%sG3#y(G`p`O50Iu&ro_`vR7tvbXdF5?mqFrKo8{P^t7j!toW>X)$>VK zG4#MFu+z6xna*o}PXs3TZ$28D=4X+7fnU@pWF1vzH^R0K=7$Q<7%;&u0}QGSHr>5i z)Mm|=fa$^la3#%LyKT_(+C;e=P!*&hbKssa`**(|vIRr{iQC1E=I;Z=XbG>)1Y)IG zB{^sQxS{jq+WhOoT&1=ZSewj!G|-bV6L0xQy{KNJ;@d(-RScjQ`8{L^uz+8j_k*i$ z7vHWXwiZ{ogH1#CaQxcs{%3csH*R%r*GQ_Qe_V7RJoP38h0kNx`uM4xmaTT^OfGTv zyrt+ATx$v3&nxO$Lz%ZvPilO5l>1WrHSg?8ia|8aNu_2HL{NBdWiMok})vX~~>f%)XTArT@mh#h5t1(ftYfT0Y7$yv%hgWDn(9%{SPDR-5a#t@G zhqx>3FU0fF(By`7_Yl@#`lK-G!{0rzzgRCJpa~ zsW^J9NoDZPHj_)eR~#y;xtuRXfO$m2uoEBE>k)ny>wuGTLBV_mI66c^ZVR>m_Ym!d zNj!SF>dnRe>q~t9Dn8mMg<}31B7Kr5yp$oKQVI9Z0=f5Ez&vTUWUXsSdPi1w@?2`pSnBb{N9aef#xp(U4U+HvSI5D7+kM zhTYd@5#!NC=u*Lg290r~984ZtgzxuUY!X>l7#A^PmtG4!Acm8v?$j+kMj+2j=j$9% z9&sRsZrfWETac$t&ejFOKcmMZ-R8BB@XuyqQ~1ZIL-a>N!awv|YzAd!r1-GOa1_5d zVABxZ#p-sAf=wLdj6eOa=)xpz`B(NT8z7KwL??=>dLuk zkzExl!=a5_NUvIZMDy}aXVc=v45WD%^{J`zr*)1s(HR%)0vIsO@B<_l=fd!8J!h#w z&!^EMHgHOM?)zq77+4ej(_3v2;VnI}Qy&p>((K*x1~~crVcI(^5M1tdQz+tXt=Llb z0&wLhT3q$F03J|jHj-j6`@CwS;4z%20keWv?;~7`zMBwvez3eSV z_T^Bz17=fIrrCCI7=uaXEYHkAkg`VHS zsz?$_`Yvf~g{Pa8z%q@{PPtY-dDW>07_|C&zrP&++tJ?uPNL${(W7br2GP?S3h*P) ztZlQBdf;Njg2FO@i`;Y>X$Mo;zX20|z5LleKg(5sJGpceqg`}=l+$vhX5W|}#mv1; zcbe@;1UrTfH(H44XOmnkP9 zNVjcSQgdu!kF%K;l8ePj6DO(~^i+OzHl9HXm=Hh97w8(xy)NS0#+1W?3b{c`{(i*ADsQzZr}7E!cW@{plWVxF#_7 zkq`$r>)yTG4VQ!3IF;;OF8WmDjxV3=9phaQo%L#XNhWi07%~R@FYVTK?T`Txgl9440e>=vIORLk&$Je4`mbu z^~i_;@AS+Z%!9hAZ zKVLj*Bg&GI&y^R3#i#D=kf$k*3mu%)AR0&q8F47aZYXK4!7IIUNJK+R>T8mrrOg{Q zs(hAJZP}t==2Z>PIz3z_vKbk#T7EA$gncgW{6h+*F5H2IPz=+GrY6G+L#-|9UBd=qK_Vfo zIVeyH15Vds!#3DKMA^$%8{-b3&|a+R$4ku;%ZLaTr8W&!rmxFRZC~H|Eso*eXFH2A zIuB=gH#>AEjtN%G1y5&nqsHlwlO9B7=QBS?{U3vdr)E05 zqTs8p@QwgJsBV7xjw{dKlj?sLv35er{f{z?T5u%{%G9IO&iJSOvTW@dSvRu(+4gOL+@s;oXr)$cQLo zQ16~>a_e29sFDVR{kkCa>S>Q}k-2T^Rxzdb)B8ZUWjtiXgj{GB9$YJ{dHtsSg4!Nu zTkl%oe%Yh2z4{iP5>JgoM*YHlQ#X_(VjOF-y2&^uV9gx|##`r2=Ui9}Dmgh=R~TAF ze|pwxYB=Fdk-${aE{DErdi;+yHCddX65~X)PL4 z1kCx^Hk?dN6F(q8)V%=SOXZ%VIrJ}(%>}2@ulsi+FIp-6aZv>I`H|kH!_J;Kr=p>I zASU-U2W;6ji6*x1F58VD=&~)^11yc62pj#W=;(#C+fuB8u|syf%Q<=t(SAWWy89SO z)ctJ1;!SO{PWJ=iq|j3j;VBh_4!iu(s}!O523!dXr@?s404y&(R6y=tMP9e6LE|&q zLB>tKY5V5;7V$s`bT|%mM?y4sCh6XO*{l|>Xj4m?de{EDuq8y32xhC?y#m6k!_$W@ zF|FZLhh&}tpvk@~ie77tZfDjl>Qt#OF^UDrIr5g%1r-Q%$aynIzLA^Q2spKC{_@D^ zqM(5IE2nST?x&$vI^Pdw1ht{I`(o(Q({0W{(D$P{-7~ht=Xgw@2m<|GDSS^A97lSj zndWb+01oEMCOPcEBAkhL>P@);?3rz@sQI4otxfw#egk#as>j-QK`Op9s!A%pka$O{ znD*gZ;~8P6&o2FiyHB|q`8gHRU8o_2_eC%(L%}gV4=-O(d9g>cEhT&Kj8X|-AM25| z3_aj*YVrwKPNwu8R8sa*Ylh-HmY8GVSy$qHCSThUHI^l>0bdL{xPC7>dpDY9Hv7fJ z3xjBn_z5`6nQt-`Z0aApnXOp0aH>2K>!RI`y4(uI1#Z*8i~p7)rNrh*mI_j2$hRHx zU$HOrfl3c+OCyr+m}RfY;CPjQOul;Dp4I3PaIR+L!4=!#G=LZglV-W92?7AeKZ;5s(alm&YOC7(w};F zPciWqg^=ETwPjQ9&Zx`Bh0~qVQb+5arr>H}`-!pj`%v62FA(BbUDcPPS`FHtTq-Y- zy)Nyx-BL5m<$h`~ah8)8b5%i0GhM!-*q)E7Y|tpO{#gO%Z~%BPe0ZvGOyIHXn2s6g zTqqzppaIE2ft!ILhM6n5GP;&ilGXA?&whoeDqm@vG$e@L3^&O>9X64561_$!u<66#->Md%YK{w)Js7T3RL%9W8xxaqDmdxMn8vL4C@?DRtD1?M^|Mpk z4bd^nML;~Z37{&?xM%s<8PF?(V@@j@ab?jZMb^)NDvsjO--P-N{Bz&h!Ku-1Ac@b4 zejCzrc17R9Z@zvMEC>?`$Dtc|sARO~dN1IxIVt7uYKW6T!1es%d7Y0B8z#T5GsUgw z!gaNJO>z~7e7m8{N;`+Me(!FlCOat4DAyd<;yDh|>LWcQ$zXTjuQRe`r_%m;^fd5N zJh7W9?_w4HR?8wod5t)1ng?+ z%nu-MQM;jzG(Bb=O4*9Mw|g(9S@u1UxmT`|?hBH{l#7EkmJ5IY_py@0_$Yvnug2YC zPT6Ue_NmwOzB_{NeXujnmmnX1DMEGfm0KUhqVVF$EB-Q{I}%2hPeXovji3}LKgy-F zt=7AD=*B|`969aD`v9%HqnYcc9rz3=3z#OyLwDOWwJt-lwnpkyFI%0|PR^?!n)~#C zqiFi(Z27V@gbm4bP3vDjrPTygXdo=CWiruE$*6}U;yYsa>Ii_hW<+5Rl!Mykx-Eb~ zj54W28Gu!k<5Ri;ypWj&P=RzzE#erdvLH((^!W;A4Jvc?$)32%>ufnBAn?3W!Txv; zJt^7ceoYa`q*FGl0J;*r_ZFcXTAeJ1Ge!vaUaXZe+5LQOpkyM*^qOa%2T4(*FGI7P z-f{$R0m$t=?@j(`O#V5vIyj)WDZUbvA=?F-#gx8*M|NVxpSiK&8!AALKbNQiQ6mT( zOCmLTq@MQWUQMdNql>$faP+*i%jcW2;^@td>e^;bG%YtK1E z3Pm@_^N93HG|66_bb8m=t=lK%R&HL(G*O@L-66&K;_96$q}a`zX(d37==%8s4oxRm zUD%{Xr2RvUn1HAek;q*pfEp1hgUWo3gQyW>_QpIp=8?X#OWEfYoC-4TyjV|i#B2!t z?8*Pt+VZ#qmR4s#*9JFzgw&xfVs!cQO#sAx9`9d<1S3R3AbJocKd>Ksi>510wO-f{B3{-cu7Z#)1M*Fl z=ryU$kkn+f;UKr{R(R-&WJkzF$!~f64iV1;(~bauCxY#aivyyt<~{hNv(9eFau9B`At=#=|q< zbweVWK9ekYx>!-UclX6i9ix&#( zye59(pO(YZ;&SqB9Yq{(NIBYEnb7K*RnqmNZeimMk-4v;^qxGw=XXS6$Lqr@90i3+ zJnI5MgH|H$()HJMw{RU?)Bg5+8VWG ztcLD|*=bOWN5Nfa(4!c9T*L)b0kZlKH-ll!CdiW1UMbwA=T{k~_H8IoVzT->!xGH_ zj~RI)YZb~h6SEtHudc+pTr3mp+AKJ~DzXh0R`h}Bs6EY+kOh3=${;8_pLg($q4#b8 zFKn~TQdo~{kzA1J)fGm`;rXS#&L0xC+>5~oq&CqUBG$msC@y2*Rl{%6#;=Y)fvZQQCR7C3I0P6q*4Uh^do3J54Km=q&Yh}oYNGmE^WXTpt zR008kgdrOeAnXuGLV)-FQnl8;@AE#t&*ypmDz*94Pj1eA?(3X$o$Km1Il5y)3WF9w z71#DL7>WgujZSv+JuCl`{D=_s+k-n@07JOcg9Y|*8~Z?+aS$?4xq!+J<3c^qrx{Wa zPacQu2fd64SIvNb_A<6Zui}d4QX<=OIrLFGgJqabft{Od-2*26+bTDG-?sfROE70X zzy1V#T)=m}0MJ}QbvFhLiMQh5!d8JC+wc6H^OW}Kfut1kXgxJX4QTr};$wZI{gRC` z-iAqy7HU_av2BY0J(XG;O*UN>GI$|Y8@{Pvx8x5yJW94$dA`l7kl8NFBBo8Ud7_LA zo#PRO`W&}T5)58184SQXCo=;un~C+C#~97CZVg+RzsN-})2FYJ`xw9DO$mfb-RsiZ zLuD-D0BJPE?EeyF^Qw;qZz&lJY+18T)OZa|FMyc@{x@KWJbUvj{~;IH*SU|J^?7}s z>tB%_R`rP1a7@Jp@(V?!0$5WVBCrq$tR!}pYlTVY@y;8s4HE zrZ;r(zkRG@K?aU)8;C$&z8h4fa%g9(fdJ`ZgvCb|ltP{9EPod*6y_tf0Kod9<+s!M{h%h!`Q2~)0-I)A{ijmb zi?K(=h(bjM$*r_1Z>z>?x6EAjMvemg1HsRWKT}5A9;yq5+D16w+;k>SGedcMg(2EQ z4UfcjcgaPM$-rc2Hn^Ko7D||k{-LWN%+6^KQDZ0_wp)!P-o1%2KDa}|1nxfY$_e;Z zB<1!9JnIF%6_voZ0v~@{`S7+xF#Q(N>UxB#t~2@=Iy*~>3)h_=R#HV@{<6JP9q0G8 zZ$%@j%o!EU-EOVlR`rYb#0;wY&HlexSLj1vOD@;q+e)YUcW6(iz0W|9&^L2O`!`U$ zuin(&Zst@SJOv@7uq3%VVH;TdYyK{d1GzLzK~3JFI$+Al^#_k$JkaIEI+sD62B?;I z@H|gcBjCsm9#P6g`#-83Rj&meJg;&7y=-0b8TSXpIbc>%ynlzmY+~ZSZ2pxmd~CJ` zG#uVOCqIe}9g)oo0>1T^dx7--Sx0U7zLJ*UW6vO80_8;rhc6jiVd&8kTjs!+%~jMT zs$W9f#m(~i;doFTHuf*hO~69B{T!8sq`z z3Z|{Rl_$AOa#>n~k?QEPdsyktN@!%KHy~7q)f%_HbkiOlT%O$cUtjh*;QoJF_HwMe zF6w~<#!LGlgYd46g1?pa3_>Qj)E_5Ktch|%vzlY-HD_G?TV3ccrXcnAxy7p0ibJT% za>$m#Ii%ZIN6ZjDB3Z>T9`L@0p%@nTXknU<3O-myuS0oS|8g&fFlxeKd`wcwcWWG(B0iz z6gVBwckrXxo5n4ya~%2OX&-<`MN3>2NIy^OEO!iu1e2sA)d@eOC%NMvbX#y_^8Vr4jGy+JI*y8A8AeW@d3z%x<&t+FcJaA2&9Vm$I*cAI#*&4UI?W2yR+7!k zy>Nry0|B4GIbhH}4)UzD2BSIn4$kR9%e$B4!QiU+In>>oTxz@E&AJi~f^=nb!OA~_ zbZylKcgZ5i8{~mRcIm|XhwclhJOSo+&(1$KZQx=rK%$-A9gV8s-pKcA;LaVF2tTN-#p?gl}=i$x1ueAvF>$@qW%N!lw+;&dyf^k<#0L z)w{gWP_>;cMT@hT&u7&Bo~_5CJwJ+bO3t{JB}UQ>Ov#uoDIR0Nav$mjmYCoymj%ZE zPs^^>>?aVUf4IieXghDJ481G*W*DpouRCcyYV#R;wq>-lZyJUUC!{b2{HP( zL(+{!0$p|C;wv+f+}x8ow+gNvPL`1-j1p24Gl`>Ye-X z_j$+=sBsmzZ5+@BI?q5I$6Sfd)6{NVHd{9jksQ{Ik?$xPupfF!uJOF`$?Z#wY{f#Rx+7a~GB^WS`&%IW4wKKs1(OD{Pld@bZK8ahn#7 z6{P$lyij|f9QZSBl~57n47#-SpowOPXRJ8-n33NkV&UxQ`?m0#n{_fwqin)Oj=>Fe zbx1%p-x*5}KsmRt_K!--g!D+gpE_kI9Y&Zg+b+u7~3Tv|I^Ba2D&RVwF~t`9-VqRr0KRLAAUI3$Uahd*^S{ zf`79=2ddA^-gz)5Z(Ey!I{|9~NPK=UdiAD3n6#`KD#=ZMOW0=FoMPW0$P1~%<&dS- zlzY>;X!j_qk5A-qbg>^dNqjWW*gjx?+XPUm8aDs$z6S(F*ooB6M*6M_5n`k&sWf%0(D`&V2qqKe-O+`r#LR2pw|17s7F zK|iwuda`*Fz#i4PV$D6Xt2I?CqY$$ctzG0+a6e26v$ZHzH)c+gbjignROVIp;WcbI z?b_-*y-C&g=u-I=z(;W@HqI_it@3YlD4 znnppilIN$XH+mok8IEjL)e0~B$UPs!hckv@tD-+kEj*E|cn0+c8z;bHa11j2>EZ2& z^lNzU7QJS!F#N#OMLRwP#~Z6{6}C?X0mu5G;BUVUDEK(2??J%D9dxzn%vBkl;936+ zZyLr(5J)U;VK*=KxpF@lQJn0iMNmgJk74)oX2K14oli18t$M!TkFztrN3KwJ*$llN z(>E_uHm^GCY^gn%5ZCcaXqJaS-;RS!IrN<%Q;yEu^YF#(-0g z73hN1L^MXivCU<>Q*-G#(y`jNF~WZ>droeOiRmvqs`LxA>6xP{1gE7VnQcv2brV@Q zOT#{A@p)}c>VbdNY?dx+iPv39YFqJ!HW_Rymyi5*<|~rE%@v4X?ll?ni{ZC}x;z&M z(~U3Afj98gN8l{)RD2D3DwJV*4Kre6oNYsdTo6-Y$=v12hc0^L;N1eyI0=UC=0M=_X#Z?$%hq7kze^5 z?_Tq$Bh*68Sw6^qF5&M|3b24uW!?(`OXDbsoro&!(syT)A4w{Q4?)&I@edE0OSoJG zbAjH&3@?`DocDdmH!ZANQQ|I`FbQsOVWsUy0|H!jvkNE~N_IU0wje$u_S$8Z1D8Zx z_-Sg+mGAbWFc6(UxEOKn(2rMItWkT76$FdD8np+2!7Cu>Id|?j7I0$l9luXtM?v;cfYVXONJ^+|xZ)v`;0cMP<2&)qKm|C@uZZSe!Y9Iym( zrF8wckO9<9lXqNqeMy&>+L`e<3<2{Ns_f9QZ_?XD7eik@f6EX{)MhPbtq8ZJq zcYU3XyQjS}sFc-G-m8r$mmoTcB7ZN=xPDvxO}W|3Iq)dI8pbr~j7w{n$a>C;vkue8 zCL41J>Q{vQJ!L#`P2w4-cwI|HENdZ~%T6E3uQHf7ZI0ES1jklNI@ zp{1q(b{JmrjFAjo$_>HzVjv>7Ah~d0t3{I8J+&Ux7~#EZ+KxPcr{qUWki2sTXLQG( zr9bT&-}M@D&X7wsf7iI_;H9kVMq5Q8h7!yrjSJ>jms0^LC=N8ADx6oYsRmd=?@Jo9 z{D$r}RM3Dmr^|nti9#)O}w5n+aIL;E9;0i=R^wUi^;4Mw*Zj|lg)3qCb_2W_vKX5d9$Z-lx zG=sPRAy{d3*n}>yjm0|wHfR`$M_oM&UQzD{-xcq1XYD`{&SOOx8xB?pvieHaC%V@t#{@mkPM#A^a)h;mZZ=j##7mB`1Fmy zr}pQEug7vfJiT?Tviy10mu0xmTG=ZVYdpNIVD;ud-%Unt)J}Czn8wfscDuk~0dqsS z2?VLpE8D&2m(%ny^m-Du-(jW8`AtV*db51cp!x~0oJ{bmD=%u&of^tsNT{vaC0JbBDw3QQ2080={S=(xgw)2=3mC$j{TPa+i`xlKOc2$zzAB z>RRX}a;s1FdO0$rM$ z9pFB?3chxDJ#At*elDAHEI{`NSE=;~tI z;#2ubmNO;1(f*~&0uK!QaU!kI@BkwBnjSQ;u>-?G7wwmjKlu+JZ;tmV^?{;tKM5Wb zSY~J^!thh`9Xo~U+PcZUpiQGmCmo_Nn`26A<)+N`*L489swm|4vPUfj7eGYCI%A?5 zpbF;FOkKiY2vABdp0@q?I%Gz0b7>2sKNRLN#GR+;RMJ;KpcZ$ZYyv(MHB?v6beWwl zv4cwzFTuSm42kXBp(+}Ztti*4jZ%f0g;p&*W^SKL>EMF2OZyY!lIINIv*c0=M#A01 zm0IA02hwZUF{NLCYU6>jiI=CiV7Ny`nDSk>R_0cL% z%K3XPN6mkK!-$FNiD!C6i|ApS6|ocTkJ|H-Nw|(Xx|k1hGa2`aGLdb1|DcF)8vI4$ z$j3PikN*Kbgo58euQIP8(cdP1brlRP`7Unuha)!~g8Vox&%PrIWf$#Iu{j#hc`g27 zIv(-5oUWOB09cz7HV@=@Wjj8+;?q;u^B(e=@_kHjOiv0fsulsf?VdH^aB zOfZcTrX|Q+>~tWkxzSp;Iv?FY^2)-1$}%$$aO#uWUpzf%leRmwTk#8ZvEXj0iVU9V z7z^mNB%}*Ll4G&|PAY{0=qknD%+19WVB|@oeS`|l1?(8eZULpk->r0v-5ih*zbjVi z{7Ytb(a(miRxU%jz*MPAI>8}XF!@9Pin0Emd9aJzR@0Rc$+o`x?nj9nvALE2l8;Y;skADF^lAb^DQt6 zTZ;#_LUo&1GV$sdA@}Cin?`W;a2!!C^}OrpF2rVT*2QWXyP4EvA~PpKdUJP_le zaQv|`6lzpaODb0z>q2CJnrFM1Zh z<|L_I>u-&=fBSMCR#5eq>!AZfus)ad9ncVG_WfoVr@Yvl`M$D4E=vOganWGjM88(h z$SHHXFP2~^u=Q;dK>Z7TuY1`!G?%`P>*+D}@aqBrX8i)`(5SFSeJ8SLKTM%c+qKL#dzrNbW4I z`H^&!Y@=r$cyG11^y=KoSF=GesYqz<{6>=T?bl6^f?A;o<|#3MNqj(`C2l-y`;YJp zUX%C;dSyTM;SaD_kOf#EvrdK%Y~3n~CC+hE`I;TcO;CboTui7X*@@dpll%qfS=*~C zgWCSIBeBEF9YX;-5?JA;iYoS&rbNl0rH*D29#Mo{-iQYCiQU6mNR~l#OsfHz zVtHDJv97(vShV<%neBb73eiBqUFf*ny@b{b0*xpYQZ1p6{vaAPJ3msto7cj7c|E3w zQP(RwUzo3{ik1)ih!~AHDM~v7c7QTDX)S$xuNR#ULXo7Gko1u6Z+}Z!|Gt1d>DSun z@R_hsT>^2BtoLqL`gVs?LMzx(A}{&k4eQJBrXGxZ-{6BTXNS3Vj3@!Yn7bjp)HYR3 z!0_vAML~Bb&d)QIJB{8|hFqeQ&(2(nrE-dvWwpi|tu8ud)$n=u!@Jg7Ic`tZj&-zk zLRqm6U$Q36bYPzmytMfyhy1)1B#}0w5VUbKlEp#dZ z&-&~~GPQfnj|B6lA4ycUYGS_Q*e5@d@I5EM=SvzZ4F1KXx?vRA? z_!ZAHUsL+kWT1Ev$?o_PE}y2&)x%JkHC(wgVet7({@pt8CrKU4m%sGAr~kQ~GmF_w zU@g27!p;i`PD(3&tQ+j`qbE;08_@7_FbB?(fqcKi*&vpA`!24uB2^0zC$V9#*V7`J z{5JxP2I09p`QP!idNXPDcM!}A;n`^3=+31Id8@_Kh(X?{Hj{cB+CsFD5}y5|#L}~= z#pEqxXs{>2G3|Q^)rd;89E+hh9CIJ9mCQaxcvUE;N_a4=Ef&;>WA zjp9=NUWXn5xwRd37ANau-Nh!a&w8aqW7X+xn+>t9+6pSOEmqb)mpKlTs9t(X*0f^{ z>8Y~gK>a{MVP8>Twe~YS7pU1)j*2;r$-n^->{(Ay5JOrqT04^>GOqgm(&LD)nF{}& zV1N33QWN6K_?>7B$oNBh5_P^sU3qzsvel;bRxYI@h(g_Bgrs^7m}5~GtseW}vsqPP zilYe*r(@Q8ZHyj6FHsII5s#R_Yr+wXRpr~Z5LL`chlzit1alm;P0i=#=Tn1AM)UJE z1rhU&u8l`8YTCwfiVQalDsYB& zk*L+fGidZHVl^zS9%lF?)g2zLOC&Gt8DmM&_^*aZmH45O7fA_GzC^QdWr~}u?3G+@ z4D&TPw`V3ns-oWkVdwHQw6u9&#=`&f*k7Zn>W@(Jarrp7^V@x+2hfhfg9Tzi-=8y|I%vqStIi>({&DNNCX8G|`wr zSW=h3)n%}4McuDpSK2i&9P@P;H@T9ME$A&G8*KBhAHTNh!_jK>iDqr ztp%MXfg1YxMjJD~9(i`7Y@bOtzzgMW08SWD63j9DY8p-e*uu5_!ONw=`EVwWZI zR+Xjz{fJ2)Z=EwRt@aiyE&Lv-DV%dM0Q=T8<+h$vc9ohc&Y6F&(9nu{O4-K~nTP+X*Y5ODZ6TzVV$pTq;Wa{C%!;KpwH#sU z6y`TqBIw+rAMOlyD48~J_f62QQax7z667+XB@tf1ZIQ|7ss0%fBy9hCR{C%0?47Fy zA_oVVwZM_2__3P{L4%h{Su{W>`!inUzId8G=^PnqA>5xFrdW5>L4INktlJ((@+$DN zg*7zaSHM<9ZNfxZK(CG;J+@fXbi?87WLr{vzMTQJnen8L`3f-fRGluxwn_8>U z#>~#Yu?U!tR&KJH=xT0dq`?ea6vk}Z2CCuuP7z@V>8RH6#C8mQ%z08n>H1<#2Op@a zT~HQTN~r1!N04>#u{fj&ys9@=ovZzVvIbab|2M#@*ZsxfMoI>13yEA?{|^zFkbThI z0zJNm-=B&DjwI(cz3~H%Bs##67_zJD{8Zt^i=fm|x!?!2mG>MKq{|ym+Lu zFK4O5nz0?6SB<&O= z_rR^AGfI_q)`4T_1_P|uGLM`qs_)ey12-Iu(njLwq*TP~Gt2@bAi(SXKNH{`xxcdx zh@q4qk~0};zPB+8fFc!G#h7<2ZcHbME+d&k+(1tugpjuZPv2F1oB!R@220cBnwx4@ z+Fxz)KOV%&WYVIQSvgx|hG0u&O7!fi#}uBm3}W>9q=qRx%?rz!QOk|>13DfT4FlB2 zCJb}uY|@>C#w6QZAL$Z>WZY{nNsHIsRB-yZ7puh-ZpL4VXdPMHBo^w6pex;h?{%7V zG`|?Stk$=bNB~ndbz&^S@u_igx)+j8YLXiD^+y6`mNHCBhUyRw$YrR55~?S5{;iUO zG>1;4N&fZ3e|qZ^WFcgp?30r61)4{%nQqjopZgk*LOqT`Cl7<%9BcF*KX|TvZKuhg=Guh-_bKx0OLNWc66B4p)daWZ6NSe>a2!XpbQr zFb|sd29+DFBqyIrC6yJ^L{s{sa}Aq=@2F)cE8}&YTBIeB)Zr3uTAp?WqTGVV5rehd zLChvBj@YHk`NQXInXi|8b0Xt(=ylFtkqzIcFc@`JJrzMO-hDg&!(z)otq~4wm!5(FFQ@-f5xGq3GR>;& zJdp^K!CZHhr>C@1t$7z8yu5*pYhRmb2$+1eSMy)1O27cbcXse)y@b_-`AN_cs5k#E ze_!x1@g^2#A(h&-`7*KA^rFbPw7<-Jv^YEUlPgIRa3#SJ)?7(4Ke>`vhH?{uD@iX; znD(bD30Sn0cM3R)&r)8!86~~K9JIfV_(R%w=b_Wrqc<4^qK-^z>C=O2C--!SP|EfV zU3x(O=z=Zv#Xv9}=|6 z&qc_5!P*Im03ndYtv~+b{=E_U6iko^=o8&C#F{OME{-yUi6fAB>nQ!0?NN+{8?z&` zfk?gEI>bWUI@Cn7OtE)&f&{Q7;ql39wj|h3wj_n!gHoY!B|u&UHy?rK5x;+m%L$dD zqVn*F%B5qZ-n>7ijeso)b?Rf-Mo2p)>dfowc4gu`m0c-VU`rzPr!C2tV$&yEl8J#X zCCHY<8#$V=W=k>#Y)R%JTaqiL@LK*WUYkopEin0Li&dZ1eolG$ztt=Hl&3H*HsGWn zk-5bPugyg}tljPq-1~r+j{{rUYU2}CJ-D42r$%IM3HzVB*r^lH=H#OAn5179}V7Ap7iI>b>(PkLQ!C6Jf2$t47+S8-pQL=RZN z?Zn~}BHUj=BcTbcY|0!sAXwY~3~I8eR=J0+yq>?cbr4MXFTk6|6_YE9OG4GxcC!+6 zDGW@~U5CXRz>5SAyhv=Ni>~$RQ~=>S$cv=-`E?`gE#}^0ZoZL}J|6#}`?Bk;6f9%* zsEPPC>|hs($S=Cs?qS!^3c8E;9GdLz=?a#7$j8_2k!ziMj81bZ>D!Mf|KddgGU6to zsuzzQ!>PcF00NhGfu4Ucw2olIaU+-8TV17b%(IY+-fi9z(O|BjtZTg<{u79sTH zhct5KN+XOM04-^3=L%fTj+g73k{l{VCP=aH9?DBm<^&;kx>B~tq54EP& zyht3UAukfk!sQbVBOTIZ7Lx6%z>7qUVjtE{X>pMM>_x(85&6@LWUk*4=S61@T`1T` z7O&N{V!s-9a{ql=&r;ZXYT$C=^eJ=HMdvGYyJ$7MR8pbhsCEuzVNK2PUoZbBFcV;L z3Dv9CpeYcAJsA0rUHS@<+*#~W{kIhv#Q$bR=7{)a<)UT#{O#M4j`Q+W`=rPR=zE{u zyTMkM1iIgZBW%TeSg;Mxor^h|8Iyl~_F9uBJHPpS^`L<=Q=y3I0VB#6J%8F*v@@>_ z^;`ClzdPRk`_-%8v{U}_CXbGSTHyb0cGI?N!0D5K8U)Ax-1sQA55_DeFZ)cK*-PE= z*d*D9T#Dtr;)#X(jy@M`mXPzV`~B)V!y@2K#;|R&ARfW%;8QJ#W7t=G~kz; zZA0fBz5D2B(X@J60=BQDOWMi`cuU(;-|Rc_Q2zEZ?tGm#%w}CM=hp;Gx|2LgL095m zDK|q@5ya+RgJ@-;ni`!^vT2{!uFORxEm%JJe3`Rq^sM?Ft>L2)Q87>C1Nd*#UE#up z_*tN;A)7A+)aAjt?KKkh+pM%o=`9Vj#`SCppqxJ4^?M^(|MBC=AD@pJ*W3+Rcslxr z@39sc%>K)&b;8fh@7BvOjm7H@9*{qB&rV~@4~0MH3H`A34>R%XpLhK5=$8*WVC*-h zzs~ z4E)&tlTcf=$6okr#}l9a)J<)@W}fV}YmsaJ{jZNE-&k+;W1a!xh=Ji|kwZe$ENnU@ zAb>^|a%K62x*Ba+-UtNcEQX@+>hl{q9FHVB+TWI45E64m1PB-iRuaEMPghUiQ(kuw z=ZaF-k1H4U>=ZZ@LBM|FQ6 z{64wel^39%W~U8fWodgCAQ}~p{UPdI&nswx1;=XoMVeEhV|es>!9?d#DgOJdjA2=! zd@4(2Dlz+A7g2)wfU=8sKNMwCdU(Zbp)KLTS7%_jrLFpcUi;^ z8~HST{!`Htk2lAKrX4!>=gEEfsKyzasLgREf)NZ7hpdXH^Y^0p<=ipsUUx0yI8nIgYU%nGbHm}a3ha%_}O$R$wNFado0>^!NF8y zqOQPOzJZ-u$eo$pM$HHh#@Ho=Nlib&A);QNr(ET?3HZ1T-;@1lO+Gf@mL(2rB5&e` z_m7Y~L~h2K;PLR#Kx)DB4TLjq+mdCD&M2tbVFez*W<}{r@+eAZDzA-=BmUgSBIAgn zEFRh}qo$r$r!Y+H<5Nilf9f&H3L9(bbP00;44#BROM(cj{Wjh`m5jhmF{*b|6Hw`+1>ic5P zf=7Nrc+#Rj-#?p;H*IvK-hXHOC7#yeO{aC^+16?gVA9+U+Q&C+{QRRSee2(J2k-r;K{8^w4{bQRjK|*{^cS!d?(Gsq2LC--O6s=sO}9nJpLtV{drVPKL)q{n76JU5T8I^(kDitXQ-(IWvltt+66PXzO+=sm(oU* zb<^{VJ39l#?3~O7og8468&e zw7f+0EkW5x@A&m|mf7RB4$8ml><)Z&R?v^K0#HKgSM;g>{87<=K?!N_kmWbmQR7tq zk0OVPals?`0t21uS9gVKbLZEq1rm^P4PAy6o60*E%`bJZRDxn><4y1Qr;vODEr&u& zd@7$~b?FnDuts8Gs(P{CLc8(BuOjumD}UhTGNjh_-QXkBs$*T zj>O2+;#_BME$tmV5+Uee>Y|d7YN(~+P(ZX$34!TNWc3I;KcnVtjEJ=kJY9#k-yl>v zv-3wp2u)Cq@kHK_u8|ZkI~qA_K$Ouw%?z-u?X$&V$m(@|4v&7GIjV(?uBY=>@^Q5> zGTNznK22)mlYf2HY84PDone>NzX^+2Jh*zK#l|xC&!1fqe-?ZVi8D6&=88$I&$wYT z(8GWCZi~nvO7tw(%4t+_rV%kcBfYSW4BoR@)~un3a+dVMmeC>kB<$7>F-+I_BWIl! zHrY5Nm?yb&6tvnp7H?ItW9m;Vm&OMha4ZRh0nSEVR;!!1Vof)b4;jD~bisjm1f1~X zOdOK`g|Si54Y7k;5;1r*Q5q+!qP$nN(obT+I#%bGg^beMh9Ot>*F95`K-!Pr(7^jI zbi56X)wH{^5Z&3wBPO;MJT~!}-jNYwz$(ppCv9ovlbY=+%W@?8wqCa>y}Y4e_x-;f zu>Zod21U`jl0fcUI@;f5TM$UqOXamD7K#&N=lf$2F?+~AhV1T`8Hz!K;1;wcy`6>! zoU6EGH09Px?X?u2rf?)X(mcylbe@x5i!ZF$*pZc)5?E&$bV$;+%1?s%E8e$G$1}?? z-YccBw77C*xa;yyuXFE()&y_7)+BvPP;h@{w{9k}4c0vJ4M8Ie%2<6R^o;&W5~8D7zW~=GthwWp$zC7nH; zrK&L)h$$WkGVF-6EiR?#(reQee;vKim3Jz_&|8(=b&bD|9u1(#gV1+-+ z7kqOXVLt@q3Tx*Vn z&wAL1$x~`t5eSUA2)-9TOyrVlvE4b!<5-NfnTkuvJHjLNW@3Jk4))- z=(0A#^y#a2e4gHMZ`1BgrgoMKR<;!(SjpjrZ&dS|t3A9r*@VxJ4|tL)0LXhOSsC*A zq5f1;$cjJ@75%(V%jeIE9tRKAhTubIKF7_cz|uGir5Hw2id9N-GWh>HM@tfCoS~zs zqFCVqHt}ag9+}O{G>lw97KFq|B^kfHCcm^PuT$yPszIAoU!?$3V+ap_bNQUfq0rtC z-QJar&eZRFH4#~n=$Pq`$eOF&7CB*ER8o_TsS2eAe50Dm0t+{ggPV<9nq;A1GC)V~><5C}lk2ScMiMnyA+(X3r*%n4G=o z>q2eIu&fXIk!Tf^AQ5!4+&lUp6fsXufAwT9Kvx6DzZ?4vyg3A=lQ`8L!_TLtvjc)R z#xD)Nxou5a!OAigsnS0pv^P&r`Qcqz?<`bY=h|7K1kLHW#7=#pha5#8H)mrsV?19U z+oZjUIg6pVuI4Asth$xc1arCXAzn0$L7d2{}{nsv!)3Hb^vW6Pv)DXO)FTxq8UU9YQU3D#oaaXIJ^ zjr|Od_sUZkJ`zzNp;3wZWg+!ijx%EU`BC}JXMPZJ;9h$*3X9m%)G4tSzTHJVmTv zvpa>l>na=gj@-s7OblL@lXeZE>aCcQ*g%a4Gm} zBp#^*cDrKk6ihGnbZ6c|POskAl?V!Kz8~K!KpmY7P;+@Ep^p=)q$=DgWcO$cg*(w} z2;lkBIGEaid0d=ZgYl=9#$mT|tSCCuXqCaYl!@v)zB#2UXBtFTcUFt0F~wAERni7_ z9}$h4qy?>675@5$hoCaj(sKS12Gvav-jTi%{5k1-f_kxc zA-uybE&I~%5Zn!ty1?$ZJ>MLpxR}nF4Z=vin}-K@DGiXs)##e;z~0{OsOs*(1<}6g z0+UzU!}F9b1@+DqI8ccO!eTnV@J z0w=5TRNS{=D_YHz*$fM;VWy9QWXSYH)qWo?{-k$gPqae3TV7(4Q33rs)+Tz;-r83j zUt9hrljPF*^rnN^?}Bx#!k1-Da2^Lco)5{*8|RAj=~C#I_5GwevZqZhxMCOH2AX4=^YJ`_;iJGzAETjY>O3&)Tb zqGJ6PzK7YV-qMmWc^lfK$0;a6xJS5WF{D^bqbzPhem62t+C&wQmv|GFl*+F8f~UCg z?1roAaEAoP{8TTVt0qOT`-hpG$zhXe?nb0~se(Kj+%ObW=T-UI~r3;Lq*YTa1_D^chg{U90h38OsITT)J}Zmfq5iJq|BE{?9uw+_@^ z9DZ8K*dtLxNfitnm9D0jk0HD7bPqBUI}1)kptEC^KXMKiMctzuFdO^hvlal4Xp^@R zi2vS(PfDIDPBk2+2A{tbPG3LFdMul)>0cK$ifF>7wr8f*;5bBP`z zoqBC1TFWisQT;=5PCu(Rz2^99IniYr*mCdGNsWxXRLo(Dqn%XS%Svv$NbAq5mFh^( zWga_|kF4AK*A1~jLP>>`JNj)>IR+9pn){(gg zH-vgUcSH`A7ZjhYJ+Z@6D^`uQk8nbwcj_Q#cU@Oh^)AC&pJj4KzIbkrl)YzLo_JUV zTbn|co>7PEK0`0(TQ5p?9LgI5sXD)N2o&?fFIV4u>>xWBvo+kWZ8p!WgoL>m}j4j_^rOMfC^$njIB07}X9r zp^X;PbW4W{ZXP#3(ipi^=1?>>fouacS+=Y4LarRtgT8C@bwt6Th#E5Y{3fE%P(SQ%m(+?9stQbpRC&1bX(Gq-J z8jIt7=X%9cNVhpDDIm$H$4q%JwY+yI?nYVU@o=%Zgoax6r5c@QlGNDP!g$#R&2^rE zx6JRFm}bpZ+ra9^v-?xJStCgY)`Um;212y%Y1*8Q5wbj}*iwwS#xuypI#pSHc^B zuMD)q_|-7}^eyw2zzH~P8dD(I|V;GC{>>6&}{HVKcJV+s_gUOp-VejhQe2b(HsPjsoNF;ul1eOs(GC8 zuC92sYw|!xG(0Eju}O4s4U){;a0{`IQ)_L5c z*kV06uq`MWPo$lP=wRqDHLM6a3!Hp9nH-^IKaIxn$-%MeqyZ4|(wvXlM58r%!K)>= ze)uYqI>MoTNb^Ch&v)_9%UV4P^+Oh1m!UmS_IV`xd?p3AP*5!6GFi#eufnjQ6VHV7 zcdOE|=ea{bVkNV0siMycJH3dT9*3lMo|a<2oUj6P!f)`@``@1MP6*DAqy|h`8glwW z@v%c#`{-5qP@l!}K9dB$0M`xS%L1b_>8RkuV3_|#B(=PSfEjQ=P=zXmV4Ow=98=># z1Ncp}{bDNbL?uv;on_)jE|3D$SUI z+L!z81V$jT-i7zzqwu&g)Ek! z(g*He{~4BkE`8)dmMrIIuP(T*dK-tn=UCN`Lk2hF89}@Zb7)cCJZPB~RKZI}^3vOp z%dJS|ratzSzCvD96(?$EkVT*-x3Q1k*j@&o$wae5dJ*G#-3 zqp_6KAiv&zl6aXWt*=GN#yyizAf?>w%2itmII;d+ctRg<*of?Curm6QSzG?V%ndbb zHauuErOmQiwBzJ04)S(2Od$6ud+gk1KU&TTEpFs0F=+8r~G* zgdb@xwluPqw2NmYSf+)|zV^}0(ol`~aMmO(Q#0?D;$LC>|J~_@&i0QRry;ex*ZyGn z|0S=Xir>&q!}icBoMbamD>#+~wjb)fa8giE)t?j|KPE|p=S5Tj_7h9A;blYl7{XhKh2fuP29~SXmK1h&RF!)Z@v><}CGpn>8W!-f z5SaIpszIhd|E+4gUs0vkOv)z1xtnZP|KzzU`KjNgd_2>ihlFm4sjzuFEeNceVES$x zLgyRT)~Q6YzIB`qf1}AE-DgXh#r96o0i@lkep$%4C{+zVE-8)RHS>L{Uc{<~%`uW` z8GE(>f!j7W7%qmc1pPvE7Q1shV>#kzRuINVLlOrb*Pv_s+p zn(VH0W-o#@br;tpN1IX+lcY}>>B<=Z8_IYruWySKl=`QB{#rja+~0fKE{jo_8M&(I zS-%EK9!jI1D7!}B?2`gmJro(IK z5Av<&5<(Np>joXL^AQ15`u7>`siCq9C^x)r)#5Qy&&;*S-Kt*6BoCjoYK7Yd^ub@{ zAAP)fyDagld=H)A`E~Blb|4)5cZR9)Zxd!Zxk(lpTEFt1uFs|rY>nDXmPvsSo-RjyVKq*>4o<(6#lD-t>NAD%N ztrakA+qZFIy!>8ajInEMzID)WqmHAPk{D*RA#3LT^_9F-Hd}pj5ORkj|E;U6p5q{? zYu^s+jCNC*MW27|HQRw+DUW;c$q|0@Mxb%313Y%fzKzs9E<8Pz{ol}_8U#Ft9tqbwk(kP0JJ+{wz(-%*A@!<)*)$Kkw;Co zZ*!b`O(gM}j0)T8;?)_pcrynF^>HHpGzgbW8eHbIkZpf(RHvyp}?Ph`C znl9LGe%j@Y%TJs5RQnTI=_%4Ovu%a34tum~F=GvhJCaW3>Aq$9CAKJ1ZDV?QWcpEL zUt$GgA0;^nWs?>>vf)1la=Ja?mAGZzI3#_s3_-RJ!*j0S8O)>s^&pg1$>uoKsQuxe zZ$H%SDVuuW)&EU3f!eu7PdO~gNmO6ylPa%Zq*R`fE-%eEy3x>eI$ynvj;$2gJMNb| zZ3Suo>ZlZ*lmjn(Tk9m}%xUx=SEL?x$q9!A7$G2e0!ar2 z&&KVt*e9j@2?RJm109E9Bk!1R4s(_CHT!^DI_-!KblKKB(XHLz<-;%UWXK_62~_Wl?qg*IHib3>fTbigw0Ox|YV)kiHf-exA$>PtoS@J7Wv_JE;! zZjA<7DYjxZ$1no`Cf!#tBRIRc<(K7wzH@%!_M-2z)&=j|W*^9C7*vu{i6jRgD|Pb@ zQ1@osON_~v05Bo-NQ|PAqn#L&JKI>3g)dErtfwc^tw(Rzv^0_Z-cFX5hn8w%?=T0; ze#`@7zyG{hIQJgKnA4fJ~+Jkp@?Uhz+i z>{bkwt1e4+DcawFX7ljs8@nu;2*|3}K!{PFxP>4ex>=%kpu3>DETDI#Y%%_)i33OQ z*L^5uSSp!#FFbH`Ot4u}4mbQeYMo)_f>@rtjYhm~vtn1vg9ZakG>-FYk~E6B-BDIA z@E(`k+wI>WW^dQ1o7!92}VK8JOHuQu^ty794R+)bW=ZW^RRR{6knF7M3m*32`Z=}?*2dIy=hdF_xAp+ zpn!@DqB0YZs_l^qG%^H8qGF{zif9K2f=sDI4GE3F9HOuS^Aa(WPMi7ZIZn#PE|G%2*0XNh5o z0u3+|*yn^FjX6erzKF}2}=r}Vk!i3=7<-33HPqgEm$VD|G3YN zGI)?{K@nZuV1$fjGeYxO2A*fk25@-as3KQ#^lFLLWh^>xvV)ll!Okeh>yWhdVN+Cu zCCl#mp$fTZF$jgcn-?!EtcO`=D~6b^ntnhf9c|s9;8}|r6W`Ii9x*GniB!?qAOB;T z_CA(_(2g6tLlZ0U-@(rv0j(2HJP1w5EZ?7EDL`?gW6(B^-7ZTX4=CtN6Cd8CXRjbe z#$>P5pV7Ahd%{97VPRAQ#LQ7lG#BG6i=ZBSUInm;dm!^vOqRMt54kwY+*LiBHSIT= z6kOhk{-cEK&6ja>C+0hB-d7L{tYtOj*?aZrrY)~(^t39s$b`v7#<^~0^#VRIV)m)8 zGF-l_g{~i zGf(EMkKkp-bvy}5na@;bJx$RXE(tgjDk@kPs&pdpN{yXIQ+*D`KS&|6tvVQ|f(bf} z0oYjfemhGb2qyY3?yau#MfCX?-;MCSSXA=d+>MM{1Cb{28`(FpT4+4@+092h&NU2E zRD_ed1ASmJarBEfJ!a)8IsB`!&^dcFn66^C|>*>ps8cgeZxSnd{12vlcIV zE}|g|?V~aSHJ_yxAf7y*i(<`{{kJcuaDxdkwFWNJNTzm>Jys=53K-{HOYauPSS?6? zTZa>L{6(ma8#G#9qCUqQ^ga00ssO-)Gasut^*ADZzVkUEVfv@cY5&|^CqF^z8&cSy zTDw~PTo6n+MhS#vSpX$Esww=~-2R$p$-v^VM3j*PX;4s;u1zKO3W3EVI3{aZ07=qf zq3woSS&`nxL|`OJX)s5Z(x8r?hzzq3be|yn5~`w)o~r9~(-x!kPG;AXW%m7f8SiCw zhOFuaERT^atM%b~cf_&8+06jkgvdqZLCBCg>Ni606gz|BhtInEg19lTXn z3H;FG1Cct%QP43B!>y3H_OY)k6Ea#zauQ0%hS;0l9{%*c#P*|Tj{G9qYOAjB{^xep zDP*B*X`AIY#X`?3s(rciXVn5P@<0dLxEOO_7>2@qYVaMe@)NH=^4IR5Tn+in0hjqIAN1`g4}FiO-&9r^h_m=h23LsG|4Y6y?DyIZDq@qPiV!^Ybu$N)r`U z40@1wi)s>LZO=%{$JK|8l`d>V_KX;hUXc zEoz{a`0c0ABCU^-f7VQu3l&R| z$9llUl?S**F3uzR^bqjI^0bWxhKNg}vSWL{ajzHksU!ovbk+86UkBO$t8ph_43={K z2?SIS9FoyZOmC#z&N{4}(jT+2W4u3kLd#*p>7PhW;HacUb_Mo;@2j0HEx|YHo5HfWZwP^IjBL% z72E+Zc&M2I{6a%lvX4YDD@0<2FT5Sn!<4y$NUfQ_jN(aDa*`ZiYykpPwc;(iE;|dhuQtRvohOd50*i`~CU(l0_^S6B}q_ z=4I9W)CB3E@`7T9b`nnPZ?})3BmLQbwl5D6>3fdC)vpLI+W7o?Mfm)TcPgsJS`g6L z3N>a1sf;$1Zy_mqNv&&Dk0V2mj18IMhH zN8ONh6vo6w*DMS>3#XApGaj?7BHGaX*<>VXX>Z0ehM!(|yK%c+K{Pv*B)vCDvaq-` zoPGj@Ev7l{UX1f5@gjF)d4#2@$d>&3Y14Us zyKQ5g_=qqu!m4lY!ev;Q-uz>w^u3HR2lVV$9^c*D+UyC3xxY}_wnnbdC<|!9yAE?< zBM~&`&vsMx-i*1Hiep*rRzZ!wkU#*pRE+AkqAU${7h;X?T%iu;D5JmSqNk~=A`9F`Y{$5473*B!i- z*p&^tRc$nUd`#Q&m1A0=HuQziJkfBfj+M>K@8L@Hl$F=U{ykI@<_7&P2A#eHkZU%L|Z{9?HLV|b}y!m;ks`>8CPao zrP<7EwSJLxtJ{uru^fvB7zST2D{}I7G%tMj!{DjBRi<{sJ`HMi`J&YqR$F_Uq3yZJ z4=q*Ab4vNkdB-3So|pa8ST)S2zERSrWAJ+S7g6G`eDoepCD$Lu`Lh*(uK5B3^H2Y_p&~b#uY=UQPHFnCh@$f;NPm{k1-A!ZpXm zofQ#P4i!G-nFa7V_PZ$_S*@26CpuPUV&k8yJ_@rd(-fF62m9qImJC$BDN|7`%`Df+ zqd%i4bx4i~w^X>Jig~00jTR{Cya+zRX1Ar=36Se&27f%ZR@diKKjm8MDEKacyQe3M zc~}-lWsUJQ$>y*As($!iUgRAvv0NCL*qt~>_d*-as%qJ* zNGVww`ZVTTmyPI>Gtt+zgR8VvF7;Ztf6tZQ(T~-EcK&#wB6)nAD8jstCsty5q|R z9dJRFJLjm zLIQx^^#~uAUf#AMjAd3|iW7Q1YzSY5%^N1rX4VndEO={MF^Hui``?YzAnGa_p@;4i=~9`?Go zwd!E>aOUcHH6Ij?dlylyFT8qbp4nHD9&=)Gpep2&1>OG1T)*Hp+!|5+QNW^BZJ@bt zkXoXdMxwznR&--rDm(=F5jG(_k98O?8Md29j8Mm3W$BGho%G`xH3^P$%1HHMvH!#~ z^9_M)<6)@`*K%1{dtLkM*U1}@CWX2nPKOLQfAe0PM$1rV3Z6f)oU1Bn;QQ-H_u{V@ zd&_>A7AMn1ce_6>d;;t&&~Z3fP3T!N4l-F3-7+>Um(Oi} zG3V8F^wSWDT2!7rASz2Sbkz=K98$W5jd8Y1AKr`ej2oWG4f=Fp^Heb@u!rGZdzIV~ zyOHl6B$dtfcg4tN`ySQq`)l^0^mNpJG#`0v7lJu2YA(F36szs&yE+s6wKrisY*KyU zv|8iVYNEEjCA+q8#}RLT`OAD!25y#-uGf{Uz3*-Te}rp$o6IAQ`}dy!NZT$zS^E2R zz75tlWt*hXCvwX{=XHasw*@@5w9%l@j^(aOWiM!_1;P&m{V7#Xn zfSQ-IZMp!Fb zMQWbI(kTjL2NKef&3(NKkP)+%n8G=~ z5mzWmp6F?m>76oeV}Oi$dJ%<2v^dr~W(E6twzaPrhqt>y7WACje)mlg4o7N%^%@&C zHPs@J3W*%8@J+Ew1=~lkclzxAq@WwmH=THc#Kp;G3|=1}+Wc-A*n9XD5;rdxb^!$Z z!`PvVtK;WpXH=%>2HuZcYowZt3!#ga`R$2bAbOYZb$` z{YRhdV7}0=ooRKQXZt-mEsOPK?(lb{wpz1$C-H&@xgC&CT;KWLD5gUuD_jp6Zp=G!*XR2t|u6TKxD<;~vM;_hXu=aWC z(6+IXdzNkcE1#j*`+ZVP)wmI(&yr0MdtyXHN8ni?xYc&>2rHK5u9!vXX`nVn2)qSo zjpXRrP?leJ2jL!QBrSVW%IoVm9V?4TcI)F zMOtl^W8WkQfOxL4?eDR`&73~xy<;mfh&bdg-8gFlXay%GC^vW!yJtk^s1_$Le6W2{ zb}XFVB_HUoaz033Ix;MOn@Tc@Lb*<$r~K~MGKCjQlb-$`D1zuo*6!KQj0&#~O+4Z~EL zjij{?2OM}HJ>ptd2!TCfpfzwCD6TvIy5joRV~(VK75`OLSQ??wU|dEW_D4)E;O_!% zMjswMQeg%pz-FUbLy>t(TY!dg#ErvI3kBVz3k{;aCrS}ull(yzE5$T~6;GVE8YtHQ z_zo%v!8)jHU%(v_*;JkHU)$vAu(6+snVLK7j_MrO(>^eh6@ z&3YqRL3)d9MtUp@kG7ln2^?S?y}04t+f8G&SUl*b9;%l6yq~dTd;V#|ZlNu2GL}8a zST$!&4lRFguRloYs|~KXt{~QEl_DhSe4&V`wFH;#D^(E91hYK~Dhu*WeGV0JPNMAukGpMCCaVVugXVT>R9| zHa)9H^#(})kzCe|pv*Y9W$gl!X7#D9r0qxB_Te^ysJi(`=vr>ghc@m$K%2Rr3lV!0p+>ZZIW>x359I|zsOf3y`OJajJ3UMcdVM~-pAK73Gr4%u=x7gLVKjFD11 z1ZhM1K^lofio}9uQgvepnKoy?eeQN7r$S-r-YYYwe?v zm8jj(?Xfil$-Tv==MHoAcOTM=zF>S^uT^@(4Qfd*M_);|18-todS;nqpowK8+T^4k zuanfoZwbJUvBB`tL!#!xEdH2INGU=@_Lo7-lZ3d50B*Iat!00KJLpyK3x=%@DIZ$d zfyv6iN7erddhZj;*$&>T=4kQmWoMSkG+EM9clUnp{YguaRnK8o1Tb=ADBi%xR%>ai zIs63!pmHcL$VbJoOevxOawaNaa-kVS*#fD2ZGU1<8MV63A`t3wm#LN(Xx?SG2i zz5C_uXXBrvB2S&q7g{7nN>aD)T&(^s^^}#fK5TOo6IK)KxEr4oIEioaW{|~6Aa7;q zNgW;^~8ZnceGW1nqxv=3rByyUAd^IH7$@t4dvcDLz!6sM9|7&F0f3bJcRTA{z z+O=z;%4)1MezjKFbBC}&95BEWwC~5v!9enx)}fYc{(w zv1fI($3%CznEhxpV#|g152}xo_OaIc{NMiEqS@PBFJ8meUXyb@#cJ9Lkh~l7HZjl zAFIzg5RfqZdph(J%WGaiSK0)h9u#UEJ3SxQWxiyzE7!A2UCkjFZ0<(ZgGCCYYpK*d)wTcn+UVo4GmYMpH@R zq@t88USEwzv#v> z1B~LaoFR!oc!Tz2#$>kwE zQDsvbUDTyj)=`YBESeOBQ^6!j2d*}|-rTO*!D@jz+l>s#`r_1jb9#h$W6L&n8%xZt zOS|F%K{ru+ueg{ehMH|H6@oBzfLZ0|8Hb@C(Tf~75qSh8<8!BU>!r1W3n#zvHoH)YO6M+JF(o%`hxBd9L=Q?P^zkJWKF!mc%B3kI^{Tp>Z` z8p#dNhLWb1$~!kR1y^1Kg)0W(#L8`Tp{Kn7R{K9ue$KtNg6J{-;*~>ISxqq}7A!DG zLnlqIwtpRC&^$p3UC7N$HBy~#YEivqY9o32WyPw9sBt5&hDzVvLAM-!&DohA&ef7m zZMTBb*gM(Q=S7Bs%<^Jkp%Jt8MvzCA3o?jT-(x58`_$dXGjrc#lIiEsJlTbM$hs`e zq3PQ7&&rPi0MF-=dEz458|3-b+E3Zf6jh!2L2ii+I520z&U!=u_&`g4V*#y>&?W~>Ob z6|Y5a+c%?LF1bjaL~R6hEj>)gY`=%|h`Q2|kXBWYd-h0UtQr9yw)P2nUib(t z>z$8WllZ$whpG2$g=2M2`ezj#RGw8e)R}BnVd(ICneJBzN*>WBZMV2#Ga`}sQw%)I zW~w9pa6^gu8p!lEwx-#<+N4)>KVN7!a^LC1B*sJtXN_UT%nFb@LUi17o%HqxNE&c> z$$iYHGh?1ey1i9Em#DHND1Q5j0_Hz$z38!uCw^Z3vw8`jwNLCrU0-fJUV|T)o3E=M z07#3x0{vxud?F6H8XI3MPKsPm4+~>;O8w@#5jbHH^^Pf=&Lww0`S;)&>)`K04C7xx>!8RH$Z~Q!5FqqF-M-pl7*CTF2!BE zWvWH-rqFfLWOJ9x)2cqZ!pPNE0QDSy$HPptjqcN?Szg#mZENcYYEs+wQ7}^}0`beR zc>%NpHGqR&!h9}62-?5APm}|ABh8VbyL=+F|*6 zD!R;C0XMEqTLAuL&<&Gw`lB7jS>`j!Q%48^s47Jxy26$ozMF;Se-;td(!U?zM%d zFw!j$Ns+@@o#_Lux~#*}d6y$o{H|OuxcVyDK#q0aG_n>BEy+}$ZotkeLE-CbuZ6Y{ zGfK9?_|RhWvAM0PkDa!u#D^Kq4RX(ocAy8&Sz=R$wux@lGZ z%`{VsTmkMOEwf6MT~09uNC>B;srrUDIR-I7>9`xS(flra?O?61=cv|L zURC7ALHV_kBekE#{RdVlk=5A0FXV`s+_3#sV)DlZKVjDcrOhBObC4TFPItaC>KJD)V-n^hh`y0gQFqeNem!|KF?dx?N#K)pB= z)9|G8nM1bB6l69FL)kr_Ie5+N zubMc$*YQ&wU)dh9$et&_egJ=;ObXJA^Hl*!jKzwKn$6WN8+KrnMln#k#V}`G^QU@~ zwuEWJ!B!S`^UTN;#WS{?Ht3MiY|cfEbM?8x6WoPcz*^#5J1!GVA|t=$*GI=$O>$w(=q!@W_| zKtY%0vvh7>hj<_B`n>`2)j~El--@gWkBlmbGapg+<9ci!K(_xnQ1LQuV>y)9mda0% zDX@QgJ1=vb1sz!gSmg@~buvzn$}^Q~t)!NuTjB(9asJvN zSqs@{gkFT{CDP9uOXJ(obJe*GP+mjvx&s{bkgQ$@{Q*lJ3&J88G6&I?X?A1kek2zp z&z2Q!dDjc==-5AhQj^`8hr5=%#*p8rK|mwC-H6q1JNVW(w0hch`; ztQ1*mB`K?7q%kdL>GSyz{l!{w{SHq(UPnOMZI7sK78UlCb-cq)F|vOQQrU(QW}_!| z7N*h0Ty1geCMW6H69O-P{qffC^@n}%cg6PQS!ZwI>-0R*qTJ&T-9pdim`8qM`q?+h zBLyVAeE&7-a;w{~G>FG8ZP_8vbJ8<>cCvxuo*dzqd+F}{ca2t$4oT-52Tz7!&S*K{ z2O3V_Y>4bVP*_R8)bqf*DMUheNmf+gYMn26L7wQE#C<8~S+sdpWd5ZJ3t)=ncVbrgVyDXa!57S5f2y-X6_pRv-SznoXC=#GBmxz6FxcRD%efVEC;?-{IY?as+Ma!4|tA^Lr~a0!KFlP-OoIKC<;&VZn*gTY8J4}&CxGkQcK-_7Xw4hc8ed z&&@KGuro@k;~mCeXE<`a{Z|%(#$ynxbQep~R7DhR;E3=95Q()t3T!qeugRrXySalH zGucJhr{5UI47XM^XNn5B*`rgzES>WH2=)N)=6wf`#6UOJ)=rzV>wCTQYKi?Pn@^)t zkFxsu$}=$DJ2W9lMKJm~yf;F2ArU{liIMAXq8TTF#Sy-~XMhz*lguu4@a~nrIcdF$Jc^evuOd$$FkP{l z+e7$xl+vtOxezsmD6>+~m8TFYwa$$YyR%28P999mAQweUn@v>(5Y~k7&`?F_oLQql z`T6%>m(LG}HxiMwB=bQblWj;BbAR`>gB6-HF9u+YnvLS))~6*K%GnpB*?+B}yWcqB z<^kY@I>I;%rpA+rl%EkJt_!>!gWHi2S%-j~I9Mh=;$JN^VJZt-k1{&NOeGk92qG#+ zqkz|_(N_HnrdWXnqf-Z6(&cFz887A0!v+AO@a^WeHBVCI-!stIs^m_Kn!jp}k4VvM zSM7t-CIy+{*NC9gqN|^8?*P`hkkyfFQFI@>QxDWc5%EaP*M+cC@fymZmRB{ye zXrd_^sv1iIHIdMr-G&QtN^?!38o(wYGM}1G(?Vv(@#R`rEw)=$_~;hjd9#Y~hqaNO z3=2vdPY&fQ7e2GH?~k@7`F(3=y_H*~5ZwbLUGQUWzpO5nT4JmhqB-T|>qUY^NG6)k zP}C29sqdBALsJ|`I71mo?8WN)pxiicX!KKG0|_vzK~Vck>=YvwbnNb8Zel@&T_H>n zAh_GoBuo{*q~RMp&aY!ro~y^yo~ZCQaX0CxRQER}8K&-I3{h->A8i7-hR76sw&5xG zYp0_Gzn|X2<8L>(y)~LSQb^g6U=jG+5@zy5=%8JG9ItQR9hFN@uf`cBdH&P++%bv? z=Y+{Wt^PIA`&8+IDACjY&XFH!!imCk61~eeY&WLIp98Ac=~NK(zpXWzK)Ug%iY>C)tD!1 zPx26Nnc&JpGNAfU4C?aolYjkB(-u?tEwJ6{Ppq#$M2j6t)+S{CM?bQ%_5a3??0RCS z_$xALE$hb$^VVXg{ra?7PgJ^f0&aG3- zDuM06?xuKnNw;gaa0f2(HT43yzY}dtUvoqj?{Gv|(!gtuNcC8`u)~-KZ+3;03!Aer z3kuig6CbKNyu%U6R-KN-TzvaVzWRGV-T|U}$qvX0SM{G{*vwBKdi9g{#A<*Cqi~&t znF7ZYIq&!4)D{=AVPDCPz5$pryFf?H#dvqFy4`;x|#yb>HioLINep*@*|j~7n8qlC!p$U;7}nYWP5sx9Vky>;p}m019qZv5b?gXG6`?mxv2aT~HU z=O((TV840wJAP!Pu2YR1`j!PXuy&*HLL5TYYp1}R3Bk1)xa(Pyd{S5IoO|syQHLN# z6)xYNO_aL4ccv#cYGAvN+C|z7U{QIP?J631T4s&#UA?5f{ZFx z$xVF45xM=r5j9M&l39?YePBVBHPn|jh#FuAZQ{W)+bqnL&$x0Vqx4^&S3m`&L<4w4 z<&xUU8xMF{`v1^@tWAaywGCaHAT8GgWhOEg9+MADwx(Kkoc))=b+DK3?(X67d*yV; zf6Ea;$Zt3zs@)8*AUiwu?<~k7fCX8u%z_Mg=!-%ZW>ufsticb5g7yVdyW-)R&$-8y zthMWpf04^yTYcOK9?q{zR8S*yw0b+(sYdt@&ghA9gA28J-FCcRtRR+1KcD7;MQ{V7 zR7?~fB^L?v>K29CQS$ZjdMj&#zvbzGfm}gi?OiC1w2!rVaz-1lXgwsvDqnCnv1fcB z*~_7;l$(lh+|2}bDif}V7LHdz&5asyZLUyQls~*5+^nzwP^XL4FXPH%mxc|JutB%n zcq4aB`RvaVugI5|loZ2SQ_pD34GImM9Pc`Q6rsJ}ASfJI^qQ%RUM$K%k8j6>uZl@i z?fslTa>>E~m8*UmrLosCG1q*=W3v-p$4jmMSwTiRiVeZQw^YSTYFQxN_88UUWnr?2MM zr4;y1<&*XalqSc*vsfVEy=0xE<}g&H#n31+QN>81is)SylI7LZ@?HN6!uafFJqD4t zV?=!*uOI*prM1H~5L{&1+>!S23a^HFJ6-dUj1y=~s#zq$N2~q0cX8vW?PyEgox2W; zpIk^jXY?JsDdM!>nELMii{qbdOYGh+3j31n&Q`6o_BEp2qd``|o(>lxV3NBrakgg{e-|-HU!9nm3 z$ru@3bPkVLaTcUr7MJQj6!($AaxP$Sk6)Or0~bn#i-n@@6eJV4WKYhi`}Xv_sPrbR zvXP9qc=`4M4|5^_(%RfbnM8{Vrq%M%f=rH>IrwnVr1-|zv$zH^&-LkPsjETlLN69C z-jGW)ww#PZmardp1Vl=Hy$#$C8c(XswyRB2#Ry6^zvV|vyup69>g6b9IM2tm07L6qK09hYC zcY_5rzs9&xTR3aL9E7&%QWxt67(`@QpnUL33Pk3!7CEwI8I^wR4%sVKvj$mH2eJh_v*3( zy*vNe`;Uz#l1%>e^mN?5sg9IHsNYD;dMsyJu-mgw*QM!&ePvlE-#*byU`^&;5lR;Y z5`NAODi-Zb2by0K_giw`7%g?;zeUy`33sv(Ub1jHy zYix(>QipF21-%O#1(t*b(WT(vNt0*KJJw#Z;`2iiG=D>^rbXc`!pul>T~v^`u9y=Y z$#1aYxPw>kMD(sFZvau`!QOCi6eFO!^M>=O@A?{Q#1q~pmQX!@%b|Z+RhVko215PT zMZ0j25Iq|jkYxVzujOQ>T|SW2)bfqYF(Tuhid6Z*hg4GDf1;9RM%W!Ej1^ar6mD-zCCMpo1&>aFJ0wZGViUZ!r6U+L+OTQhPppmw(R(!Xm0v)#al89s-%-2Dw*z@a!Z7bCVMDA+ZMKYw#lC4Co7)hKPwfkw|PYR zFDPs^(0yJxo%8gw_sr}bUtg2|du4U$eB|5&-Yf=@wNHKnUY<5E2S?!MwPzJY3S^uQ zzZ(IiD0Aj=?4P1N78H}}RLjFLCF8G9rM!1hrOcu03_a%H_N_=BIJr!*fi*U%u@GUjJMD5gz+kKY-Y{l>>?o@F9nV65BDo zhilg2L>&cKN%Oojx!lo^ekbTk99`89l%||{+pNeg(*4u9u*^JQssVeHa~D@h*I=`) z6rsaD2bta`R9a`|{YmYqt6MCknR%C@h2DhgsF~c}?MZfeP4@csmHCYuTwkDOxEVuz z_J}m9LZF;^B8|BovZ(>WrqU4f-buwe9ptobV&e@F<5*WDX(56 zwCp5DeI;KH{bt4L#UK4or9cT3vllCH6=h`-VJ*ROpkDjmAWr_T5hn|PI1z{10pi4d zjX2TXN1R4KM4TLop4X;RxWGhf*w6e~$2yWi{#z5RHejL^w-RxRnQ|yvCr1Bu#Hsuh z;$&gPks(ev-<1Sv$R_Z)et4LKi2MdwK*%I6o`* zbhQ{>AQjKGXPgiqI0~DDWo>hLAnU%1LOpneLb)xYP`rPKLc#2W%P7=wfI^Y?6llUf zIU6WLq2RAksG`nyP^f{GD3k^3vHyisz0U0C&<8;~t`rRqnux*^U3|wA^P|6cQIcB+ zjwxqkQH@7D$^1rH4j!%OQuzL@syZgyS3-Pn59slcHKex63jvFbi~YdgjRQswxnIiH zcbA6F7gU|tY1eJ>MxoYIni7qu5=1rNxsN_52uLk2#&LSUf50nLxe&2*c5mBzPqebg z_*GKLQ4-8eOsZzHFj4S0tA*K(k7vQvg4ysyryRv<52FOD`4MLVo3_9R&{*eaL`OMQ znEU(SrMb8hV@lz`-%cN^5WXcSOc70S0}h5qYW0}27Gb_)wG^wKqTxMc%(lcwt`i#9 zChMo~)?8yHn*|;9U8}Um+ialJV=J=i?3dqlFZ5-}XZbjuTc6pXg;hu6fqSL(xraLx zC?p6CmH}=+LMiQbEjKp6H=1;2!c7izG6xQPanwxyRB(7cl9n}mW`+`3-FXkQa z^7rcN*^}R1`7m0(zRi1cEald9igkuiLIeTt|{K zb0FEZK=A0L!+YAUlKU=Mt=Px93exj}FlPQcaE)*UYh|^}S|NXU=xdo^H)!vKjG>K8 z8Sfsmo0IQ?16cr`Br;4M22 zYbc^$%i6b_$2?cMA<~C=TQyj1xyRRZw5rr-_q^0a z*5_e*!z|g+a{X#pZQ==ip$i;H+xTsxgJh3)tl(ge(d0T$&O-y(@)e?drRf%WJ z&K~i5pf+%#wE%N0bf_cQ6V?k$)B8RyE7|p9y)=vds>~9@3P5~aS3HWfi-?k#{Xu-e z5)L;M{RiS}6f>5g3i&t0*HQ?*6g=*Vm!^RU2i|r%f0nGEaxARZJ_q>?z!8sj@gjE% z?b5}02r!c{U6gr0-nhErQCrE$4CKQ3r5x!*)8qXb^{)!1tu#Cc6Tph^iPZP}8_jvS zR66pi<#7ca&ve|gnfVVeu>ydJomqj2jVp6z0Nc|aNtkIx@!YPV*x1F60GrVchnVgl zSc|>aQk{v_pBQVNTIwv?{!|LM}4e8$it z1qFHam@94Kk(fAQ?`bV_P+3+(kdmSjE4qNnV2DSXy$2**G#fzk2(UA!D4g2ILh)E3 z0`G(O_Awtod$K_7e)ccL31bi^+I+{sT}_<#?bwUpi)OTkseznAmrx`_%~Z@6ehFZ>oLpKL8A zhW_&o?A@qQDg5YFb~_B?gdCBt-wCCK|MT*nxp#f@V#TRS-rG}^rR=|Ys**IsE{Gu` zz(SDN?{=?;kz%5ta$@b?=wPhiQzY& z)#(tjzO>tA!(&Y!B}dWCs4hv(z6QKfPdr=9z|s043u``4;wE`_$l8$Q@;KvSyH#S zlyVyr6Dr2mtPfXzd+Cx!A1!77$)(G0vPjxlC4S%R!@+~h+(J{$kWp#%{}VzhInE zS#J7Z2krBzW}?=lUw2Ug@ap7$4jCWZ-WFlNJG#`E;>kpM{WWz>XH(&`?{2!j$fzzZ zY_Hv4^P8-#7g=t-;ab?|q_LqtYU8nxq2-cx@i(QWUoV)o#P5$=@3>3WSXowpfb3=u zvRu@{<<#9Gh*kdMrCl{m@0*_==-s~Q@jvD3TX0_U&wr5m(QC9NYi-L{DRYKd=iL7A z^@^@vAK5chU>+@ac2D&U@3ylOS$E%xlqu#FXZH@2xMH)0oRg7Zkw@?y#uJ&(KvKk= zpgLr{JZ4BLV?@{H7CpU0E=l#SaI@^KJ)&W47-- zKiFS$K+@#5$_SiRqdQEAZweiV%}I=~0s8sJuX#6}*Sy>ze2PIl?o-77+7rcoh%RhE%c>Al6APEZ(2Sqf{g~KC! z#7a@JHGu^9D!?&ENTR4t_8YJXcscQ7hA&ypvNn5m^A(LO{OWdX?sH$g=%kGnv+!OV z9!)t$7(Z#K8V#x|j~DkyFDnco)vl@6E)G}G=v2nR09KL;nOYZ@ebY;>?F}NASo71x z!8#(VnpCfzn7g!$mD&Z9n5M+@E`lWuP10L^+sSPojw3IMzWCTW3Z*PW1nJ z6$4MVfEi-O-4J@nR17WieC&c*F4p z&9Pkd*_ltK4w4V5`|9jd^ApW0el_!;qNEUQtcqJ`z!;2S$2$zB^XI4TBKVhu&tiL^ zeT+^IIY0JxdZZdg>KahpL(OR-hfPyt44sax&k2nGL|c^8wnovHzn8x@>v92RU8nx7 zS(h^QKq>ZI9~Lhtw6cPUc5Ge?52@=K12Xiut1H$G6Vws!gP%Kl3*l(G9x=Ul*mNDw z3e!aWD_duh&vR@-m#S(ZM=aRGINk<|3!P7M4G>#6XAw?U&=(rXc1kcI6}A>`6E)`IRbV==?t4DP!nrh@5%st} z;@^35)jP^AbQa7ths+-CD}U&5;HiP$i!%;H)$}HZFLG=|K5lrsyCoUY&(+MRCE0v8 zG$!)iE3~fq=dfSgkY9{r^NV^SJZ8rDLn`!J4uzSKUo%zxI{C=is)U|QA%`iNm!R1W z(3LkNY-LUpA0Ft;H;*mi*IEc{PJIJ2=-h|ty37xM^1SEmjZ;a*wyClm8o^9uU01ei z7IgSzUM@Cx8W$sz{IvLkmZ!`meo&pzg;i+1)s%B6%&diIj3uzW&^b25==Kl76 z=QnN!GlMOO7CsvXn2~;8vr^0oVE2k=ox=>G_(3D~wTrZJl$1Mkv!1rSojd*EHc8}QEeHF#HH2G|DHNq;Fv zt0I&ODL`buv#BAo-@N(Zt?7n!xeYt=+cGU`aPBZt9VTUgyPQ?FO{E{~ef%;$VasD0_DJDCMDJTKu5h6Po^(b3cHyrQ z!Z4JU{fecH5saO%_I-BX{PvQwWXs{8$UXiVYG^kFaD5uO*)%_J=3 z!n&C&45;Ea)`Q2B;Wax{V(-asvP3(VBDiX6Xrjz(^C%|91fuMtM}>e>pKX73>eEvP z_&xpHK-MW>Jw`5_5~{z$=)Ho(KR6}4cMVC+I>6F(&h&V}m^1lX&Wg|QC$+F+f@i-F zns3IGDAmXmKu`7;-gKG|jU7~jc^A)|L~ zyV|n39&c^C$~tAXUB}=-e{%hE09^khOqXqi!9=HHG(FzC{>fW;{gW-b{+WEr1eS-a zw}+1op!NNfU~2ujV4Mm0ERqG#Y4T#Lp=#WYE%6r7?Nd1js!y(vFUSSHg2@g<1N=za zluqjkYVWKKfEJEmoDaOO?AVbjlW!bN6EYTtF^Ap`$QGy9=~?}xH(6elJk$9$7c6H< zv8;px7GAO-zj##aLwA9OF~CvXo)=K#+-75NikUd&XfjcRZlQ@q`4FT6PSj>Yn`iiz z2_1xo@v}+g8^Ptt%0v9?2r4PWTI>&Gu_z znaaQs(x>Oo^=_)HvQC0rPXGLFs>ObIV&a?+@Sk#z+MC;8USD%@epS4&GVfZtwXZ+5 ztCzx{@15ymvc2gzX^d~=(`TJx@%I?%PkWt?=zLpf#IC0AO{r<4epVn93YpASV9C+V zAVLVOo>R&z9Yp`VgppLaWH^Q1_z$G-0_4(H%W+99wn9!0IUCZ)@FT2s;Uz807t6mt zwG>kcuAW1ffry*@vkH?_;n!GMkvEW=h3z97dhv)5&Y*5wYHT~wOBpu92sm!>f@uFoK*is=GtQ9M@Q|WUr?gC-~ovK!IV{XZ^+Do>x3=B$)NAK5UYPEN` zK_HR(Pm>KG7_3@Nr+8K`<&1{kV5o=o6;-1IVPN#Aan~_OW(G@-6uH5AI8o7dCtFMP zWlwTJ;w;!ox%OCC^DfbceMR)`d+3|dCT6xW2n_?#ty!;$z5(mEMBikXQ`)yOqK}hN zWmRZ5Vv2V@ocA_thlADtM*IMa-3C6<8?GxqQG))Oh>EE;J}mgR_aYVHlB~!&$7AOu zmxfL*o@rcq0SJ=~j+(UbVpvVb+``28x0U3%rKdW{NW{p~LzAnpGqZ3lt6v(@AQuXP zlfe0xIi|>n5k7U7TnQZihNtyL#<5e`q~N@hWVuB)v~eLL*?JmkTWCbW<}KBpqdTq6 zR*z8nOHkjhqwhj}>;EnmPc1h6z%Baq^feFnEPq*&0*!meh6wtBYgbHIWxsT{{X?+M zNl#A)?2RUL(fU8TdTsePu3jdpe|jAB-Xk$KmqvPCdSydZsF3r+@c&2Nn@2Tyrtjk@ z3aCgxRCXd##TgN#$PS4}Yuc|>YH2Hotf{0L6am>oB7z3W5-n2}St2qO9fJ^4L}Ztc zNPz@K3;`qof(epf2q6mz3BNbC)6z~mZD;z==lnd!<9mWfPu}x9_j29WeO=4@dpw9# zr|B&QuJQ4oGfqXeb|{X#eY>B!iR0)#)%P_xA@rNwx>M0sQl#ZlPi=TjLDGOpt1D{Q zn~I#9jtFmT1K&#JlVFUrTO>#-zuJv1-E1$$1%V43R`d3Mxu*I)e|^6c^RIBT>eCCm z|4&o!bc%4lXDIgzUwqX&03OTV1Q)j$R?DL#VdZA~uw#E=jXm?~0AzngqBhIe{i_AM z7~cta5fvH%FVYJX?&m(BC_(!u<(yd3CkV176B!irIaKM~?rBn+lPRH{1>aNx=3c}s z2yFZfPObGmV6p?R`*H$Ej-l^hqC>Ut+q7JvZ!HtotRFvX%R&K~cSX8S8C8%t0j>ZL zW*3GRei6&)9wtRNv+Y4iZ&A$~D+>eZJuUYELPxKHd&2E@t-7L=oepp?wAI*>RbTyA zCT+idIKF>J?r$)!^T6_6?3-#4;T#=4SvP_1S7;1BXQ8ux>40wIcIB{!W(vCSqi_!3sr$>Mi&by!mmkZIOl0X4h56_EYi5U) z+N@X3GgcF=KIvM3(B@*x7}cb+;89Y)Mf#0XfF%z71qpS#y)zW+f|cY1@quLx`W0)a z4pOm!PaBn;IV<6Mx6z`R>;}e4ol2$I3LB+nc*^ zp${EyIkX80qmCY-Eof<3fje@i291&4^?|mBh`TRE8w9}zTK7~c4s`4w7lt`G5(%Pi z+R5=$2>)J}zm=K`!^t}V7A>DcHyx4Efe^oAuKmleVb!O=6$0J}rgTeKpZu(j zaMtVqZk|>N2qp?;6>57ouhiuMj2E!GI%61VxNJ&6Hg3@IIl8+|HGJN`Gj{pW`ODS- z5#((CJD z83@4GSRjJ;mzElx>tj(B@=|RpczzckCinJylQU;r*uJ9ftPTE&K9`RMy7Q}J{w(MI zE9Is!#Ar~TKUEMI~qQUGW zziAj%nN#Y`cz%OvnbBhKxsNfx<50${AFg`&#I809uUn5qG=lPqTt5!A(|QIi2#n+EX=3& zwEx=toh>}xoX`Kjb!#HLQQ-RP%ysa+6*A`wsLzXS<9Pnzfc3h@=4qYR*r4#DGH~L= z{M=5t)tFCV3iWhum;VLwmzj_2yeo)Kp%uQN3xSxTGL1Rq%U>7Z`U@9JWFY*@Wwts* zb>Vp7DLG(Tu&mN_ohUIkHi!7us;gqB*$H^-l*iAJiSHZ9@3$;|nx!>wE&0r9GTXb* z|Knt~6)YGn|2wCMYeKW8M zI%~Hfe9+^mFGtsvaj#CeT+#1yo<4MdQQpU(4vQ_v2A{cwb2cFPWtpY%PPW|rML}V6 zeM2&R`O}SM>ORIh?TUKn5&P6n=eN9LZ7@?+U=x0VcLi9EOO5Yan708_gEHMSO8mm2 zu7Gm5AbwC77(Oq{jLZiw<@+Iy0t@6>w?Jx2iU~hB=9KI9*ZDTODLpwQFz7`Bkt5^g z$pGi!usf=3u@T z?(984<)&Ywu{9F;CCS)(^Qj*-w(0{k>}eouILo8`+f(B z;kA~Uc19oo z0T$WbR{uSvb>{tyToP9DA%9IQNhi@^FX1`G-0K!JWox|l2ic>8R>Nd)MQYsJ*$r); z{Mr=CIiMN;nKfg}+eqj|N%bi0^ggLxBKbwRmG6ooFG-Vwj4D1`HLdCR6%N#I=Ir=4 zn>UQwV3Q;vD;;wd1>x|`epyeeQSlQ!t^6~_f6QaCKMr4l3M+zI{o{kfq_xS`!wG(tCN$Kq>6(^1!YJxMQKKdA&LV18CvE%H6HBD(@l%KfGR=RQOTB6>O! zgP^1V?ptNQhdsP1SN-xMVv9R~*k}Gl)C1@t7_xZE!@#04;B*K$(d)3UZc%I)n9QxG zn1JCky7j}C+=qchSb@`PBc_M?p znXPm`gGEJk7$^UDdu2|!{B7FyEy8Va?(X|_7j9a9B-%oo#i?3LJ|vc5Q=VI-ox*bs zt3J|gj#PcZ)6FPwNy#}u&&yYEyLE%k&6uKkH}a+}^@t3y1F(J6GfLUcFQl6*u4l%C zH$ef^@%K=(erHq>`sX-CEyw<)do0cTon#!{3mwIp6u++2F_g?0O7;E&l`04vrX%r@ z*}J_F&-(OV;#on~QbIo#hp316=$9Lh{gs?-BH;%Og``NQP8cK?*kY$AxRKj8V&VD8 z7or@VI$kcuzg#n9jJu+r>E zI-R62^Wt`4b1HO9_{P|478r3b7&9BR$w%2>xs5%k-bHM!H zYr3BnePT_7xsoIXfG6+=U(pfFjwfCy<%U38fE4{=4A;?>#&~_AStw1pS6AWk#9}1| zA-~PO!8Bwmt7|AH**C}!LdEpNXR9T%qM9~1WqZsWImlbesd3=iikr zVz`;8<&$;&txlDA9|+?F&cK4_1}3S8V2gubD~~%^P$~u3l`R7~AKDxlS|MTq7#jBX zOhbSAE`A{#(=@E5e-*&RIz|3bDDgL2V}!53^^O^k^^Cq2HiCN&x_M8VMAomq^HBDq z>mXy5>tOBgb{*`k4O;_E9|*!rMhQFVsZ{oahEb_GF#qkoZKG90Dp z3~+y98S{5EfP0_O)O5f=1xcSDU$F=E+qbZj0C6Ep>VR{Hm#QIRJvhtM;^Sm0Ahbpx z))5u=8$|EoXqM%rz=@b~3_m>NWSoglU&pX~ej7oFa zl6TT5{>GI6qHBXqX}MVpqmKf+viGm>S(Y^JKWWwxw>_>TM?W>sG#FE?`E_-y+8@=i z8Y(sFSk4@ibnV{NzJb5CEd9%|cGaf{!yiaOe_wf1;`Y>-T$)ra2c1XC7Prqwv15WF z=*`P6lo*Ja#0DplKcMKw3YXte*0@V3&H)%zkul2K4GD~b&JOxbct}nIa=W|ToDa1n z^aI}ymXW+*tu!JrcG{u2u2)s(MVHdH#O@$#H`%!r2LLpcVp0&isB9t=umY1EvUt9x zNNezVF34EqM_QA0O1{w?+{w=@h(C_==9l&#F<2xgTXXU)o=t`_=aT~2mPq|rR_X1n zsB3UAoY;hhGoYAdxrpj^-t_9~5xKi&F^%`(-rYZ?_WgDffPRB+k1xM`xofjMo+js> z`Q+z3AJqR1o)3_x0h++?p!uvi8^8RBcr%l{%LcBH4566QZwI2VvZV_aXe)RXFp&?* z-`RKI@($)aCm(VdEpanRjGmr6*S^#Tr(aTY;+{5hyYLF~UWT1+>hj?C^quF&AX5Zr z?@=Zg-~D*n*4oLy3Q0e$A@9`IL7R?k|MK;=xc%S^Dnck%synHijfx35i0@4@Y_h7*XR{Xhy0Vf>Qr zRnYm%U_U2xEAAl)u~GPyWalC21oKm`RMev^$RYFRohDMu=rXDW3^WvuuvENtYC!*a$TemR-!2Mnv9pfYaQ&D567xczboj9 z1E!!+1Higmnz@qz93Hi!?Ny^_ofUGC`tUinQ6VVp>AsP)%zf_qkA0xjg;!nX#H+Df zpNDr5hf9Vnhl11gdV|{JfTk-e)&b>?M1+~;Qk zSESkgB>i{T8`2KXR~N)mfu&b^m|@g{lLgFLs^?0-hnG~GfR+W+6L0Spp-7vMbBxBG z?l4nsLmThGLv>6Z+Y7iblfP%7>lbqGPmhZ88@|!Kzlg@nKnOsls8P}K492u=o8)bV zB!1RFbfYDyX6Ee}F|JGJ8TZC5t68Y=x;Ls;9*|Y4R&(F0T7icFRjWtV$@LEl63_M& z#1qk>s^fS&%g^gdx_SW#y$c&I_Mt!T3;i}17{jWb7j`w|?>MwW%OdU+-iP?)vrtZs z_FGK^kKW8XRLYIy8~zLwX?(UWX}4pSS3sBhtOY7=Fqv6Aq$3KirRIMaldjYu(DR^ZJ>>lv5rdxhEc@4Qws$b^5?v}xO%)FpEMTwuGdV+&bk^ zAY=Kddc-HErzdLGgeLcQ->^wOCDLA}ec?$svZ1D-F#yFAl03KbZCEJ6Mlkslh{IxCXUhHUG)9u*=sRaib+cVWN56!zbAs|=9< z5O*O0qBW`4rI_AT5Hx1*wo11u7yEyLd+-fRelV!y$OJ<0aV=Gd(#*-&H4a z<&x9%0Jzy>aI!bgzzK?!Oh-&)j;r+mkB2COsMitYJhSITfLhgXO8+maRlSb38SFJQ z_^Z3aWj*~?PlKaJqxJGl6SqXzf^LDGiIs(|;5-+JFMTw|&Bk$QaO~9Ey@**3-=kr} zFloQ@P=KEmlJ9IgO)d_bKY`HT-G;daoy84HIq-A&LFZ+|K>54k=B%b`Qt^iGN>EfONSVyHx8ygbxhfL}| zE(^D97k_&RrRPMzi37ls1&XI+6nFkbaEAxfo9RKMB)=yMMfrTAONEt?Yr#6Pr}9QD z$$++b6>NwUCJu+=#z9}YbhR)Lw;=#HDywFZPfj~yJyB-V6ure3hFcx)K^vNy7DqT# zE_u2{(Fe4ReAyijBF}zrFRhtsXqG!uUVQO0GS6?`torXp&f||0Vl{jJM{C)%2_UdP zo^Pv5kHy!fdz3GrDyCP@w z#)-TEzwF}u#RC@%w_^{lJEQOEfEzcnLLZ3Ub10lr9CVQTpskI3qxe|$CpbruUc)^6 zFgD-CiI5WzICd%08^R4%iFWDAA`cI|LV7=z9Ge+dkkSvgYywt#+hf90t{yG>A@N>t z1vq!K!zaT3D1;F5CeWBb0o9uYfTYkT=ja1ylav*@j>RP<$Ijy^beCsymZQQ;@ue7{!W3`{doK{HnI}Ewl3tD^DJiofaj>sz+ym zuJL6le2!!--?68}73`STK9TKQj2=oEykVJ5N?_K- zPTMtJuJB~}hAocHhlnlf8Va!);|g^4EYOh$33F(QnOYpnd(5pK5P8N{A6Zp${K|6L zZ{aB#(nc1rwwCcytl>CKHQt;*k9SkF(E(ip=hSlw+}USNb#2qWg7pJY9KDo*AYBZD zVQ1h}ATfud)3aT`&WTFh0?y2?gV;d45C8dzGBjhzzcpcGFPEc_+{d_gY^9JZ3AbC{ z))B#s)Sc?|iT^Y?w0_GflR@tg)hynEx$JgV{2<_hD zfG<{?&n1y2D%$h+N^O{S2lXFH<{%#R@OXlHHrt79@5bi%G~E?8WxqR5;;jLv>ePFH zm30qe$51}bX$-wsLIW|(A}p$T!xAAzUx!~OW3J_5J;w3gX-^Bai?#mUdv5)ue$WO? z^g-Xo(QG#`gj@D}U!(=`b)VOaeN;u0IjV54%k^(Jb`+%v`RwzrY&0$fnJwLp-xg0U2k}=()?j{)IU) zD-B}-7c8Oo%WlE|uYt#sK6#|<19{1cJIgDgapkfLPaI9Y2~W%i;9S8{c0~9I?6~JW z;T?aI+)C@E8a;<^uUwNHh!X9OtJnYT3Ox!fd*%cHY1l8h{T#?^WptYuV;DI7; z-eg1Aup)o<0$6}7mz37}Tc#}s#z#fHV?mM;A!zPFY9MF65z?lQdfk^S1LP7g7x>%% z@#CJ;JK-7+IqAUO9~{kp$VLA-6?ZJH9xC%ycNdz?FeRGZ3ZZQuV1=5|rPc!MTkAUd zI&^(5gORM6x~6$&Fmhd3mhLjwxm{A)a~jxkav3SqEt3qBt~~?NPqwUcSg~jl2!=(o zbTM(Yv7~XS{EQ#qj8fifDInUg5R&vr4^GYdbUmLe0(k3^DO!(aJ$i)LD4neXdv=zF zVQy+~?!4{j++|Li={sVHh=cYbmTS-GgYA)#Pq8yyH&9H~1<@d=H8WM7`q~ALh}?~H z$%&ZrDd|DncLRv<8a{V2M`!j=dqaS@PH%57==Qe=XKPx0Rpt{ydM~{hbtUGMZwzRS z_$(D<^`wu3y5Yx=Dd}P=?ndAJ{2*2TY0w%{BD|KLXH~}g6#9>&Pem;^q$o?8oog`eLv37pE-yRI#CgP<^m8^i&wURCRjGPU6fqu^Bww;t+E$ z-`vVcf40mRtonwCXq^r5g3F@&DwB%n{YNb!i~+VMv*8tTABXaCs^3fo+#cVb+Q|L) z<-JC=@cY@R>iLiyMLFS*94S0lttVVcNux){Xge!8PXF+OcFks1`rKm4mWK{K{d%HH ziQ$t%`N1X_PI-PqWokO$VFpZk64!$T(y-)DCGzWG4*ckJ{zUV})M@H0RP<=dAC&a2 zjQ4o(7TJ;N2cbDEs4`NU+?utMCYAAXw2jAFS)%R zgrYqbNd|4?0NpB`ofntC2?jSyMDS}S&@5B&xi6L?2$B(Fo+{gyu=1JgEfX}8XoOiA ztcHQvEh(oW?N_%!?`w$K8&1%EIlTV*r=jK<_YTz0pI5V5)4(4L(gB$15c`r)o{pmj zqpzygv~}{z0#S|h5A3^Ssu{zDl413lNReL*E9iV$6j?DH#D`bwcIcQe0Mk44I?WEs zODA3D6o6l-m@$$O`i~srces-_Tii`U0w|qZjz+a*w2b9+zgs zur{wiruR=;W8ghG?fZjlNAo{{8LS7#-@g!2cmy2zA`N_zDXM`)0<6i~I!IK1LRjiOo=DLO#@!JxglbKn}cU5H}#t$d}CWy)cM)+?caVzKb160yyGO6BidZGn1c; zDgblyQ+?SUd8ZjCyqqOI+K>lNZbL~fgLM!AeM@fTww86*vD&G3;CjsGDKyzRaCF4@>;m4$OMTX?Ef8{>GJS+|>0-Kd znNYmsx{dwX*#f(A0|s8C#tCxAy^)qkMbuT8o|ZJQwV=bJ zIleGsedNMp3ROX?9z8qN8z`=a-HCr#GA&r=uRZK-`A;8bZ7bcEPx$W=MZSZ7TccOz zHn1k6a};z?UOl=_MWih=q7Dqpks(Nd9>v19-43Rl-R3JOu(c^Ds*>vP%4$qfM;XoqkrG&$%UyP)5* zCG+bMcmLrEH2D>p;-d40sb&3tM!mRZho*VIaVU>iiH47o6^bDCW2Vu3xh>9ep+;%ZZH4ps8Io>)h%|RIc8jg=0M>PTp!vL9b&+m{z z{f*bLV=eEEj==XFk&J)$4MPL)r=qU~tZY=8zXghm$ivd+w^~`WG91yzMY1fuVxc|Q>Ie98AF{AlRZb7y#UTZ+i{QwvWW_Jb!L9=eAJl9t@G zDCC2OM8JH8bQL`fAV9DEwR@?5VkA)pOaXG-r~aSlKbXDI86!;04 z>Jwm_4sdezO{e<+`{oU|ov%K}`?%B_(??T^us%rfB*%>457Oq5A8vGFy{k&yo^YbF zRsNNBCFiM)$D^i_D^Df^ZLP~oH!b8&yaa@D8z|LODku}hAl=o*!=DbFvhba^ag0n~ zQwS0naP6$a=$Vy@AqkrD5nD_^Qwo;mBO+@$yA@=cX$pIpLB*#s4$;*yh!&+>#9_a9 z8}!O|1}4hK>aXEeyJM(U@Wfn^9F46T83VX#7HK!ou994P(FX%oX(m> zBJ$@cz@`~6DckKzmZ@j%5*dxViG<;0()h(85>Bg`7k3-mq0S9De@H*_m~zWN3VP~p zZ%REU*PuDcNxcFW3W@}OEy%j}I!Y@OI#e5s>p=g*X`<1>HhHh@{x*E9mfE-0akz+4 zb#d)(g`l?gE2DQ$zl@nnAcvejfIy+eckHU5E`3lBhfnrg`1sD`*CS1jz|$|A_CFb^ zROIPqgO9dBJMNSj=x^VtWmBgjuECmiI`5BcQ`Nrf9ZTkmqYGrb5AswE@Gh#VmU`Y> zWdzTo9^R}l%B*OR;yK&93I;OElMt#1_1az&((2uR-3v38-p{~{2dyu ze_~hce%5Blj;1ExS9us80VPh&(T@=zN@vG|mPd}e4XauGqvR^Ud2w-`#=PTOt`ep2 zjyI;PpUUfu!Yqy->Z(4p*@1V(XVWFcsK9RP++~~XPA2U{=9RB2NW|By%nU=DGjLeF zxH=Wge;lx>A{qOB%U)L{E_K%5C!XoCcY20Ypz^76LavCLr)+tuAb-TAm-j|iF9Kw) zGY|LBt6%(`ZRQWb%WH%8XP2)0)4$R?;?m0{0ys*PE%d2-TKLmk% z*57$GMwOA3OHX~$4Ldp~*!Z}ifjEXgm1W9#Dk__6mhPvj4cbhr@sEd23gKWyyBlAo zT3=Lk?MM8w@!-uhMU7g-Ek8R1t1!@CeoQpfoDzOJATs(l41`Y&YUx32zw}bMeB5o^ znY6xTLcQb~EE%Q= z#*y`tFq!=~P8H!B3@sYuPDYpmx(DyPOSqY1)Z)Z^WTLu5VvRfo%q|OLPVAQ0indK) zk%KZA-fu&XiQ03;blRJ83N;JPQ#UJ>%DVgaKj^CX@!jYNYzDM?t zqix?(*52FX}MO{;T|@O|v#Ho_hx+gO`!OaT<~qFtbPY zg?^Tl@%|~tcYPr5h;9k&F_w^%@1f;OA@1VXX&a<>*RFD-3_nLj?^n|KP$ zDtab6-Gc;7e#;O?g_o_ynvYaMW(l$fc1iCv3LlTLy`?fly0^AH-8|fEmFb)Nd%%Io z)H?Dr%Z~qy)c}{MzOchjCvcByx~I?|p-e2oe9v?lFrxKoWNLhk5_NnHQDo6!Fd)_w zya@`KoqxzqWyD5x$TxUA58)g6V-~h4H7a(@Y`>%;EquBp0Ozg5J>I|*H#3Vo`KTm0Z8q(@dHhJN8D)X#CF(?SOqx@8fB@JU}< zczNO{!uW7aOrg{X{%A}|)5MgQ3WZ{DZf=hEjH3xFPJNT!YXNKmM>nhJPD4kx^d{v$ z9vMEBKD`6kCS1Oo`QbBnYycqRLrGarqkII8pi)l8OM;VL)Wig}>v}a&0=iPPqo;ej zLPz_%aIZsP<5})Sk!ppHB2jn%@>f1qZzPu!tYYR&+U6Pkv*Z|2&M+08*_WuXbQ?eU znq1oy?=6ABW?tgz%|gc*;Ez^LBIg=eCSHihC7t+sTREZCj0=@78e^<8LCs!@7=-G) zPGDQP&#Dpr|8PjwYujVWw__^0wKfS~n~^V|FI8Lt$fljf(KAeXI#NGI;z0ref6_AJ zIj~M@kT`3WS-|Y_=2t4eA=wI$n-#UBZ7giy)G5k!Yhr7)YCQim>_u3G z!*ZQT^ZvQ~`36d=hXDOn;#Jr3EmL`H(BVef*+!O!A>3|mvrPenTOkX>c&}vC2jIrN zXD=L{PYL4)gl!a$^2?x#%4u*gt|@Yi@?RA%4YquK z>E(`&fBvvY|3fzU&*4_^)`d>3Uc|Ghu^=dIYTPGAl2U`aa2VAE$W<&qo#jMV3Kc{n z|NEGcX?ArT8kv`pD`|PnxCwb2hX&E6J)j2(O`}azPycW*+@rb~FWY}inN^v5a|{M; z{fyc=fVsO;BHLi%`B%m~=MEJ+Z^UG(2AQfo(9b?7Gp(yIpEUsFV%DLareJ8(8w=C> z?LgOt9`Nqi4HkeZP*?pKsqrrqb?gs9ir623#4|B%E_3l}EAl_b)B>axO%J%*Yl;wK zcUM*gOUs==D78WD`lCBl%%hr6dg87%~znm>!(Y5{ir1L2FjzI(~a7 z`Hx%qh!gYIIrVxC1Wt<FDSEw`Wn}Ley+hzBt7Ux8E-2O+SnSxyz@Rtn12j&RpZ#!rlK}< zKjXNODrs81#ipz4kpDhroN@=`))$wk_JFOQHG8t~c%$3WXbKibYepr~?jQGGYT?uv zK(YeKfy+#kxSjEhR3QboO8|S+^XanZu)IWN!K-{PCfi%FKX~GG^kpeAX6Sz3mfOoduvE=+<%1>6_xt(L4R64bnl}I3}C> z(KB^*rD70os+{n8+L?vYm9&?w2P(M<@{zq@0GJZW2?223=icC_X;H-#{) zC0W!hk=%$poA%?Nxnma)Mw_xeCI08jvFcQP|H!h=!0KzjOQ}@)?3H3%Q=An5%1SMb z0H8s%_5OyJH(wm+&8OC2@+_lMg92+a+PQYzwpc22$9F2c5QNT3hS0if-a!r?M zu!%+}1X(Y(;-=u8&bc%MW5xj$WaHctzYt+GC{7TwFP$5p4emY3Ox$#Zb@jsWPLWM^ zM?I4B&qXqJfA-{CMv&PZ6k;LY$3xl0d}b<`Q70JBegtmr+Ev{)hz}Ir^?$^=Qt@?# z_2|GHz2L*bKy^mDSFgJI{2>R|tiX%>LhO0m@kZe=-E4AsENBHtzP$+3)mY4bf0Hy7 z{U}h;FL9zV6%rpFV5+W!;49pgvSUE)4ThP`!%sgbDdtic;TH25Wo@7_+vrK>$hKZK#d76Tx}N0e7x=*^cJpM zcPUPetUq2nvgV?I=2PN!yB~0PC!|01ZEQy*PF)jwlAZm5@Y|i10us<%lKq8`rE$kH zl9i=ASzxaBEU9_khJ~D4`If|KU(39n`u{|>gk1;LW_5pU)%N~<@T^@CDl3#sgm+<&8F;2_e5}2PYYcC7sSG?j4``pe!uzQY(Z?Xlq;*%K2Hwh%~B9EFc6>Y6C2C)%%^)FUF7qh5%?xq==adR5Vd`Jl2R)nX&Q zE@9<8N<+82lf0?G8)*i^hdsNS@n{Syz5z==yI1~-;|3_&f{DnA_z-A9pnOh}0Jvk8jm6aCHK(rM_B zfXI6F74IuL1WE9O_$sZ+=Wv*Q#MxKgR5d@TB-0=2y7(M>jAc$ORSW5grz7R$3^LG{g4s}D)Lg$QF>G3J+r$CG)&i7(>yXdA9&#-umxsn z$QyFp-2Wa~nVus#F9-hbR~C1P+*;XN!)XudJU#4FN7#x{N`nLwBlQmjQghyl(VtVQ zXxf|E+1bJIaVwycM0fyuWog(0mhW_OC-l5x7R)}IoNGIzf9O6*Z-yBJh_g^}IFyQ8 z53j~%?kS(cpxuNA^CWkC!2rT@!}&tsgf~k~o{Fbr+>qaSxqPKT6hueGU6(ji<^=J~ z@;cj(01z9Y^Q9pz^lvz>c0>N-4G74`_{WBNZ<~a?H$z?Ly6UaoS1m9CDtpuR z2YIaOfn8pVUumle# zdLLe`-?3vlAdKkHG((<(4L@Yj)uY+Z4!1~%w(5DQ9bHYXhAS^H>@;yiuzK?ByLNNE z<+{MsAM3f_*X&fRa{%i4x-+6TW!wGA?)e{G&v1{Ih{jk|7zuDa+iat2Q*gQsjSa7N z*0`RjXj{v9{xiFoM&h};bFI!qd8@G#14@^b&3j=oXsQ+q4<_@usM=P*!dY%dpOep# z0C+l%`08aT6fs|gGJFvFx$1LNxeWdMkHe~AniN9!vcswR(%J{p>etfcd&WL?>l0;~nnp?Rew z>ph3W?o=+5onc7(_8)Lt?7JA`7I-;?Hghjz+^RhZE^Dh+N1j{ACSpa>&N_NvTB(~2 z4pJ_;s1sP}(y_MSN0QI~P}&3iv74J4P9r!lvM7&Yfa=mb3OjCo$8UKZt?k7VyWD=} z-DRFx;e2acw!C=g&ew(jzeQPHrfcP{epKki1h*g3NAnz8?j=s$aV$<~ zY){V)S?~3pq?7$GEr11#1hY-lv69-Pdvzt!)Nk9V4?Ztn@0X6bbiC1hxnr^}*D&d| z>=>is+CH3n=k+6-6>2Kq3d|o58v43G1sjhXx!Vgh;0XNemll0zGW06kRZ?mUW-4%K zmw^p6wG2pcz~rEiC%c}>TzUTLlYLY39NU#wxh9TnkJ}(IPL)5tvUetS0wL#A*1d^8 zda+{iHCSY_8zwDHxpW{MlDlR*R|iEErlD91q;k;wW(X#yJ4q>+et=@*HdhrSRDgFB zy9*dr30@>yX$@@@40hHscyx0N@6I){gqS7VgKtip{qjh;ifCIoSbOBCxJB2cynVup zp+K9sw&e$2G)Z{Hfy|<-I>!uW19NeU{~VI~4YVF`O@P-j$F2rdGCI>TIwa6=5$f)L8!XYRD2m2k$hV#hGF zN7|~f+J$RC-LJc*=wGJhzb_8!y%TPysry^RG%p-PF=Go1l*He`PgCU?UfL!tlf0H$ z;6~I!5ZHr#-P~I`nPBf5DsdwY``0rrs zFAAB2MasL-Qa6g_l&WeV2bjV#1@Buv1^^$!m`ZjeMtSrpz8GJQfjh(yCW_kK{5k?PyWxQmIy+G=u`0ITx*wAIbe2EhM~z(czRfXXb#ex z0<>v)ooELhQC>^pR*eA*GP-i)Un%>+6F#rbVWtdeik{<)K;Gu;fMI_F*Q?6UA6nptnfR_y!pO?UX|BSc%NFZDbo5zs+tFD1!t(@vJP zcRT^=4#b~_PJ(N?*-9&vQ7YvD1kIUw z*D6stV|%^NNA+{UWFhN)2f@u1qu8rlXevdt3i?Hgc;+_=hxK1mkmjt$SiONFRirZQT(e?VwXPA|+KESYAy*le~%U4%S$H5`Wl80#{xz3ltMAsx({Yn&rs!2v~zhCs{ zU@WTw@heRrhDM2^*iCB^*dlQhK1r^hx}$tsTyhrfTs}-T4nsasIwQ4@7_rE2k;o)K2`IwlM13v1v zfhfzG^dfZt3|)1a)bYA|z$L3eVQG?bMgaKBr!q@*_iwj|9r`R(%Zo@eyh)l5>NRH? zshD?9SGZ8!Bk%SfBdB^@Ko(9hy`|+oSvwYZb zHssQpbyK)3I_M>*XWN&Esyw7|To3W8NIEGvsJ8)-V#Hh&o~d=gkJ_IdK@80WyBESY z!)G!-EH-`DOEf)5ebKNzu}C7|7vN5ov&$q{v+yPHpA=Cv#V+dP^6Bl`_Ig5bdNn;Q zEg|s@(Ix3-R?6CF^3ECZ7Px^}i)MbUhF0)lm)V+yTAuwS*$&33xN@sNj_BD5_MMo% ztpniL+gjtwTZR5UuQ_h@@PHPOOT7gyz26O{Otm|^rFV4SR>)t6F2qJSOuyUo_bJ#T zBors>%KC!sDY!TOLaf%u>U{-~Z&TK}V)UYChIWN{c|jDx#ipN0BH*GEpFXma9emn= zXHS)mSI!tbWa3k$`wPsM*B8|QrT_Ck@oii@iE`r$kL+c!oOe6{Qm}{wu)>mL`j*Kf!4T`rKmJ+)xJs6B)E9V*x-R!Dl>{AS!>Afk$1G z9rs6E;e%$d>V2Z+f+F<_}2P(HHP#Cw-rC%c4l>NWTfehs!p8$qrH)89gu(k0(WzBGrgwQ zjby2jHWII!(ePa8G=S$~JuaSo<54B4wrvru4BG?F3&!B7G>l*|P&rn3YOz6W>1LrS zx9t$Nz9_Z1ppG0m`qY>3>eO0Sp+6+O351R$PRfG&czN^~Ysp)SHCLDHs9$efU$D`o z<$#xoEVISi8oMyc1tuL;mT05gh|uCC*D0EnEyT6>>A zipU+)AaYGjO(~0V5nLxw{Wc$87Yy*Fme%mLlmr|^@Kg}57^T@kQEhvSl=@98JIS4F zvw5NCYu5*}(_3KsvJ~VIJhK6chB@y%DNS@pS+Vh<+i=K{+oDL#(3I( z!<}!P6X+$PKNiA6lFn8c3-{+Fbw>eo5!GFUffwS6Wjce{&U1+ZK#mir=@uyem3}?S z<+f=HL}y{Zq3%SfmF~Uhgj`Z-We3~sIqqQ{5}=HBH7Q6V+(~UkoTd$xj#ft;nKOZS5UzZ~d{2p5Lx_pkrbC zj!%DPnE9KhNt~3F1ROsf;Qlnf4Vx%SXHAmI z*97u5)Eo0SX*wqdf@m8|IcE6yjdDYzXTZUuDBAi7M9>L*3fabB$X#}@Mb+O8TS+L& z@Fb6b#{o6zRwsuOMxEznwp_5dJ6r+orGa-YE;OqS>?sM_{rDly7>TPf9)3 zvu2$4JfZE-yNq*Z&Db)BlaZ5Dm=#MJO!uVen?h}B9wU9GUir60V$O!!SzE-;(6&sF z>d>>-5i7^tCQ)b;4FTT_6*^u4Pp5Pu_X1=^@>v}JAH(+cls!ls`F`a*YANE6m z(9B>FG4rm?VQc0x?6P{2P~#ZZw)}

eet1Xbq|IuYO#EUd2}U50BxFn%3}CSQyZY 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 literal 107882 zcmdqIWmH_vvoDOh1%hiJ!C{c#?k)j>!$5F%7;KOvxCJM{2~Kc#9W=N*4DK+vUY`Fs z_nx!X`{nuk?zQ&pJ-xfCcXd^D_piEkxVowwHU=3692^|Bg1oc_92|-X92`O%8p>-) z7)_lL92^#djg*wSf|L}Ex~r3=jlBgNoP2mv3aVDZAW`5hp!j{QIHQK7Q|={mn=D=& z^E{dYO-^qdp7hZ`Zm^w1UofE&VbvexxV{i%%t(_{TukPnX5Gr53wreI(%m+%RS~P_ zm*ET{uama4fKejxm{4DCO8_-xG9i^BhFS2+`6M-)q7kxNxtb{Dq{pv^xcd> z$w(+@3x=bliq~;&KjY~LdC#jP;xyrDruZooP~b`~8g=iMvG(LV(9Kcbs4)gFqb;Pc zte?@`NKvIFaAQ~h{u33A$4-l@7_nCZQVqMG$NrrYPNMHsm+j7x=$k?8kmwSJ|JP; zFTY=}3H9TBi?NxI=#uMj*WJrFP!e~lP_s#k;$Zw1BRDt2{(ZHs_sE%8zj*WekJ>h0 z({|-UFS=WiBt55Tqmm<(fRd5s3r{Pw>M%IXda*&8=vyWm% zQP!@pkH(PJ_LJQ$n7XzxZE4$pm&fNbg&XG+?>5ELi3uvAu;+%hqM|=R0+)j2@sNVy zF$YYP5U0fH@#;P2JbHjbnd+VJ_;K*JonUqDkF*LCbirf%>S)iwy{MBLEQ2o80U8AJo;9vM#)&ig@OAWQw1A%(m}Y-NR90^iV)A)^(}m!D z4d3Wh&&4i}eb`(Dz4yEC+4<(Xo+;(xU&A2$p_YK^O*w%eT0D=-a@Dt|p_L>jzzn9@2o)?QB24D&pjB)X)T}~8>L!-V#kBHdLn@gi7&>7`<-iLZLp>I59g_W4PblRx8^XO$% zc3m-p-XI6zPi4_L3ttG&%_YRTvv#0Zqf8Y)r*j}V!#M$!xLfC#7hBXy;~&ql!a1bk z`Y{4qc(VG4T;!t71qArJjkMZtSQ?TWl>0JcH~`?O?M$T3nzzi{?fd-BxPtd@;UEuA zf;D{33jox0U2+}zL7fBVyRUFX;@Ds&pH8$Bqgf6*hIN$IATcy}Gl`F3sDmaLWi@c+ zn&_!GmO*#fNQpt)COo>hyk8wmi03hJf(6IXRD;~s@vRZ(x{MmN1-q2S5mB1y=j zQJT{DgmHcent!JnhPoN~jpm0uYkbsiTGBAIAMa}7kmX4=V#?&|X=esb2R?1Rb%nQ) zbEL!l!M=rkLE5KIR`Q)JH+j!`8WCHZZXD#!^)qNE_q#P`^IM}x?Hu26{mZvL=xs5c z*?TJ@ ztMHN3fysg4`28{OF zzU9HJgR5h*{ccNW8#>Ki>QSmW%{KFOTHwHKnq?-oWKHXI#>AT6R@!dMnss9SkBbDf ziC$q!gIhYGP_L{>1y;Lbh63R*L*i_VLXJ9)s)ca(qhcSvcJ8cBzVO$~zXLRnoIcNrA{ zVuCY4+MsrVc7muT%M{WS?bK7j&EFzRD$9M#(vhDdJ|oe8`_sm_DmXjLB&yCT@pQ|o ztm|)0Y%J2uo5rh0FPf6d371O7OCSfCJS&T1f^*G7_dl^GAU*WMmU$|_*lZ7NSt|e3 zw%La+HZ7nZ^DfrKzK^=3U?S7wxhN3%E7~c#)(&~zVB9Gh_#~5eAlpXfAS!5a88PuU zuS2j=&|JvgtMRaCpMSP$psMRUI^hq&T=C@oPwo|gY438kHkci;5OMo3eTqRj)|^W@ zrqM6Mj>e`Ih2`rekEUNOh0RXR9s4=kZ=hAZ&{l>n?s2zrtGrzX0AGc0#aH71-z8rw z@6&6rD8v>kVC0%J)?eA5U(~=~&`+==Kcd;)u+az#($1ya?DkxnKJaCZ@k%H z>2|8dUNH3JX|XDMm|rj(lOCttq@9%$j;M`Jl;(|+>W`*ua9wU=jAZMZoItW{ac!n^CsVgWNsyzwqKJS-!l@^w_t8Zvj zd1HG-+pF|14%A&8j?A$E=Q@llpM5M$wx6+4$cdb8D}OYc57ED-Gx z`D1EeSISz-T>qwF+sU_C#KjlpMAh;6bbReoJ#<)gVl>96s%2EGMMvk9cfPF*<p%yJhNC{9uObJo!K+Nl4csD^CLmxwnnnk+L^2fUU zlYR8UiVV_#f-C#p1=z0SScW5xwW!PLt{)V+0#gp)V_4R*+>+D#8?h8NYf z74I9g8^zPowF;2QS@r>t_hoTyW7g%!^sFaY&L#FlbVn3?Cw>3Bqvn?B$)=ARYBe*K zk;&)z-LtMO^)?rle`^8s8U&IBIDjmk4$jt|0~#)s_xAnRyhY9|2MyX9gw~o`?GB>% z{m(>q{ntV#V|}Q-{4Z{&9|iVdHSPOPzn|-X_U#}2qHleiXsk@cM}9cJm4nCP{U|~i z$R`A!&CpXLMGiL|KGc#XiMQ>qA+au2b@5z)#|P(mj~K^+8z>KwT|oMUY)n|Bl_^q39q2>{tONdKGQ}^*IiddS5BzB$iexwHXNKVNbvR6!NT2?2IOGx=q3mfq5V${!PonLiUG7V|Ec0`Cqk>M zqD~{_NX$?dtGT82Mb5H*EU2s zdAYfS|3mQqdGtR`{x4F!{~_h&;r-u~|Le(rQwjtAk>Gzx^k3cepVHU<62%Y({J*{z z#jqRt{pVF36gJXoTCZ1xe{}PzIr-Ng#{as$-ox{6QlYxPLPl{o1!)N_5d2XadaH%p z=hJ|e(_=>jbc8qfAsiwI16Z=@RKWxhVG&#+pQt0mNzCQ({y8>^X&AYX)n9UP(O|#P z&~Tq|PGb>+2PTfxSPkvR7?z)YZ@XVF~XQ)(XifiU( zHwn>@5Q4;M@cw^zu_r+Cv`-M${sGx8W-INa`|__OO_4#u0TLx#3jm3T*w`@zdytsqvE{{x_PmmqUtK$nB>$p}0zqxz6ojJ}{7pQn{zm`gf*KiTy^m zk9LUp%SiB!HJc@?!B{o8hKySF-%&fK$(k%6Cs{mMe)afG%uf{EQRLr|V{m@lAMX0^ zdW=E{slJ-Oy680by5^HWd?b;ZS;eBGC$xv--`O#{8`_A`N4>fgN%6l%kGk*omQyu7 zHGN!v+J*X$|2t=xe?}{_g}30nt?=2$lItB5yHLFhaQxeVpWqWJsQs^f|{clu?gfRTBa$$2otM{*;K{MxF z>d2f(KjcB{v4n`OU^8mJfmR8d6jnjj7-%wcPE;hQjQDS~HH?kGqSv{XGZDc@zZOxZ zv%RRB-VUyAjgSc~CNc8?7$g>&uHxRkHJWu|cHH|{EXA|`QGaxDRtjLK5UVYA%t!I` z81+$`n6}`t4a^PZHd0(XG^mz9Od^F*)?ohIzVv?WOUI}M?*+?8%jRjtiW|19Nnc-R zLp2BI_TiO3c*0e&@st~4kSA;Z(9DSXuLix&Ye|!u?>H4pQKyGHi3Aw_Eu2~fmu8|f zxsakyQhUVG9OMZ%7G~R=dJ%kbs%@+7fY^U&!S(@2`jM3WceL9A_1TjRGRf9Ts}03N zPslNfP2nco9qr{n)s6KWv+BR@{tsHJ742>EL%WvEUkLO6oq6&Tq1o3rZg}`-a(&!Z zU6|sebm*&h`dY5`;OXyO(>j9CXDMooimMW?PL-#?OJ4}TckcpmAISC>Gne>xT3nx} zsayySnY+5H;;NSRF4Vr-_HPG5=m#f(@BvzjE9%jG$r}tcp`uqQRwl%2wA&8_=fOZo#ue zF~$5JW<9UXA`Z(Czt_Ju#=%ud(m0vYTHRai_c|p=qHlMas#0mMP_i(-?P=IEY)K9n z_;-?KM|UnGM{>5bM_pK6il;#4T5eJj=|vYB`~*MeD^*{1%Qaps#1mt(u{FbSTAo_? zXS!zHUl2AMmV2ys2H}2Q@Cc6eKQhyM+`tXspW^GrI>8~;C$xr$q!AWN(O~au!wAdF17QJc?YvAd(`8)ag59sb0RVny^ge=a280u zWttH6&lYJ(fx%H)-Znz$MTvgO%I#>DkgnxPXBS0ZYb%R5DgI(72P-IB*$yMcXQU8B zvjLCrMwdYs%}*jR0-3lyZo>Ca&8yHA@lsjj{v@HyN0)lHLJFsGN}(zGHpj%Y4(V$@ zUPaHhJ|74i^hw01y86!$*onmcO)T^F9mwXiqGoKomWIK5)#Pw%}K?&4oZhq^ZA z-Jb;q#>wFK*aX&@sDDQ=$TXpMl?5Ic{nz;1vHHBU#U+FiGsY?n=4>CFuc02H(N@JZ z0>=EJhQ1@<_uJmI#BnZMV@=hx)Qr%QX${4Ng({*-IO|+3xc>6E?Pnhy$W&+a#zGDw zVLWhO3_qviY)(4ly+yD@fmFH1%|U;(aES2A(eHd-GV43}oRTa!MH{{^`bsY}s5;PJ z$k8T2AtCERiK80@`jS{W9ZgJB>%Vt+9oNy#z_e%3F4$#k|CC_ka}MW7B#Qwl z;X7v0+O@FH3^|O6;d>F$IGs`m;fFXq9O9;-U?UO9bppqZ`KQ%G)A%Z(z*wnY)FiX} zu~`@XL)1;$671@LE0^}G-7eY0RT~Z1)S013<8zryfbH7Y(_Qex=bWum)ta^%1RgAx z#v^B`)`2C+cLdcAU9q4Fgqrp$A*FHP71`X#W9-x3F?ZWOn^V&Mv6JVNvYOb_rE=DF zW52mi9{I{1kdYCsI_7niHL;OgfgloU#q6}Ni0$7(OTyn6D!>|b|GCWM@H$BREv6~ zTX?Frh=ZH4@)7Kca=1Yo@?@??M2?282!D!qDAQ_tim*oEP5*PKpi>xKl)B6h6N2jVeT ziqwtH1n^F);W^@AjLpvBXzc9_wm5fo(t^0bsHdvE{k9V*@M~%?>Kx^ZKdHzx^SESj zVPflFTTs^>DKy%M6~Lt_xHb-l!XB`V9#iiMp64`*8bmv2uf+z&_{=CODCO z@|Rh?F^ZV%L$#LbX)T;v{)xYB0~~BMrriH^C6cgB{k%bq-*Vmk@>H*UdZW~ly8p)! zoS>}MyojE5Q8kK?i?RIl-cm#`M(telDbD?wmeI2yag%}_d|>Ql~KTU+lSbCov7L1&3Axf6Yw zI1Gq#cN@(U*O8reu4Qn-b>E)zk8N1>Z;w-!%a#80ZLZ3-6n{z^ zV6HmCZ9mY>sVsl9YdTWXNb9rJ)KTMVw=H5}l9^hvc4 zPOI2%SIFacd#Ino(#K%Wdkagn6-^4ln?J1NSI2xE3m$M9;dc;K+=oL(tumi!?zW#J zjc*G@ySIY_HX@DFmt5|@Qh}PRaic+lq`0GfsKO7(VZl_$NZ{?llXSbL7lN$J{qMkb zj;XoUXY91+RRZcPn+C)k9HWialc(sD6=2{-r%EmGWIjUebuFUGe@BsUb=4&7LdNls zYy?#G=Kks4s(DrmOh8V3NkFQCOHki4j`(sY36OOYC5L9eE2o|Ol_ZJ$f6bBSzs&Is zl0Hanv!*sLRu~YcH}johe9hUnU3pKl18Fl7E$`denJ!F80D2Y3vNqM*1DkPC2rLO! zKt_qNg-C7M3u==qJ{*y)KQXrmPFv#JX~Tb+rVz@)efo64MkEkdrQv*JZIma8Px9H3 zwibi0YLGc)E%7d~y<`rP44bR!?QO8tmp^lIHRlq>qn%Z{(c>W&Qo{Hq?^>S~zaV(4hW&H#5gC za~Ma?l@FELj8>=3dD}CC|JdR$e#_6VwpieYa{nJ&?Cy-LZ8C=bEav<(ZDT?(}8w#Q(aznZ(!^bnKz6@eJX(}3-W~ap5bU$#J^xP>^b>pimL0fl07OH~l#u07OsGn!3uS{rQZ3nM z`bx?2p_`Ol(yZtc(Mbtd0v6Vav`G(`9H$E1UhS}q@Uk{& zmRR~eBKYY!E%TPrCd1O+-p zjk!DAiEqX?8k2;zzrDUZdJrV~&2RQsR=@e;<=oSG6&*5d(Dy0ez;qcu*{AW{Lh;!2 zeDN_)=8N(Sn~Jfjkb$>?CtcQij$D1|+FXvm%w4565& zO#KsGUoWrKuH+3l(=FOxgq+}d{dM5#|iuyDD8J*LBinr};m{Veh^@fi+ zbMnt3xkC^8(BRJ;wPzt@b3m^>+(WDAFW4Kc<%wY3HIsAsP_qi>rYx3Jo` z@?EslFXEvQkJ%yQz{cZ_0E=|IENIDD2>?3}BEdY3OEqox)WvVN;RKamY)N=z7Dk!5 zPCW-Rdq?XW<@-!0Hln5HR9ToBN7;>SLIJ?|-YNfzs@dq{k6x=y#Ayvg3la-{BbDgUf(1S485NJtItE# zI=pn`LGhMKEdM9NZj0oV-+(`?e5I)Xd(W{c))+`EBy`f4`2&|yK65Dsrym^}1%uy( zKS>$#5At)`XfM7@StWLU_Ixege~X0yv?`#Scjj2`T7qPVy|_{|imM*!a@YIBB_jPm z+rE`LSR4b%t?;J{)?G)EO#-f;Vtow#dWNHY1N>nAZv=#Qoj_;&WjC7n9alawPsy?G z?T_EX9lNw{RGM_1>5k+2?TH@hjP^f^8gKi>?tm$&9_>$9$*{`}67|d~DuACA?2kKKbfrq;%m9-RX_hkYD2N8VRj_ z;5y&a88ut)yy=pPKt0}SEZH$|U&c?F`m{k9Ahf1HmChGFd~TxUQVosvT;SglHLQ?Y z&VoI;WE{qhoX%hAsQRv4>H35TCtaQCv|icezmcG{+T+|3q$bpIjb4jayZd3hT@n1t zNGkAl1{k2u>)!=?=9sDgyEzpkQN!yt$-2r_9&3@0IV`?B zczzR0ZuptmrxVcvbwm%~1J?F4tLXKxQU0uXsU(z)SIS7)pmhIW0q|GA@w)%|dkt_G za>-ZtVH9>YW(v$!3F*@O{>>Cne=fzLF!Uha-8FbaIS4Yio^6+PnPeu8-K znh*6ii;&BH5X9R$G6^;H(p4}QC|zd@piJTy@pu0~N_+as>Fd?2eipi`97Hj67X%CG^Pn_#9FXZECf_2g3x_+} zMtRc`pORQqzD0=1flhjMHVw7vQ6yZq@%+bY4aKLswzdNs)QiPMqgWs+BH#}itesf> zV*L_1Czy#;r&Vy=B%X3X6XzxUh|qKx-3{iel)D~2-!Kt`-%?OIu`Uf2p|m59}gBFwWiqm z(+wZP1rN#ocbF@$jK#8}kyC{eFF)#pBw>7kFA$Gctb(HhIRg;|4aEf3Xq-NYtsb@Z zdl(`2ey`so^bSuncYdva7KDn)$V#|y13<0D0q;)hp0Tx`HBCV`&sEO%z|K4FEsUjgub zr{H*iw??#aV>X=b0r@*PM>xBqY^@^zh|`ZlvIlh<2AHogiO=A7^o>9zp(1I#Sdmtygc;+>xXj&1wH~QFJ_r)~u5?)RqR*NYjP`d3W zEVwHIPU=(bnZt~)F2L@?&t9h8{@g*HyCA0-%??9`J>1cy567m$2c`%ifJSx52WTu{ zwieaa6;U6bWnU2`(<&W5)bHtvK;&8r`g5&ncCw5ayhV3Q6N(?Ygw@jr`MR#XwF%Fz zOp^_S`UQ4$$538PkZ)}~M7uav_ zq$d=5lTy)cJmTQ6={M{2Cm>IMT<4)alR0AQ&r0!Kl}$nr2lJkEVYX#h{pAitq8{}< zdmXyBY%<0;90w5%wbVpo@W&Q&5Du=OSiX5=V<3!mN3B;G)cTA-`=pHCBo^;vUGmqe z3I&G~V2p$$faE?Wep-I2u8wA4?Sn#_;{%Xp>B{%y+$znfCOC#%Of|9L;oXyQxBuI@ zHP_WySZVaj#$B?DNi?-*f7m=ZR=RvG$NA>iQbvD zg(IF6(~z(~v*)BMm*f zgXr)=MUiG-gv9p%HXOTe7A1u4o~>bmK5YvoqEZ!dmKAqGKe2)FJeh*zhd zmRBb$SuFUce&D$`n||ym1NEsq>?qKCU#}W*r>n3AQFh1ZF0<<{5N06+kTH>8-0{h7 z7>&$-KF2HYI$$~e@i3+%dYz-^b{Z-sI8~7adsml;v~NXvwQ_;PfUq*y9YcISbA)I8 zv8iOn3j1j0h%wIei)(UuDKejDZJ^k$(bfnH-tM@m%^N73z_U){3AUR>tk1F;m&hSo zK*~M?dn4l%s+iV2G#s}hVCU3luH{)?=hpg0bu3U}ra;~7RMp-U7;-wLbXP|nM4>7(){x}=7k!wcJ5(w1Iv=QOncEs+HLZ?rUD!U zj~+r`Lo7HtpNG(kG(I8?@6=rQ7}BPjC@jtO6L;zca(-jPvbGBf3}4j^+`#7!{IeWB z-+1YnYrQdyyee~C-ico*oxtz+j)kzakop!$OWgG(4V3hkcvTp_q|;kOCmBONn*5 zWrQJ*YWdzUS5bFBR-1bWqL)<3aB?oCY zIdF!~>8NA?*ITBE|HxTPBg%z9S{NesRGJvB^v?us$v?VJAhg(}M!0V4sT!LO)89a+ zN#vjLD03xwop)r<;~WozxR2z70R0Hckgx|%h!HOT1l<{Q0XFZg7~s6Z(Z)>kik^RL zRB)QXLr{jYJDnv-UZZ?SYdWvw72`f&+l)C9vE_#QQx=(1#a@}C(XXCsj(iv-7(7qv ztwgUuMl{U#IGHC)F>phYm}dxL7kQO%uskD2HzE^_h~xs6!krx0c5k5$5D>pwD298j zrA<+@Kg{^Lb8@rBq^sY3Fs!jaWHKuHaOCwqPlUl3@S~2p@#&aL_n=Aak6W< zk>ic0xL5Vj62ps3BXGanznZH>EepK|0J}NlX1*?^1_lPMICg%n)EvV*+S8r0Vzb`^ zoOvBjBB!oYSGO+}Jr?qSl^IDm($#DImB-_8fdkg31$nfnDl1bSsc~9E!q9MZ=}4<9 zTspVTAXEa9L-I$t2FHoI432wDS+D@YN*prjqr;cL){uRh^5FzimgLx}i>+@{lfD9X ztV<(JSD#`l)^0;2-lS+;Ox*q196j&v#U^M_BrQBTsssjCO^p;C-I`dXM7u@zfS}#j zbsN=E#J9`6KaV>%iIo+ba&~TO(49oYZzTudrNms8-)boiitl5z2Mo*=^&GChvk}{6 ziB0M6BckY(V__ga*acZ3R8u%zU?PEwgW4bVWn+3rd4-cFA_VeXqgfG%cZv6G)%D_s zs7^)f%G}TV0DY;~IH<8APLV4~w!pV#3+3zQ*U;uPi9 z6sRG28CZ%vnt4&=cYf9n&GWbhkiJRx8_+&=s}f(Dm9~ObnNOk%l(Aomv|@|r_cQ`k z`mR3zkB)7HuISMCisXUV>1gU5v!1m+7N|Tz94bE%OoRLL#t+8*;FiA6W@Dv|hbN|) zXM0^gFciVL5>DqlZ))i9-nMCsdKrd_jNy=$&z)TsI#u)s*)~u+Y?Ql}H=Gc|mT_-k zgikw6Pf{;`$WZUw)SF^W9#v;|LwI&SJSrMOe$|JC6nEU|3HMbEYJSz&eCOFO^UxaB z!@vF5W>`bkW;*4W`Lo7(8|D<|6wTsEhR~VJ|W&51 z6yW63qtO5TDvK~#!497KY#bf}+Gs8TrrwH5iFLbmEFO%J1!R$3;cl1OwmpsaLGmf) zE-|0_y}$e9P{h`@Jg@|&GYTKqoMV86-l{ne&Ar*wp#DQ2BPQCk>e>O9FB*b-yx|*r zE*NVzN14&VILFlY6{Sjv$JMlZMc$46E6 zJL(MuV|YvWw@M`k=>}p}Qo2431Y^43?2ADt+@Eq%f*e<6Y4LR|yJlx&I-a9l!{kJb zJv$!<$uC^H$zV#S-fOQLdsbo>6=|Y7oUwOR<&_HvSSqTY@4O-;Fvi5Ktb!}06v}U7BqXcC+4csR(xya1X4Gc$4byO}pA9l=p9YIa1zPe212^!#t z@x$Zf^YD>2n5y^YC+7AeM5W_kGUrdrt=-@P@uHdmv{i6Za!$WlE9Wr2XQA7*k9WI4 ztx$i;#03&11Jw66c)&Bm^l`y2l6rGaJT}<+VnF+x*9OivWRn4l%X^E&246K@dOL5j zPC-{Sw?5g6(KMLe&v2H))~)fV@S)zRnSP1Qrc(+s_?R3xjJn6DLQeV}jE;LNqr^vb zUd;go2^H)Xo2sC#{Ej_2l|UDZtBB?M9}k`vXWmmCx21Ggco zdGRr>b{Y0A!CI%7KLNN4*U}#i2D>l)$9d9mBa-@Stdp509Ag5UHyhboGjTinHy|#? zCNRn-WluN1&ad!A!caOQ6RxnRHQm4kKjoxzA;&qg83(a*-DM};fY-=?V!7ih5bOmI zneeLxW9}+!7(l~df(^ewz7Ge27IQYjWVMEjs3<z2mi8}*ymBtG|h16?5HosffL?2-13 z$6;gmnB<)6O3>{$K}V4Yti=l@-^KPXP?1@1$rcI%(c=i=9my`yV-*#fN12miU=80o z?)0ErbN>=(mVx~;I5ju4TGv%-yKD$keAlW7}(kcuKvo?T{jiNEWqYx~o zzOns?NEH&h6yB|x+ARA+_xUji&gDOj)mEIFCoD_bqMeTU{LHrS|mN@ zzpjsu{?@O2Tt*UnGBZ7t#IfhM;o*fBESqiA=txw2I(uA~G#pu_m8YG?eCFNAe(L+i zFo)MF5#T6URf2u4N;RZ1Bj~ky^HNJkQ)ap~x**v3) zCLI!d6Njp^=y2@e{m>e9bJe30u2GQ}(s7+|&IQJZ8I6r`zPf{DZyc;psy*Zovg-qb z`naa#*GolAr7^X$n3St+y3R;8p)fkYFg5%Fr%Pc!VPjwlHu>3mrbD?u)J;yJx2a(3 zbr`e0VsK=R#g%@iq4Qr!n?%pFz+fk0*ZdFVTV{79?Y%R?Mqn8LPG$piZf4kJYb?N% zYD>@YGK)?95aH)l;fJ4?A#{|7hbz2~{HyCuyW0oPhGV!sZBTa;Fg+acnhD=(YjfAb zgT%<5)9BJAi|Y|{31Vzs=OvcBnB&IEEw>n3;MYNak(h?_FUYVFiR6!g%j8t7QpFb8`e$ow{<$wV zAENhRGt>7ZwC3q9>q)s_pu&I1gF7JM*Q&j?aMW3-*fakfLrSRd;|QzIT`vyFqaVfA zIQbq#>Y;|cCpZ=2a$lT@8p?)^hqKUt6Sxc3+mIc z#3{U&Z@tqE-&&Op%ZAz@QPF|j#4h* zey3yX5t$hHbDz*_!0&mADnNDzcpjm%+{AK=oSLYuXgVs?_s+=rHD{^y-p4#GcvO7e z408Dj)1>`LNk2wo1685ye`=Q-UlR&`#k}t4t3F=LnY|*mLJIosrm78;(q#^g$4N&0 z=NVy*WZX27yVaUL4$t1PXzqs9K~EvXetp4bOs`^~@cJvXpdo+TnM97OHXIyj=z~H1 ziW}ae;h3=XN0(rhyRxW*&TDEEj0RBrTylv<<<2towSC|c@1=W)?H@;|f{cxe=SIIO ze}o_?%MJl?F)GAgT{mednYPpUBh`)JB{dK$O2_G!e9f%}{FBwp549x5Ac_nUF+c*ZX$R__<9s{`}aq*l0R!+NxR4rs=v%~7 zU)V+g&_y1zNg%#x-C@N98LRET-B$y*j&n84c+ud!*@vDr7XOxXsz*hUtq&m|%6Il5 zpC^2MnO%>$s|KF##_m~OXCe*d&Lv#Vl5l1CL>J2&2lqT|Rzy)^X3hhYx<*yCmnDyc z^BqXI+hNGB_wqjrtivjpdb!~1~p*LLU1f*1Kn7azR%mYQz z{8G`L)Tow$oo-U*HhTAU(ptSv`#gaqf7bpQVnFo$VHkg0zU;m(j0VMBN#1IahXLr> zH)?yW*B@ggO0)RIQhLK;G@hJkH*``X`aBpn7+T5WNYogfNnEdS2?J#M5y? z2v9LUh7v0YEnjgQ)?aRTbvCkf2rpTj8tVzb60N!_q2H~#UlAZn!=pwP0SW`2W8j@+ zM@~R-UDZ2cd(ZBpRW_CbU-$lD$9&e_O3e`9B>}N5LG`^onP>Z18CrYXXOc;~5=K4_ z+I2|y^Lonl@?J{gqLX$IigvZ87s=72r{kV#mQjm&A+8W^)M5?4`MVHuGNlv%4ewFe z=64J;xxbR|WRUe4^)aHczfKePKV34qtCGFgs1+4OX{}@)Dxc(*o=G`a9~W>)L>%vA2>4coJQ&c#j4IEI35h6JzZ#O{ zCP~wFwWo_|l>_DH&wK6)x>b%lgP_x!KSGoOq05UK&de_|>>Uf0*N1@UbB2J$9*e<) zIiI`SnDkmzg@#jjY8Dl)g`QC96y#E{T(hc4DA3Ni59Ld|Kx>A}k^6Mvius zZp!A|U=9xKJ!OWX(7NaX)y-AIZ?1Ctk!uIJaoMPM7AJ^g1 zF6in(1OBYy4j1eA`lo$${%$?@L#uF|W*3r<_6jY3LSIAGDwSW*{4}F7i6?`|Mtp6~U<3q(WF(t4{x~JVF#%UgbS% zNIvr(t{WF>(#J)Io5P)=tJp$QZS8FE1yf)+I%>Rty7QH8yT)yA{6)6V*wEAT%(B-fG!=6Aj zY};)&fVWijrS1Vo+4#0v$NYJ5PT<27d4p%S7CLTsnbBPYm(#XaXS!ETmJ`W+S6z1v zTo1R2@$KWTMM?!&32Yr65Lv%je-vB)cndWbJ^cWPx9Su=%DKQw1^BCYGJlNqO4)-_ zF^xU)KP2Jz7pGXBx}2g~tXVxzypTc8cB6AVqbWaC_=QC^_+~H(nXo@My!>L@Cl2sC zmdrUf_slm;5*};#k>Mj5!hnUz#oktj+V&)+H{BiSxptmdYT0t*cfF~14QPh38GepO zmxC8Fy`^%GgJt=cGSqWe)6`L{qf%dzO1#l|L%ZGkjz({YWaMkWtm5eavZpt^vNNf4Pd_!Jqe_D zM*b)H_Tgia!RbfY_;R(W#vvh-X5`cc&+Y$!ypLG3U*PF`OsN0T&9naIaPfDZ?Wuu? z?=!oXrOjUC{NAE-RsGFcRw@3Po*>T5AN0%rTmznf<(~~7Y&mk0dZyRUslFD%canNH zUAa^(XJ}r1pG<4e1!kT5h=?6Is)tEkDKjn-3w}=YvnI)e)`n9fjxYD(yF}An6=&Sp zz{}0cT#aV_!ugL=Qega#Q^tnAqq<6~-EgwW)(NTr2REE|dj~y;Lk-|Vt`+LqvYo)^PnE<7A@`1__SDC2d^@B=;UcZdo+*dJ z(~2ivobs&c&8_yBO(pg?F(rB%F}a@e#jQ5dK_M$1lvrTWDHR)m5?fi$(PX}ErAvvRv=UF>r_`sA7yKKwowqQ8wij0 zioogmjRabiiet4{JJHzvgf?y?kW&YdQ?m{r6Y~gIk$`a|=fjK;T10}ylzdm8D-YTU zwR=07BTnPBT_%Qu;Q@RVGeps(4T3u4RO*h07eA%`inhDY05$XD<;eHDmOBf!;kYaC zZk6YlE}8q)Hb2psWIH6p#lI2(W2aKzckN()!V zE=Kj2e$`YFokq#z6iN;oKX;MC`aLRP8oMyz;Sfp@)GIw6Wl#$Hu<22rq4>VW=Puh& zywHyLYGK9ShSi`)F6jWK4kfR4`@K=(r8jwFAsc%9N5Uo&Ayxy4jq#}~x_VDAj8ZD# zbGxH4QQb`L>#l?oce^J4EWX2F(SYMDB{?h&K~>W$oySqCdX!Sc*nx5 z#~&Y+N4I7b_E8{k8A<2?gy*+oR=ke3F zh*m*`k(NIv24s|kI1P9?!}lH zY{u4hey=2?&`Cjt91Xmpz6kk6Z09lSlmt%2HC$o$`1pNCLO8|hJGrMK8}$WuptLwu zThJbDr@kbbY_VRGFlXk-+yy}_lkX+ofgZv_-K8xR4qXD@eR}W@D zXAu2&LbG+V@jnh4eps*G*1Kdwhlmi2Zqk?(4c&Kb=7xSN5{ai*^C?Q`(eYB0#BAyszjV#fXjh!Z_zE;6#cW9D*6tm z=hbh)$tB14^~e=}Ntq=!Sd`O-w@$n0b!4&|T!(ROuHB77pK>f%-o>Lr%2F6_bHpg|?Wta~qzyWgT3XS&BR?vwtQ{;RA$&E(**%1_;#W+q z%;R3WOeM1`G3gA;T?jzzI8j_@`U{&}T1Ws`#pH%#+?o+s$pl^dG0vZaVL?3a%nlw! z^PMIxDABtFZp6!GRHB)DAj0!;!e;h}G)BjMo|w&VPiB}QJ9K3$%_rWv;l!ZE8NdNc z)P06Po%bpgYOK{TJ!U5^`&p*Vb>RfPzE2|+6DM#$A2>&dJCOS77t~xcO$A(1oA3ID z|HQ!22G;nn@JCR2IzEy9te*P640i2t)C}>+*k27FN?FcL*LsoP(yVaTq)XZ_B3ZSCCPYZ0fq$ZO=Qy3QI>*wT# zCJNBm606sa>8Hmq|zQDztVKkE;531c!5o$#U$8Iyj+XE_kJw$IQ6{;!)@VR7r zfnoZY%Sj6`s1v`Db9jH=cFqTh?VA&#;CC58n2D#hCr>lhVcuMB{z^JbxO=vc4-0Hm zb^p1qa=qkhYytD1WfOs!R!|$ZU2V(L34Cter{X?|@bd7+jy&|3t(I}`q{#;vo>8&h zjzMW(@P99bO&P)?4nB|4g5*~MGZ!Tup)=+d7B@wc8J~VqZ?79%8?)P$@W!oZ`+i_| z;6K`KIBy2?i=};C$MD+y#TR0yVzA{!#+QsFhXgKxP@RYxOFx%AXk;cs--A#RbN1?I$QYTi>vxGGz+Eg*VbZ`NiqxeUoE* z?QgJ^8oMVE54Sz|Nf#n);Mio6JSglfej?i3cf&q6e*KkQCtLWphxspTSz=#jO(H*c z_2w&YP7?F0KPjJLw{hcmxh@pM(Iik@;NRh_t1PQvh=nnfrRxw;`IBWa*C`|?nQOsG zblOCl=IBGS-|V^V!U!D&M{$t`D?0tRU+<&>W0gyiTJ7sjYVm45#1K2IdWPvbo*|r; z=CXGiucKs&b4$TB8*f%n#7hX;*V&mRqHgFgY(1j(w-tE}lZV=zgfHNjlG7FaQ460Z>sQfoGF6kw?0-fP3$w|NZx)|J~+ zT5pLc=>|?}1M5jp!5XBP8R(}A@ID@=wlg(wXylE8EOQamnG3;z-87J3Dt1~@t)Ffp zw*QoPjLZ!)>*n#B~hCd&)2ERNhQZk4e zJVLGs@SGnANNJ!=gVJ5QOB$!o%U)Gbnj0MQ&x{6EiuS)#s=lICMfrp7=!Bnh9K(X2 z9;(^9HPayE7tv40E^pkEGU9|sMpIH3u*P(V&>%NaE?s2)!j|HsIx0n_&hNwY+ z5J&{`PmXcaG+9dvb3{EGut%%;ppa~Ogvj=MK9Pqn%Tz{MZNibdydb7@a`Nw80A9@N zML**8R2)!J5pkJ)tAmnZ>0WlLK|xqLnyrI{)~h_s@q;F$-=-GbdqM| z3n07C9g&F3ImD>A!x;s7PU-I2=;e(bt?bky)!1&l;DRjws(SadaER5F6`k`%FnVwG z{&#)ha0x3xotS>*cGo-Y}2@*M_k=_Ui`v5>G#_i?E+~ss;-T4&5nDf{>~+@_jw|K=B?B-J zAC$a(UnJCF@{Xr19; zKr8f>317=qHr~DIHb+4CO6*|5r@zE5v$S0^VvHIfC1Tt z#odw4A8{3!+1Se8{=E*PUv!vaTq}HSXJP{F)@x|f%Efx2o(lJl)?JL>=NT7WM zsc908Fg0TErV8^dxJ@@8h|-s7s7Z{ihe`EZi{z&T&PV{Vs^^{e3~raAf4c7Fs!Xtg zh-EpsKGp)|>&4GPPP2h~%+CGG8R%WnNsCp_MymBSJpwG?Lsj_PZP1NIHDM>;WLiIa zAXlVC!UJnJ_I(zV6ozi>gM(O`n6ug#o$BMxffu6!y@7j6VY&Zu7C5cfG5o?Bt~ zD6hA(u6icQQMp%PMjZDEmShA}NkyC7;lIHAh+nfjh+lqCyzkrG?SDZxb?3ECf$^JW zbw#?pc6Z%F+Q7bM^9t^RroSlVSjE!Y+>g8R!fR0Gyi57(=bvuqB03yI7}H5O z=ap?9F=VBjK>qHk8xnhMqX&cj1=1472(G`J&7|dq*8$akt?D%>z`);g zgbwxkqUASRm5EWZ?dq=IizWtTXDe9QS`jla%t>l_eskL+1<<+SZSh-O004dbli6ZD zsZFy7KjRYe?W~v7@6w$lYHZoJ^Yh)fz~$xZ@~i{ln`uAJ;=}WXd{adCWs8epDpULT zU;%j^xTB9<#XaN0%Ifzv@ldYX$;@&w18``|(X$lzh2R=`hWHiqWIw}uhez#~6mjD{ zL5IP8VfDpCQZ+~6q}dbuT&Yc*Gi>Z7a0mVLhyCQnT|33WIG)V2D|rLd5(E}c%UwSS z{AxyCT3q+uof<&u{uzo&0LFuR^dC&lNs5{VCUoQ(t=95-P{<21B)l1h-g_##D$*1G-sXHr`L z$jDhSLes$dLHsD9bwJHugxru7%>uV0#)iQ|3FOj9Drf&W581;3eELy|GEv z21_o@Qk0*`s03a|oIO@s4^lR)IQJ=)mJ!Pnma8vpleO<%U@k7}irqHdg~;GUsWRS2 zoLQ@O~V09JiX5|N;8+qZ~ z)dn-@)dudJ`;$wGfmEdQ$K7@!8f5nsr}xz7KT%IUd9fL6(ac7}jL+>|M9XdL zaJ;CP_DKZu?P;NV$Ga!|$Cgr`BzNl$%{~WygvP-sF62w9U9FTGUawM7fj+vsA54Qa zK!)J{0c$NsBX|INO9kc+@RKh@=U*Jla(%ui#oCr`9Ni^G)miGRoR3832di9gAXT66 zmp!7ap2k=YqGhdf=|0FY_PK_>>?3y89eo1st2o`H2N{^Q(3$2Z?_T5nFbb}Zrpq|) z^jI%HS{XgkojxvEPlfUfT)fRzH5BB zeQf&pEB52+*mqL8%vIk^UzN&!!eY~%@QEN?&brB(1z*Ut_b|rkejjwk{OMi#xYlgl zyB)6}F~G*(#3ID%4ntN-9;?h+ThTG6_?Ww_NsJC6^vJsW+H<77#6~DFjv;8F(w21j z;T}!28W)G2L)U|sH8m5mG&=h^yx%XjdZzK8(1TFVW?JZmDV+2+*^XYZM$tB-jq$G3K{=H>W1L(78*igcv}w(rb(H^M?A z#LFCZFOnhkZU@B>nYz2`q;}qM8L?ZV6cn7f?F$Q?%E4_hg_wAn*qx_RH{*DS*sW{| zYHf#@wojB3avnI0Ji0N2i$|K%SXj-SZ)IK|mNZ|EXMEief_SRuy&3?e*BG&ynxzhNRFQh_b!q!4N12XFEyMW44&RnN}K_SP#YY$N+!nS=PHGzQF}K`dh&9 zt4BV78)!bDgY<}YGw4%V_rL=MD1XHX+K)7$gFe%4hv_I~Tf2iHi(AFK@|({aJMJ9| z7v61Ld*a8d5IKDA9V%`s{113Z*1PR0Dk~~LB|0i^>f5FQr+9VshE1y&(zEerWG&#G zZxnwPcCjp**rV$Ox9D)i=PutHu&G4*69{Qa9DZWRcLq=}KlV^6W|*h$C|-^Cl@m|E zfm7ZN>jPR4DH#G553-#PYfh0^$$=Bk7(WE1mQ&=gO+-%1SNFebLkysQ3d3WbP@9p) z%2B@NBTLx)Y-s;Yt+qxjGva8b=)vcdDwk;dRM1i9N8ea>b#2}lb6*8%hRnC!giZ|a zI5Ol-#w1MmA6kX(y&;d6&*QVIFbs-Fb*Nm`aW&wbA3<$TH@t~sbJeo<_b6A(uCw(y z(mop+9IT8?uT_?6hn+(#iY}8p4|HneV z9XyZb0DnyV;O(-W@{KQmO}-m?!mP`tcpzRw;|$&5smC8+7FBP-^|!NFJu6!57R;vuV;v zrc#Z-xTGJS+a0lU)533dQ(t~p{ANo1j)2mxdBpU|2E}FcNlCmM*CZ{M_vMz4E%Q*D zZ_08nkD+URzaKcA=1Z;6O}9|{#I)B8dKZrY|5?&mGY~v=$e#eDr*?XfB8u&SpWeaD zLzp7vE~o@#ctQ6?CqN>{uH|F#1J5H&7=o z>LZGkU3f-5)2$9IGmZ@K!buXlwdFlmThp&BHxgY#_49X(cr{H{qB4g$g{*8oi8e0^u{q z=XPdY)uP_Nn$@Hbatf32-Ke$RHPjOHF?po!v^B*e@Ptgh+pb4NTBV%q>MHV6lV8|R zCqtP3>MTbTEq9137LGMOk9K9Z3o7#TQxiiJlzZkYUH(h*haQRepc;SzZ5r_9xGy^C zME=<|q0}iAcW&osTyG`+s&G|8yl)e`G0bbj7a*7p)FVF(+?trGLicvd%%>d$V|AdX4fC2SAeGb0qZ`eHB-0JLdbyj-fhFTk?6qOCDJC+@LzWR7qK z#)>0BR&7&ljF)&?wsainck`2PPW^E>>M--jj%l%Tso#T_$d(IJ1}|05Gzg?4%aix>Ijkbv4+zn6c*4op|(G?KuxM9KMg%8Hu| z5LBG}_)mAQgN3I&WJ5SWg<2DEK|on+fkWWO-tq_%WngY8{VmgB-sM2o>#nTWVy-jl zLTN{79%2;jlGI9JNhnFQM`d?GL!JGVUxzlZE5?>MT*}^I`OTfM)Dl`_%gD}j@*#)<}VL~95eQ7IUe&yW!_Sl z0+t?P4v13!cwrNR$wn?b^TBXKfzW8#*04vB&W5u z+;ZzNgt;on0&uFK<9#U$VLO~iB!&=BZ#kN=mRyNFUHHB;6#|Tc)-coNc zH_v1Eyv?3K%LI-O^A9*2vrqsy#9aHI1FA@W&Y2)NajlIAoD(V2N~Ih1faSpL54H4T|_BRL`m8?w240ZRxxoR;qVvP2Wn`x z76&J`)Xw(1@4&PF`U|r>y0jfHl3T{ zh$~b?(}_E7U4V>&3z)1p`s-LPv|;rN^?o!_^+{mL(uc2xC4kGT7C%y>3ONe3F^=OQ@abD(ir$%rJ z@5AeQh?jev_r=#IVl@U|yw6lJlSJ(=G2I7hl%dkChq5Q^Uzew8xglHNj^yv;>=|Ui zF>t0Y$TJF|C^q9En&iBdlgOls}Km)n? z^SsQP4BL~4Cd{n`jdVs%tF315eoL;eyZg3U)8W60uTzHt!7Wc;ry8;q{8yz z$Lv&m0w*=+XCbctz)nrp3AO$}h~vq!f57J*Xb<@&Z$|Xd zQYBhfwILvwrY2fM1E__Om~@k|5uKxjVMuctHQsaWn4Po>^H@vD9th z9_S4p)pQ(9)+kqk8{@Bgg4t}%f+YXd zc|tFz)d|uXET0T=rW4p4Fd>;(?F)gr_{+UaP5)yCn{)sz{b42r{{&>kLaHxV`b6i!{o)cn$Gju5G?R+cR9CTP`(a|?oaKJl?J@#OqrosTVr|2)0 zN(VCa$iw!mtM}!_YeqTf;P01oR0!ZxFS^qd#NRQOzd;i^fFC z{p92*Zp>+VV`aT+%=)}RVQ!djLc(QO=UM=%Hac;GfPObAogHqcU-wWMh)($Ab^F7m zWyWKIjAkR!Va~g+yDNHqCK}V1|Dn^tRplxJRu45uAD9jzBC}rEZwi{i@z-l_Twsww zL6hsjK7<8flK9I5rA9L(8iyP|)R7#A;TWYaB6G=t{;?6V;g} z&v@oA#e9pGuk;m}gEFKY?R17&gav-G!=)R?vYc7$rRIoYh7E!#{EV*H@oY%2C^{-_ zrUkV!Vx52rx7$Rb(!y`=5s>;yEJQfw`7+UYLO)Wjy=)B*#!AKkz(Z!##gXY`FXvTN zax%k{^+(m0ZRh8+E2o*rp@!ACF`EqM#eL7-OhjYQGhKMjS+9(Z4Fpw{WQGV08C3jw zcl#4!=6Be8vwTx#>$L>&vn(5AZ&q<|im-K`qxCbLc%s{S@+Wh)uEN^|iVtrHJh6v7 z%Ta?vF1k7Wzs~{(Y(J)&C8Q96n@Y;@+f91E+d7;Kxq*y%(XL5|i_G6HfhE8-EqDGK zR(Krgb+P=P0rG(v5H;DY%Z+Nts!H!^W%&Wk_a=^OARy)K*UjHM8F+UB%E7sR>Kphr z3<3oqO<(DN)>)JW&T8SlPsgoshU|brT4Nn%4_8OdFO#EqBQIuJv*EcbMKcANB-0jF zDr7Lat9*0`ka>@Bf4pH~ZaY_8XNmfpcKb{3@Ot+TMf?yDMNtZoq>xwy0xKZKls~pN zygp9d4ega6Q)rz_S;EV5WLIvkhJ7&cvfe(68FHNCJUYjqrWus~Mx((3u9L{e3H28Av-Vw>sc1EFxFiTCb zY)?) zG7M(+s+uGcP(rIT;Za<5w3vP9p|y671D{3eA5lipIC< zpH@P#=N!QVzu76t)wS_Cw%vb664Fu7dlj;OG!&7b|2j!Bk7Ma|`u;F;eY{7YH|itU5@06-$*U|% zuQ3%~A`;u-z!fY zucZx_>dUDP47BJAZPZp%ol?U$ci}e9_=RD+Om_tv>HtQzGfu|}a}+v#88fWryA^Rl zK#7{onh@7tPdsHOi%hD~MpbUb+W@25jPoJeyFmCLkExi~_o4P#*Oa%^uqIV$6g$99 zU5yzS;DHJ9jKlO@t@3Wakiq&JC`WQOUXJ@1Rom<+#wNAjmh5}?H~`m040)fiSm`JM z=MDFphEd zWNcY#5R&%;PsXI6{%iIQN3Syp!fWz2^GR;Y&|y1!BjC!~{y$z>X6l#B0>G7ALx;Or z$PLYDzNRJ1ueOBkec*f0R}AFH6_eLk+{CuaSd^&1eE?hP%94AW6p!r0zjZ|4Vg@2g zT0Rh!gc$SfJx&Kb{j7*#im{j%krbX&5u&HknYo=KNyc0@Zgn3W&b6XE*{c{n({k{(a9vBJWW&h}NEaA{1sw1^;JIm$GfqGd>G8%4qRYRcKW_b$$w#TWcBFh~e zXGD9hKqDF2n|q;hOV3u5sLguAOU#liNO2w3V`;5PL57sex4Bfko39tYW5bR|j$M+E z^DwP(V5VcVTr?2&$TFbn%>m5{O4u$4V6$HNYfDpO6FO~*F>0#O^z^Ixsvr_JdDN8u zxkh?ro+#i1X&a$np!|(2$jWDae@;;O$LA)D!VH|psq)>YC;?&REw>Ehz6D%D{D#MU z@GK2yBOkTgpo)qOzApMWzr}a$6`mQ-di0*V#zbuQy~Y>FPeFUBEw-hr9s#p1o)JNY zaV0%=XM78+uwDzP7H~GH^r?=L&wGAk?cMcYil15LEzbxF`7l$E%nnPv3)hX-KCer@ zy7p@sK-KOYGyrV$NiNJ^=&~9Sna28Q^PbD87N^&7)|0vOCU4|r$?c|vsKB^VD>5p@ z7~Z=XJin7woo)ki9~in1GW}A%7fpfGL(DZ{Gl}&!+sCtnacZ5M@~Fo|gg~Pd$$m#t z3=z}DB^veyMj@qB@Jugg%TEZXcD2Mg5083p~Z0w9O|!1a+R%>p7_ zgLCG?5>}#h)1o#O1=Jg=Gpb9 zl6(*TM6qs8zn}b4s0t{ZmsqePIAwdD$+f4OX5(|;A(G-~78A_AG z9zp^pZsy5Q`rEY(gRRs3(5i810Dk{vQS{q3p>yzyNpBd(XRV+v-DyvzaFlZflpbIw z`USvvm_4wA=BghmY0QQfO<5cm_u@l}G-`EDvXF_F+%l>NkD`xKFqi# zy&vr#b1V+tc7#0*%S;|dvE!px>s1+L-xSeD^ekI1$U>-b)QZ**w8t{G8R=MlP;*9t za`zvxsV25W^)4Ow8{y#N3q|UHJ62%P6z!P7>nT+-!`so}^u2 z;+VCSW)Q^*0_3D`){^AODP%wGrQnOv^9-k$%o&cl>Md(z<$Y%(;!be+a_?OZp4Ka! z^<_tn60$1KNu}xQXkN9Zx{D%>Oz4h4J1gvM<2-DU`P2ZBx>A{$VwYywzk9N}%Mxy6 z1(Yuw)(+9yg4acX%W?*+fX^LM6Zfaa=+VP&3vVW6G$WU-+tlo${F(Kn=g#MD7M?aQ zT&A4Je>+{~SWk&wDgiKjuu?H7qZrs8eiwpp$3-Z#Sv}pW{4Gv zTdll0%q=fq?@VHS0xfrDnR`bL>3gsI_!rEnM5b4&!AIeZk?f;qC#pFoVI!tx#pd_RWh%YjTk0?^C%`X~6@ixu1YfCmURz;@q(y%aGy zn%|cJ>TD;rM$$*>?|*|0Is(H#lE24GP^mng0W|bSv$-A!6Bc;e_#YpW7q9+*T6WKk zkIqzUPUT=;lO@51mpz`!fUBg+{k;t1m9j32DmNJ*`ws5w{^N$F&MNB;t5;F}z%#s? z3+%tp^KaBh+G$+8u~`J=4n7;K-@zDC+Qt~txg|=*%HK6lt(N-9RFpzF1%1Z=GC|lpqFa%9U^Go#y3$LRBpUPf|0zJoJ37+3!$&^93&h&G`ichScwjF$4RS)E* zRQ%wW$z41#Rq~#PGg$|wx=<*n08y(sOYl+lPF?)Xb{vA8EBXw6Wr#ETRL5|1T`op^ zel!c6i1rZ#+`(=CohIZ1xB|F2uNLduSCN!4lJ2`iNrdDQ?t_rBP9Q+@f)w4pIr|*0 zFypRtH}L7>V^sv?J$*7`+haSqY+TO%<&CbBpd8OX3p|qhwq!v1ax9LWfJmd)KhE1( zR(*#e-Nk#p<-jV9Nwn{93mE>KjZL{XlKK^L#*=RN?9jd4J5NJcKjXTiOY@?QIK)LCCBXZv&;=eUYet5cqP`wh$-A?te~mvY&+HpMOx+l&{p%n=wR zX9geqnsFOXvu!SLQzj4Du}^ z7z-%DS+x=G+X|3xL>W=s+{~Kfw}8AdfZad9HjnVQ!<@&w7)9=F7Vvy6yh|%p`JXVP zgkkah5+4kge_zJ^IN&nu#Vhv-eMI*EU>Sg1WwQrLXCae*iK)dFiA9MX=t*Y@^h+|P zCRdT1BF6Lig+m}|#X-%#{C4!Xo!$gJ*rG#sqq*pGVPBfq!F+t2%!PwxmFhuB$8m($ zjda_ghtacHzu0oNU$<*0o=g$0Y4CB98CDvUpMG$J_=QdDZD58)&P+9LuPac> z7Z8RgLil+y7YP0-x2*=MHSaV8& zH%`*Vtbs>H;*jKn)Nfv$98+DLn*&7U0rGc;v`0f{)tM;Oyqk-D9=cc6zd|P7_-<+A z%74Z81|RjG#qa5fkAv>6V$8kvbe4t3mG(v`ws@+zeH$90?NU;fGia-DR*Jkox1Ap? zef1SP3xMSz$2gecti{SG*^{;oEAiM&^qnzR#eK zKUF^ZQ*nt%{3*45>4olp(fA?XNoA5JWbU#k_+3NS0n>!K-QdWEI(O2jq}kTJ zXb!jm08sUErN?)00KGdZ5N7Evk5|9zKvu&3%X-etllHqLu=)3?A%pGzBzs383B!J^ zQ1GC}BgbN+RFpyxua%@;t+(~#5D#D*<1ZFq$5r)$M=|z_GC45iLIV=ervQ!NDyJoC zO}C+B8lb~}b@YgVqxVPtE0N7NY+1#M*B?B}~IQurRbq-20ksm&3~ij6&{ibnr#gEvS7;nfBsKbCI-l+3-> z`twb_qHOez`qUoB{^L6xE6xEDsr%afHqrrg|B9!3%oAj9O0lTczTJ(mg>Mw~;x1M{ zbrl_^FZ(UsTKWaibz9rol)cKf92X|(=L92`^QD2^q)fgq$4%D7XWr&9Dg&oe?kn=- z| z`N9ePpn)90h|nOx@df4~l9g!dG6UA0J&OZbWg;sBujcgwG>ukAF-&_65?FxE0A?Bl zQf#9r(CdV$+}O%NMnFVPtLK0H12jmK?A~f-j1%dmNnwRmE}Z^ObF_|@lYr!ry+6&E zIOH}4g3M2!j4F3`&Z}>%yzTVDDtsIIx95`4|Bj)Hr46UMy`pfbIcgfdG;5N&vvI>x zd-Lxf`Hzn`q%(YBYF0ndR{mBRY=saY8$;mMzWym00n7`EowQL0Ufo?cwfn8KAYInR zy5hLvZ*dNjZ4WA*@=qu@V5tz|ky=;Vt(s$NCsUW7=uC~`%o#t4ax|N2F{)TQqpmH{ zZ<%aC5|Mk5YkQbiEBk_7Jeh_ZGoG|dZd&mI#AoOVSfsmSL%3bI=ceh25N{(1krso&rTK1*NH^Z&e^hI94hQTS|; zrl9tr_DMS#(sv~^?oPr1Ah^@LNV5 zHLSjITUUg-+TWV{2OH1&6giRxFiog69589}-T_;3pV+SQGs#T-m6~;tM9Hhcr2Sq& znQk8Sm_6XO4~65!SD)@qV2!Q=vKswo-u8aJllO4{^_(-&_ivHy5T^X|W0*nQj)DWS zb^hgWAIm?!O2ql;KDTFG)x=-X6Oh$$+a7=RvRrT~#l2{BB0n!b$jvJf1D1o?y=HWn zsozJ-8oRlQYPgcx1BaQvYQy@*t*GPF;>H#;FoMr?)#$|Bsk+;EP(-5>__iasfy`{a zAHD@SqcBwL(_CER&o@Kt#Q1IN>#Z&vB5Mz!C?ZBtUZz&!i-9mDQq=ZGsy4PQ;M+^% zgDSBD%)(!5e?R`ap$G)Ff3SDVtb|McWk~Z>z=Dg}kyg@1tpBl^B)fabB05@Z>VJ~K ze;+68{Qs}x08whpjiaS!qYuHG;F%vf2&fPnP*}4%fF_?JPdcCBl2uMQH{Nd|4G|~ z(ozeyU>jp!R>i@X@D|9tK0AEQ8>BAJ+Q?+=%of^NnWNBPEuC+*{P7A=imh=MhvL+A zu~0FCWAR*r?}iChhL}XTZt3pgBAE5B8|05XnyIt@Z@QzBSh2giBo!Lu z(sj1V%U@b+=EBsH3I7Ke58@ zH`k8hHQUjjXk@+0^Y3W1aDmTl>&l{&aqoV{wR0b^WrfbQNu}o?@)~gmTT1KbSJMqy z5{-B(N&SrsT^p_cp>gbtaVX)-`_%KlF(`FnB|QvJMAM%8!T66_xh`-NA2|r71)e$@ z(})vX8L_+)1g~L%*eh411^r*slRxcymM~&XdgzoVZ!cO~b@rE+km_p4$BQ0kGsmyG zE7xOe&kA3O- z()4E&ZNu&SHkDS!X@*!a^5>kP6d0V8C%-c z(8u*PLfV5T)Cb98i>52&)$bw7_C-6T zq5;N>re)tmaZGbDi;fL#Jb@tmi3aywf@GB6y_6uv`yC|yRyE>^LpT^Dg1qfB~VQJ|u4k+@!LCd3LVT&rz+9-Wd+X@ORutIjj&y&U& zbZY&Mn-w|OOP_Fw(~0Zn$;eE%`UESge2uUoGl1%O=T=>xi<1fY4SBy&q=baM6Z>-` z5)!z#<5GJ$zrp!87OY7i`$LvzY)B8gaXDjQhk^UCcEivFu-&_6+M9$f8xZlpEt66j zr}LZnzTkAOuYv#dIyycu8O{S-NfSES^Ga{8Ww9=!w=RJUwDhBSs9gh^a@Wse+GOa@ zmS0YaYklW>vp>YX@6e%w_~<^`Cu`om-7!b9=ddVG?wOj`QZivM)BN$ys9m#l%Jb*# ztQ+3^o|vMbMEkT|<~;V8FctSe_QE-zp3=_11y~ff<3+oe&s z{@ln$AXd;b*te$z>bqRqCgqI;HZgYR z-Rwc>XoDJg({8%KLyGam=}fh;&CyM{+_vKZvS;EVwK+mbgES5)t__gO^Jj9cIBj0) z!$(r^aQ<`+rE%v?JNLa7xb981^RU`>Vwm0JDU5P;bki%bD@(?KbnqOEjPpYwq9N~i z;XPM&%{p^QOMEID;VTHn!_L6-n|S^O8fx*D_E$Hv60tYqsj(#6K^=oS;P-p2?LMzJ zK#D>t8wFiGXJf@PH9Ot#oLBC1FJevJZnrZ_NBq$8+EIYITU3|Xti@;Jz$KIU{t60z z$A@4N^!fC?(>TO-LCoTyy~IH3vuK9hN5M0}e(HCc;?(r}nROZwzedPY$Gm&LiydeX zven8BPrDP`q(S?0L|HT=20qYE*+Fw#2OM}q_(k_B&(jpFb#3~-X!-Fp<)_*}Wd>qd zUICY#medmqp7MIdu*h7ffgK5@HMzM-M_2J7n0*SkzrG~|iLZ1xCQpjN-7oMon`CyS zt^*65a#aS6$(h;=`{T1q4Rdj7uCe96PLGD3eByY&BOV?|{(r+9aH5bniA8?nn?GkU zxj7%Dy?NgoVOL{u9&=u8Lwlh#Uo35Dfv>RBy8a>aqBuBVE_Z7W6pS1mF&)czR3dFw zK(tpkGNwN|NR`TXK7$yh=PTng?PG7JT2vXX9bwq)dqhRVlR7L1tn%e{<}jWvO4S_U)V4llh+0#S+@n`D-;DzjtbUmQXcz^N!3STC-=Uv8nC2P(H!#)vral zqlZE+(g{@DLhWtGsiQn5zRxk4t7vq3^PL4Eq{Ba9JQ^MYEiGtw=!nlg?wee&i}4ut#7=YB78d1)y1jOFrcq`Spp9XMrk zlt+nVcI>0qmL?`wK;i5Et5-C@CjGElq=U!>;%c@>{E{bnmCaU*! z+Os$*(Q1m}fdq(+nvNrCBk-ll*;*FgHhbU3Q~zpR3~ow*x@MFf4ybcI%C!|{USx|e znpCopbFJJ{Q*>y`7)v-fNPp-r`)f*_9_?!-pFQ>3JwxlJAAfRP;Z6^gITSEreMb!L zT#BYF`j>lKhWeU7Sw2@^{S4BYvz zOFK`dk)`dzSxtS{i;^v>r(%+0X13+m-giFLw4Pc(jPXg|^EO34c-K zPcG>U_bu6HO6h8u7XOE@tB#8@``$B@0ZK{>2uR0Bs5D470!lMO4bn{s+Sf_A4Fx(lnC=_HQ`R(Vpm%A$8Ly#ixm0jW@?4yL`=`*Lz8s5B*vwfw<&x!QtCGMnvUxo@R0z%s=4YVS}^+@#3#tKF*x&@1H+n{^}Xq?zx|#pj_nX0r<9 zTPrT7K=hdDfAX#$gk_fGqiU6S&&TjE>$T+NIL+vMt~8+=VRm(vs1K#kF=Kg!=FNcg zTavD5J{9kKs1avJ#H+)Gw5^XoQQWAsa-p$I@ z{^rc-gv@2U%(UEoyjy0Ggav5|rA&HQSW9pIBTEOywLDymjjym zZZDw`cZ~{Nmd?Pq9f~1O*L9*}!P;ZG2vzT+O#Q$PoAFbnqqWh~Pp$d+NgS1^_(M&0 zFM(TS`>Do(>-I_S#523|dc^YcDXG?%?^hyO2Fpqpi@vJ~eKXm3r$pQVYrTz)?476H zA9-xCVfkJLxMrjc-ChL*UOGZcKW70TWIGt~HI9!fm3#bdoVs-lxDOmYAl#nb1F0Vz zu!acI`5Z5)q&8|^Y;s?sl8iTmPjDZ{c8@Y|dCWc-mKcb;Je+o4FEH3bBYyQ8gQg)1 z`r*}H0-8iOj;Aa$bf|0BU{u_MqTl^OeY=Ggo>!rlbCi)zEmz$Xyiv=8jJ%(|Vnygt z@n2W-$R4RBbvtr?srypgG`Ka*a&eTkAV2A3`eojSBYl<2^ck@&sKCpcU-*Vk6$qoZeu z%BbfVdHw>B=Pgoi%`bs(tnEo26u87o^+~YnD!ZQosunA*%~CZq`(DBQP0J_)y(` z*Fb4dF)RpLz5$CE2gZk`g#+6O{N^Nifyj?aW8xm694OP;-1)C4=7%*kkSuP?*}c4M zy&C&a1*OhTqQ!15KsS*Uu+LrJH!%;|9}Kdjy_B)707=(uo{Pqv~`fIod4@TGVv@|Hn6 z!Ve{TeDtZL=%*WO)|yle9HP5L_NG|*QieAZ5-%0yW$jg{&$YQMMKwDz z$uGVxT^|aK-%N8(!bAwmt1Z?E#ki12g76RrQi+uh!zwS-?W#1FImJaw8h!5rbjYO8 zD-cedxBn4sAnp^fuZOI@9#2<3pGxIGbwiOO#KLgm`WnBEIS#eJwMI`jMn}9Cdb&tO zYePYZ_^}IK=z;qFcvazC;bD`hTYa1GNLq`MkbzD8I2K<4LF7e#mB@o>rvQQip8yGL z7N)1|NHa^C$?D?06@$4Vm5QlapTO36r~E4iOb4rLv!+&6cGYkt+%hMJt5!MK{*ZLSlvfw@I{C#2N?1i`#=?u*(lN<4z$#^}w)=u@PC$d>br z^J>$fc~`rnWQMxz0@Ff~t*dA$BNI^OxPxtC@o|io+Fp~EW!=aqFLHXgN4VRv?zIwL z=yBC9swo3PNRMN92VLSAB>>P-a?yWPpXNqg0!&O_lf*A{bNXk1HQLSqS-2h za9~(`+MXl~p#CVi*_aD;0#kw}a=&8#BB#H&!^qI$n`V1*c?Dh(AU5L%Q!*_}4JPWe zL*JZ#e={*F6xT0Ty5uC%r^Hp@9I@W5GO94X1g4^ub0xS6RW|rpBPUh3hIg#i;Od}E zDLz;s7OyM*C~h%+V%hmb!d9T)a_t<-Hl{1lhuf&E28dQl;;b_3&Zj7v`sBoT?uuVG zGWJmQjhOCBtz}zZF8rXt=7MwB5D83A*u9t&X4|V0H|%P4`t*bVk=C43lcDJQq#72M zEU0x*#mz6nuTIxxh1bv(dr)XN?xZup#pBRz^=pidtO&UXyBFHTIR5|Szfp9nfJ+NyW6mD^&B# zdKO9u2L5z@JX-}yuo3L?+gNR+M%L^{; z=bpp>`cL*kv@al&9EXy6H}Y7OU6EUTf@I!`Ty_Y&=@TfGE7Z%1>q4phw6||iphYv$ z`dDv+s}`=4m+K;){RqP&-%Sh}NrB{EHRntJ4XY2p6z_@{lzSW}u^};d#uIZBIei2O z?6o!1(>b#o+3rL^)wxRbMApI&^dHvtIUg0EUW&+;7Kaj9ZHIV&=I+nQi-G;`WXKGpe2I1~Pb5&`neT)X(=s5cL@__kafmhm2d0{=jD2Es} zytlA3TiX&wMUGJgAY4!9+h3v;a!u=`v}8JYyjfm4inx`*zdVy~rF{1osh-iVL)1hN z{xPLz|9MgbsY>Ti(PHm-<6Xzy;PS59>_r0;x*A71gBXA&vJSm>Y>?F+-LZ+ z@@wy`5Zd)!kPuEgqPo+zU%o}fanpF`grFy@pfm4#XX*eN>s8YW4Qe1b6$Y6pAMIHh z$IS54l!m-6`)(Vd8X+;T>vq(&=7HBq=gZP*#UIqH2XQ}G5R3C%zIW`l_5Fp`vzC!f z`QSP1UjtntN)Ma~q;ZPz8E7`(m@}S^Bi;}U#{t2*t%wWN7}awP`k_PXIIdQTzLn>l zJ*!<()~3~aMfNOav-*{7t&kzwm>6`p@Of(MB>AtIx-V~sW`!K1bI9=P_Al9sL`^1Z zTlDSTt2nMH6T8qp1KO40EGk0l6#)}+@NZ*h=2JoNYWfZvc~l&wn8F#DKw3%zSopn{ z)?%E0+IYRcHmdUTSHb*KSC!Cq+(`F0muCn`%jp^EL@tPzB(|{HFLp= z8FMY)``TiQ4@tls!Ww+6JWEe*GHpaV0#f=omHl1QbdXy2<Ta zP-pGQ;`$Rso-!Z#jkhsV22HY~;kuyAj&r6J6#`~+B|5j1PcQL`@ow$$2&vC4-eu}Q z=iNW3&&)~hn8NPa&#z!SlyxbqmEvw_I-)s>g_msXUOF7RI%K%M#LZ!lQ0)ErM#4eg zSSqSv4EcO=B7XXc-cn1N+lov4=C}C1`TPtT*&$AB78^S9I`>u@@%I-PghZU+0ayDX zzqKCO78gl4R^(^2Mev?{--nRa^WClweE}2g5GWu>+#%-msiMYEQtuwJ3SGEQqQoH_ zX+(WZ?V$R0D?$->?BnG&V*(dNti$^CJmkNB?y#WWBq1G{AI-6+qPY0SKm2}1L0tr*(vkTMV z1PIeNO-B5c_V%}$f1s%%C==ulQUTw&!i)c!$nOP?(tB8TCJv1D92Vr>^lj`ue^93% zY<-&n2ZjzMI`^wrr!2;?W%}5IpVfP}WHNPEN?PM34{vEf%3$r7kL;mlk75@^qz7bH zhQ2^~EDzeq^FYn@iPmw~myVeuWg63CO|&GjwsKNzc2o1Me(U4w$JT2PE;AO|pDF0_ zaGj?Kpis$>O`gB+Ece$LXL9Eyy?h~1+5wII^O|Zd?B?W4fWCQ9g^YA|wQ6pS3O}wS zaPCZJl1cU*I;y!uyJK8t_2R+q)yHb)PDRpMqG`?3DFFlJeKEI064qme>s?Rr=Sn_U zAv+8Xiw~Z-EeeOxrX7n^YO9GKIo`PKx}5UfWH2Scqfj&f%r7mP?6OwE7-z9xyI+bj zC5C_0ZGLuLhO5%IY$U+4bmDb?D6WW8)2e1XtB}OT*WAdWNPbz59AjpwGrkQsk39t(K8tu>?Kw#rEl}-w zwKP(xyh_nYIcZb-xo;#M_(p(apL>M#iOvHz_)raU;a9noVadN9zn^5%`4QK9DU zvXr*XJ+gh+WlcE(LXnGUAC?DsuPSKtyge;W%4aGrO6dzif1J`0Nz>h|%6%Hw<`sFz zTuiF=BQ?$RD%M_RcQhc8UX>xRPEv0-!Z6k7O6x17gbv4BpW}IAH%XFl&5li}AVVJ> zj#PdsJ&r31+Xl#LI~7FGqK-|i(y&Ci($Cf8e4Tbj;St{6z+A63aDRK_IrAw#;=te+ zft&oqKb!yy2&_PYy8K`SUL}JHkXreFI}CaSsHKiM&e|F7ci0AbGZa)ZUiGSgnz4f) z1>y|uUkdX>!%wm28HKs@W$S%HJ9H^W)0x^PBkCgeBj5*cs9O zVcfD^;BZ&3|0HgQMglzvDEF-w>kQd>8bV`pADL3|ny}QD>askgXV{4{aIGy~-L?Eg z)&o)ukZV`()>v7yjrwAfS(~duZ8KctmESeV!o)lqf69z4ht1&j z63Xn_QO|E=>oe42`Q(W0V-Z25P@=%cVv%x41OehZ!PTO&N2c3F2ihD@-PKA|SUbK{ z=w0>ZXq^-4K$^t!ma(_Udn3u?Au+~&=rKTif|3L|As3I6VtP%%iKrF9sP#Y^`>c&; zSPml7_7q*ghbe$~yXzG(8~&P1H}?MChNl79_)P~Q_oL_rAeEHo+mpffT;k@&kZ-ta z$%;oNU7D{O-ex31_&3t}MIOuhq&A8As`fayHNDmIEUjW&i5}`gbil6O-)fG_1|)Zw zyWu+Gq4n#BN6)2X?D|#cyx|S;p{OF)C@cFRO%6_!Wi&`%8et3GIbEB=L-< z#L(62ZkNFb656NLcR=um#!^_2r`r`bZ2mtg1fSnw1)`@#AbJ|Jzk8@4Et7PI%D&YS zg}>Hik_*UY+@zj>?mK0oTh=NEB>Qeu4v2cUXrKOAegmoBjjtu`=f6I$7`hwjg99Uz z4R!d*Ot%+(@N8UkN&)G1RS>jY#DJX%gAT_T?Q7`It&R$YcRZezw}H2%PJe;k9(EzY zwe;MzLe}voigV_dZ44EGx7@F~IRu4$>PT7IY8DUTi5sudLQRSny5;sb>pcvG*U)bG zK3_|8QteuPF!x+5eYTU`m(_7j!J8%7BL`WuM}XLLeW0AdqeZh=?bdm*F5T0hj#06k zD9VXmpQEokOmQzqW0v1`y~iq0anm+h!MCI8V`u{Bt>AB(9ij#H;5cUNd40i8cE=al zy&m^FMzF8P9+<_mB8QvzX6Nk>^NU}*tnoAU00&0a)7-1_%rpNB!Bbth7Num-H%)&5 z8i{h+d4N3lc33{Z>%Wp1-CsT&S5~&^D23M)B4vMF~*>FJ&2LevD->^*P(@x zR#-BR<6IUR9u}X zv-0C3i79agAAp!Ucx(v+KcIW<*nRyOvjQ73maTj;SO(EWQ+hsK`I>qwqNyjCY@+;R z;HA=2V<$jN*);7VgdOh3g3S)+YCls!NJ6iHW*x||AapW7GQH;sVeKazSoC=?;(PZ; z4=cY{pwLHBLs39dNizWlrsS^i^p_MX2&WGRUG>)B{}+qJP)ZE_;A3^VEVQ|SuP7ED zPfp^kd46X~+)C|Y%qT8$%HVGL0(9yFO5p&XOlq(~*230nMdPP1!LYK*lb~qcFk~Z& z1yK@cF8Y~8a(4!k=TsIB=B=8Wnb(aJEqJ|eO%_Yg-$uQSdcOqt|Ml}&NH1%K9Vc6r!xB1ybj8BM>oqTew; zCijx)IJr#VI&!fs!SP|^NXT+E*^$&6M=TS(PE=z0#%l&Ajszi6_{AnZZ;lk=SfZ?i zx}jTpN+}!1clcY>Za;cE&=M+Ar2{?OvqpB5>f8#Rtg`YT?;MF(PwD!6ibf@(H?-vY z+4MRavs(yGWDBrc*a7%3xjCsSqT5u7O6qT(jdTM@&ePfNhOGPs+ti8g!q+=uRL=@rTl!ytO`6^QZ z)>QcX5!X-FME8?5v4CdTt{4M{jh)gE3LLPB>*pY(BM_q0=HtNHouu%8iAKQZ8!voP zZAdWwdx=Tja!%nOMT=uofB%u&vYsUhqwW}Ww4hEY!?m=caf%|cg6gr}Yd0(D&Z*qU z-SjuyQiGjod^c-cvWB32ABMt^42&ztn+FZo-TA1WjBGANU;%tsH#1tU|%5%Z4RMphrvzNR_{AuB> zi)n4Ga*t#@DlE!#&B5}sE?(#JsuQD>TdMqW9&4iKsR7Ff@RW6xDjBZD5R5Sj; z?BBD(62tE8ulyJA$JXeHW+Kz1;qD-uEDmoLB!*ZX9zQM?v{oKXovA5^D zLv=sH_4r`{YarW2L;{l97ElF;#Oy z8efM)v03`tA$OUH>;8qho*A=xUz^eoiaa6@`qm=VFS4`6_ReHXck|HBzg4_$f){F0 zuPb+n3PSz*Q6>Mno}OAoSqNV!XVpT@N_E@^j@F4DpT}jS>CQ{wAt^AeE(gK+J7_O8py4(h%`iy7f4XX<+e9pZ(oR4BJqVD7{9%LQ!-p$fP#4 zy0me;>uGx<4?B*BL$UyCz?SROYmiD^+ou7JmDMm%r-m=isJb@@+2nJvZsescaq%VI z1Izu5UX^I&Zm~g?S3g*{zY5mr0yKprai~{5SaiseuUXjDrMx8!>F7{XBRjXAY$Yo5Xxnkl_MqWG> zjzswffON9i=V~2cK~XxMmVU=uH+(b$5KS`Co((%yo(qv%q-;;#tFr!))w9NPmO8-t zRl6SpB@0o4mUR#CxS)aG|GSJ;h4r@Avda}k4UH_Y-e;f6QPs3b1z zGM%U{LW!pg**nPCb9?D_1S>87-JdyGf2H%HMN<5_J_SgN8xotvPBNvXVT&c6@`qrn zjpYH~@OtR8ow0I%8u{Xv(WCLUU$gmsD`Jv_y&`#-_)@UidR5o1EZSS?ZBckuR7TUy z6SHIMGG5e!5~X8{G4~+kExk9q%xJF4#*YKQU820crYM#8#M+devvJ63cMz?N9vthX zl`)^3fZq-l92XB#OoW$EL0(i#7%&6V2D^hdsRYdH$eu!QV5|1hXAoTXhE)=jxkCcr ziMbW$@2dh~d9xCYfA88cG;6W0%vjaBm}DiB#KlzljebR^(mPu|=iV}Jf47K0Z5x*N zwO-57>wy_`jLVH|nD~xNoAglkTB%ymhu=L`?kE;7i(P`EWD}hjoNw!VVPi5Vlz~=& z3X*thnKx#7qUIip&yoW-(P%VEwNM22!Vgc%M)dLY)&7urG8x@0s~V~Mz|QPf>>q#i z|B)xQBtt3qwUBen)f@rB6tBUBhAy-5*aG)^)+vD8_W}y|5IS4kGTb0^dNSF7l!hu# zTo>z@eJt_Q=VO@^)t3u=ZoXDbOc^vQ)bt&y)vSd>vvXbP;(eGdOP8$0Ap~lHRRgQP zP{+KNRp4B>Fn)s>WadUfa)xJtxZp#=3s{hb8OI`p-x&({!U)`AP%Ed`DaeNGKED;u21Icp?GS{Qbnzq?6CQDiYB(r#Gv}Th zD9C!8_l8vivEN;iYrOCNDw(@^iQaE%dDVHlQw)^@4Hn(pPm}FV5xn>J-PAuXy88sK zEnc%OxFqiI4I_pZ56y&${}QpE{iwkN9#ypFkbmHI5Qw^RVJe3k|O*h5mFexPB=y6FDz z8wixGAT0)+axoj&^wKv`w-E>?t2r)b=?3ZgG0?Kwy(1rW71lIez*n49XU?U06)j#I zzMtdj{lfb_>|#v8LA3rA8!P*!n>z1@Qc&GnHm))4`U}LUlzD)ozX>tn_(||CAJX|9 z#8q0D^42V=4@T%uOK?S&Zf3a5*zR@Tk~Q{P&t@FgH$aP@r#q{+gpH6qkQljcbGq9z z^qkhS(LADsZZFKF<5>WvzV`nwCeZ^NtkQVBO~d!=Z<09yVKPKOW}wZ{lm=Dc6EpU1 zZ6NJHwJdJomDR%4glTh=npcZOt0WDYgv2hw5E4qfLCtp-)&(vJzX_5zKYOF zTv$)dc2;8OgXUpzl7~R;((V>5-&&RQb|P0N1&Md8k*V(TwNw_6R&e&NJ^=(wX+jMQ zkNT^ciFQ{AJzIYhLrk}u^PqPt(qrxjU!;OK+I-3is-7&W$z4@rq0@QX z<2~%j3%&PB2n!O1#rtDVb1{25#Mx5y`<{Ng^Je+d0%qC9W!|WfW?x(J8;9S;6)-hv z4!VTLBX^`L0pu#S)ZnhzzErS_n4&c=85ixEGKWhzAdnVxN){O>k;eDj6g+nI7g@^! zZd|Cl{ryJG-{+cwpQ}6hgbU->4$1sR3+$9X%ku1XYK4a!EzVOs|DR;gFZcKCNB_6d zUu`&jxI*GRx9&ucvZxZrzs8lu3&k-9-X_U2Ip*)=`~Lzn#uU&=K%8XS9P)Gxi`%?z z=g_VN^s9yZ^TRN->c-cZd;u`xt#@sa@NbatyLtK5`2nm!>m8_bHA)RSpFg6dF3Li& z9&mNif|tRvF1qQ-4~#xD+W+~dz=eUNpVy}L6LK0NE?keIc+KN@R+1Os60nzCUs?3s z6?|@Qefh2{$}7Br)1X=-x^U^W^9POh_a*YUd&^q_Vm$vYI+6gG4M6>}CY|NJ}#2H?WI0ypS@v9RU7X2cms7TmO-U@NSy_O5G&GyL1mz7fV^k`If% zOv2o@`QuiGR5SFwlA3 zHvu3OyN?&@Xj2IgCF){4I;&$Hyjg4Qz4%y9pVtLmqA@S6bX_BHU(S9POe^72^;cE< zKei7b-OWrNJ@@S62gXWlWL*zCU*h7E3rv~QJd}eTc86QscT(45;}gPeb`nUoyz2I> zIHl^Vb423M2O~qaT+XUJvZPnAjBeChUe}bW^Vs^2{PjC|b!_IVY z4(kS{q>D(m_(3n^`rXMwZqW8+ zU~-#DADN3Jo=PN2a~MOS2Pfa?5?%td`M_ou^DBQguLg`DHI^>|M)-95U7$}WeM*2B zTi5ouWQ`?p(57yF5<*caPqFoDJHT(U6&{oSy`1}P#S-8B2??5)2=`xWfe|kfz)?Mw zvj!K>74EB0cKfj>V`~jk0aqOFC>dUd#|&%*nD?UAzdTej2DqNu=R!d$5*Bs2<8O&` zzdJHhL2T&aGHoQBr5@b5iX|NetooXpq8`zocN>EFh>8$3P#{Rf#f@NyD9a!C2h?wR zaewo}|Bo`4$Ktp#?;pBi)Z!PG|o0xw@+nAdZY0$NYpKrB!XDc7nRS+bsocq;6a*3t=>7xQ-4 zqy6)XU1R*{wlNhM(Gp6frTM`Pupk$i3z#zB^{~&>Sb`YX!xpIc`>y;BAPi4|hZ9H! zeToOE_~OD!-Quc?UnYRfpaY2xHRa}0n37aQ?~gjAw!H+*1}y{GS{Wk~6SnWAuB~~9 z?SFmBH!Wy0^xSJcMn?%L;f;3A?uqA@pKGFka`A;eoAxRe0nLr@ylKHpuc>1i4*Jm>%GCtXD%KbXZ zL#Nd*JM008pOE`o=hqOc;8ri=*>eZ>F&J}RR5yND(W<&K%)>)AbY;r(;zoDw1d73{cYs!&hmS@8h42XklUSv51XFe}f9#~_ zcyoJq#BBa%)n+q|?By6j{5of6=hn!vu`!v;u__245#HfddpNlfJW=M5(yAmO7f#2W zNq^8PFOzSu@Fc5zf+<{-acc#7S^)^O1Dx2+CsGHyWwqQ|#i*1=%~YCYp%jU=7LB4O z`?INqD5%TeJq8t%VP zf9_RwUpmcj{U9dQAl8)utw>>gsxEUi-6+-nH>5Z-hc~_#ytblJxTwD7K##2ztEXb* zI{Xg45&E(z3%Ivkk5ia5uO5cx)j~i{={~Iv5e`Z*u?2@tt;9q%NL zt>U*dJhipTd^4v??Z(Z$pI#?z=7X+(n!Q{ZBa`gCJIYAGt%~?@!VWnR6|DeK$*id4{E+6E@YzEDoUZUXDt*F zsdnYw`MTRGoabzi>H-b#QbVASi&(r-0u2_UBwe~UcopI8VfeDB7wT08>DN=q_@UaQ z@OE=lk9E%$w9~5>mCk43D$2E8Js*4MJf$4_f*_V%`1e%DkC&#T#Oe`0%q7^#;PuWn zmlWyuJUKeJj`p}m&5ez$Sjp$CEIt`q;1bd0RpNsME-|%Y+5_14+}_rnKu{=Rb3my! z$^(Cq#U_(x{!V5D&9DWkwv{f5{DBTEEBk>$x0pdu9TW<$0Q~qModo7L#O7_Do`bbL zD_B95_js#i+FK?YdZPw4B^GFXZwGO6NuQvgrzN_%(At_@i!@xA?Qsfv;GKC*6pK}0 zo$9SgZPybWV|R-eC;64@9N7l*MJdO*WNxcpE;)-}XQM+uTqAi7fxHdHV+(ApNL#^| zYFzdhX>YgS9At>4ihP}C3Qu6?=hZO*QmONbk3K?#Ix+-6J9G8w3ZBcMu@8Kc)FZEL z&)r$0H(z`fFW&oT;A+YrY?uH99&ah)e`Tj2!X!kFfK=*Rq*-7JIa$_LDWXd9i;R!C zu;JZp6&rllZeus^X7|hxAPk+r6`o~}m;M1BqDYzbfHj`QXdhxfMSdYN>dFF|4`9w+rr0w^610{)i@^2ax<{3)V>&_J-MwIKgW z?4Ah-zLwB3KL$N~i;p))_wl9IVMcAzCCAl*miB#Dayb+g2%GQNhbFxj`^IiiLweGI zW0&BtcGKMMxC6!EXIH#VvAqeV?USj!8rHt`X`s$C23|K34~f;=eoN@Ba0GqSbcK=g zG>eC5vsEXd5hax17e$TC9ON;B#2t2yW@nPf4)kPjHrjXW2{z2It(4s37vM=O)fSL| zRL8~Tk1%Fz@G5#dP>um3dTbFa$C@jZRwawuRQMtJ%9c?bb5WhQK(r4>Up>0&=zrWD z(_xOssb%>|JJz413)0rAvf07&e5ysU+plfOg|O!hdonO^uYn)VH_q8Lz^;ZM`Gbe_ zW`@Oc@5<0R?M*oKDE97liJxqS8$>CHNFTh<$&akCXhifb_NH|#=ZPub)W=g9@*;Gp z#Dz@}o7VxkuDXal%UA=v&Nh6tICcm9TGvN!Kjwd*(t7MhKDCP|$fvV-M`L_ehxTdi z>7pzkl$q+yRcVj!>E{8pz7ouUy#GN;K!X_Pa^%B{U`p@y1}; zkZD7mw0}uh|Ia-Dj7kAG#u9&h;6nh?{PYsg zi@mMv1NO@#CAlOWU71N)E>wy3Ri?zyI6w7n8}&K*aFiH&nB0?9GxI1al%(k|cYr@M zuVt-C#i8iirJz_6&#z+qhi27+vpCSZ8SAt zR3v9EMdX^hrY?zO@8MHWDBewRVmeKAkemaN_&-gNC=0MfL_)8ivpg2$I0jrKo$?K? z166lr6K(TN1oVpb6tI)~X)>4;t})`Z%+1Zzz$dW0CV_P5AfF%Y?Iq^V4ynn@Q$12i z%(OHdXtKgp1Hi6=BxUytL;<=Is?Y8TXyY-QmiCxQ{Bj} zyKDLt--LnPD%|`#^BUP7cx)C0*fTW(NcggZCK=ftn#Y7uto!OAJ6_(JV&i!)Mq1U& z2U}gWjfyjLe39E>p79#p5e5PRrHTmy9N6-c8}rXVoiX)|Cng2H4>aFYJprkNs;EG% z{A3PE{a!rM76T)u4!&IcgEPMgM9QO~9{RdK{sz}rWw%(2%mO$GT1@L>ViT@a%&`CyHN#W z?B}%70+0&FHtVBFPrrA@Ufta>P^h(7Tb0+f`oq;PJo>y{D&@Qs;;CF|)oN6brn(-{ z_@zjT49hn2l7&e3#Uc|e%O>*@`GYS%L%v_gk0kWM2}=LCdY!N1B9-J!VFi&MTE7kY zWhp;?B)E@7t^l}^lZzyNZRJGILS{adVOX-ta^{aJR!7(CA2K8L3p9TQy&kvrvVK$z zgbY_Y+I$ns|DG&znBK2*#oWG&G+Zdc6L5!e(E;K9-F^kpCA9~MwGr&LQ&oEDVtlJw zDd^~d9PgnNXX-ojlatg|6Qy>Ex$WK21x3(IwImKS67Dv7Zr!5Cqj&{wxjKT%abaIA*wY2;WE&R~Fnx+3Xr`--JZRg!6`V$CLVxgH zx=}`p<1d}DF&+1nTv`IG_g=W!tTdEOFb1$vB#6&Tjzy^?T%}MF+g71+>0$kYzj9%K z9qNWlp)>T27wd>8&i*cY%=eN^PUj#rVQZW+1bzgvd0yMAuTGl^< zLOf!?n&x?90Ye%)$!y!I##2)UWp-0R)bGWEw|hHyDPQH-MX2+cC_TDm{j~{h<$GHt z*}F6o7&g)+2-l3NI^G@6n8w5-g~mQ+QQ3kZryjAr=N%is5K%^lnge)5EHP=Ajuntk ztA{?tjx2oo77!%hi^T8~GL5D__E&4Ir|KQE>#&l_P#MYSee;P5P_qWRmUl ztyUd@&CS;n*1hxGxLI=fFJ_haVU8J8Y(gD=@f7{6Ob@QLy}7_=Jc~KTRuA2 z&NyjP_tBht!J5p*x0{t8*?mPDAkdjl*y%N+K6o#*@SRL(IZIg7Gp7LkpFV8|DhPhy z;uk^zCj)GH-(mUkXG}o;=+-4L!fI<$uiQMOb%R$($z0S=1|$a}_9G_9ejGj}=Jk8c z!xC;SIAcxOiL-Gqc7vCAse!iKFedzB2zrz1Dzwd8?g(1+jW41@+7n7-ZSRycW?JX@2y2>Q+Z==eCxoaeC6))=|~R$7&8jgcQj8VwH__lCA9*)Dv`Fa^Z)b}8@*}HSxF4XOu>w)h zji=W!=cS7bwx~0F=%0LDz#F|2nZGiW7gdpjGWF@q8d9NN0dk3g*v&@<%%?*J4p#;N zX++is-Je2k72#V%n1QR$_5IVM+2+U-%Vc->NJc&SenALam)Tfp&8uFqFQLPTV_p~Z z<^kf{0!!CJrS97o_$2Ee@fy9|RlaY{GUzAqgiBAixq|P&d`JCJfj`qRkI^-}*z97b zdA{rq6OZ1u4vex&v4o!F%cvZ;h(;`RMke1BX{#iV) zq8pSAUjK|+KZUIAJG;Zn-)15FI3IrxqL1Da;Q(-5U%xD}3d#2UicQbfJ1+iOOtFO; zm}u&t(93730?orfnTW{v-1Rs^MrA&|HT1F_Jsyljh7YE;K!8}rG;3;Y7?g;goUdC9 ztn6h5rGaTN()ffM;{^?3zXA#3>yaRp3zs?maWDMA*8s`St@E!asd{hy^!^z|+m@5V z>r9YN1e=w`di!(p!?uxKedh6GfY|jk{_=%#iw<%b48br}a&_A95Hj?L=jc{ODj3la13qDwi_Twe{J4<~->p z)+_&NUujw~DlhqtNm?a&_bugI!`4dAhXJs7cp4X4Q>`Td@&X5RDrz=o&RRoMzT$Xmm3ndn$ zg4ZKXnrR%0XI{M`_bX^3i0!0E{GeEAOentpCX0)|nGeC$KZ~JyyX8&`!J?-}+p@bT zz3`dz;BXHhTz^%1;<-_+qrFSmo2i=EDKi&J#V@0u*>O01>XS{lgH~pd{Ws#jJ45=Xc;f{Er_}!n}WHD)}>>ct(``dtG%uk!oXY=eI91+78D3{N)>HuId z{KmB96&7_>JDGC%^&Ok&A?{S`VxXtlT{B2h48X>0R#mS*L~Ix~{Phb)m%h4Z3PK7j z-F~!17SY5H1AMs}Af2@Ho$2OGreehyoqcRLZt%}fAs{@{*}H)x0tYtB2MYM%%`QK8 zc-L&|C-fHn`$|(?X&4dEC(D1Hms%_Ek8k5ADG8|jAm%h{Fv6YH2Cowb$d}`H`{~`5 z?(qW>G4=c~Adm%G8SG^fg7^S#Bz>@4c=HeX7m#uKb_bI%&`CH;QdF%1TIFF~h!Hs- zEELD_HZib_*ZDVXew``x|0|+=f3~R>4#zF@%0cA=Lr3~QX8{1EXSkOuPy`5E{>v01 zd@znq3?fdxe2)6U0!RZ7pwRp0{uvbkkA{e1k`C*_q<%{PkbZZ3Mg=)N-~&7o)m?fI z9J((bLEi6iV${zHlUaROs^Q_PSmAlc| z!ji`P&@ChLI)N+C1@<17?XZ=Rx6fYOC@)eM_P!^DO!k<$!Rien+c*|tsQ9H|6E?o%iBkgLW!_lmIde4NG8mW*KaOd1R z{5D0^lK^@fi`#F5N!z{OkP;@q#^lF7%fes$*)q>EO*KZESP;PO+_!)!IJG`nDU;;J zbe=e)V}jOhgBc4!ECbgd<`=4twmJ$+FVWn5ZtLJcUua`t^5;hqQLf_1h0(GrBLu7> zTQT@0a14V&eS1!6as;rEjauaG8lN`8S=nUg_waUGj3y=ZjgGVU z-S>5_DxY0Clzuzx>O_0+i=Rj#ek=ENgjwh#ORNjR_lR#Rs#lG+X+$$MPSSk`f2! ze3GUa5M;*92St4`U)m>umUl(hxo%mvFWI&62v3EYg!+%y>#sG{F|dAD1(KsZmZd7MQ-PUq zThtP*ZYu?xtn@2eqK-msNJc(8nC?9AQDxZm5h z{@=)dEE(_m_pXg8PJWTi=m196QD8<=m)Fud0L4*Z0N#{KwpJTdInOU*-u|NVe<$q& z*#SVp5Kk-14a+*wwI09nt+F2a%rd%;e?hw+iy<(=Iz6=S@{8Z#hp_;;6fa|b*wzUb z;y^wMtaT4#25%2DOf3HMy}2-9$!l=YkYy=Q8F63)%)b53OV?d-zxaO&n|>8Ffsg<4 z6=%wOs?s8`Ob@R!`<-Gn0z8}YW}e>!sY=7Swyl1*@+@n|_IK9K<>3aPvg){H3k)Iu zG41GolJHyL`#sGSQv=|!k{{_^}-VLGx93DHKKG)Y7`+y2unDOZR6Sbw` z6@#+peSl;^fQWlx*uP`~3fx}+>Ec*G zTZC(P(<8Y4#X0}Tf$?A%5irXO$$;HVmt5*?07R^Pr_MEo8bDwxXmj6)2cq^beDN=F ziSjlUhG%}}0y%kdU?bU*R50KyP72Qlz6hl;ib6>Q_{xykc71$-=ATw3-;80`vk$)i znWp`9a%WyvV7tl4PUNsDy?=0x0HNa+mkgf8)+-?`o>r|tiKh&7f82pQ(N z9)s$H0;yTWsCU7|opDt?&)i$?n#ro;spJ=8qUF}({~3Pp*W3NPMKE0qJCUSLB9g9{tU z4shie<>4{dH;v>Tb^O_OFCefr5H@(&ph!5+PwveC^|tFb+(iJhk%y_ zZ%2fj)4@~G(TVe6-Qq~_LMl0hzzawCR}#GHGAgT$2oi;bWn8N_16z|sTth^UuC~0e z6|;?Qt?GGhW$jXsSKq|QFL(R{3Nl7&SOKS4?g#p-)H5$Z8SH>?ur+x z4*RYinIO0Xv0?>SFNO}_z^K0-cK=E0|JxY-0EUSnmzKj1;2kTTfTmuR9}6x*UMQ(d zmEwo()^5hCc(-KQF>a5S2ETT$FJP3Xb1H5{+8Zr=UJ&fJI1S!-?z2%V&QN%~Rt8jQ z0XyNHsS+ijoar8&d~DiNVPo&A{ut9iX4B}<*v6_TwpTg)T=Xaum(d`sPr;-^p{wpL z)1Q(uKbHthzX+71^wYBf#z#CQp!6kEt});@$y8?s8bP(R-Da+glx-9Kb@em>-@ z1}2Empn?G7YQCGYp8Z#@&99)yc*;YT->CGsL*0D2|8oENi4j=}g=*BI8E}Qs!L4Pr zE{UyT5}Jo$!)3~1WxlnoRlb2q93hr7p|`gb?!NRsJ(LN%Eyr&&RkQa_bK~*S^|cv( zi?QbLIJAkSb^1pXp?Ef`Uw|poZi2Fe9%)Pz23v*`9t&-=|kWKJ;G!~dHU1D&6cDo7>X z5wNo955=s~swr=%ARD)>-WLCz@N^Bzuf!giOw0Nq8B8|6D=9A=#Fu4H>{i^nm|>0T zA0tUxD`U9`{aZ9JGKviuhO=~m2xV8$9AF)IY}j!5IRb>8L0RkZb~FH`Thd;5DlPt( z<9l+#McE5iHflH=+vDFor``6{d10FjxjX0ILU-i=Nm0X4I6Jx^<9bkJY|Au-#jQ%x z-I&fFCC*woPS%=7Yz zV)l0L|6}W|qoRD*{b2zCQ3R20MQJHPIt1ws0qHL3ZU#g}TDnWR#1RCf1`&qt8gf9o zn_(Dc=6&4foZtDLcki{HKV~f!&tft66`#1S`&uAME%Z-Pu>zB@ZeS_i?VzQ3iPwig zs6rUCWJOqxnezAJUCD|ARC`CY+Fo%RJn4zgO*$20`LIR7i~)7-@P^{mb)Rs1hcM|y z^58+3$t+^xV^eq7)>pjwIt{e1Z&g8L-h6SXLNEPz6?v|>Qw?l1zjSW|h4NY;kt*Jv zt>b8l3}bZVnb&GpolPdaI6QotW2NH#n52|y2@_W`V_!QeYS3FCY?tc;>(CSIF%Q_$ zsPqp+k%irSL7lEqDCuK`nd#vjiGJ;6jHL{lj53w5wErZz|0^$RQv(&>ep&{rev{7t z7%eZc31YgVs{fN+f*=pWD+dw6fb0kKn-e*J-p5G_tn>YkIg2LXzrOd)_)tvK+2wEF zCFWtEeWU|?LY+u2>c1$9#bG%6#UuY7oC4(OL_5|HN{==il-K-u9?7DFK1^fDDc=>` z5f8h_oU*_&V_(_!){n*x`M30rmRh7+tz_hlP#n|Z+KfsWifdsOAe3|Bp)Gx1&9aj` zR+21KLuYxKK1m+0r?9jl4#>qO95&;O_nD$I2IC=@#?u8JZGE|;&0_;A=mw=&-z(x2 zrGjzwD(0Jj_-DI24i@A;ZOZM1e)wMz7q(?!Z+g`_NFH9D3TYcA{yh@Q9jzQ2+P z%C@(C7K9+umBETQ#5TmGX)-%qBX{G!SYQyOv5PB$2J?zdDocm;hi&Pn(sL z2U(b&$};-TVcWE`pXovO|9ckg-(X?*%Y)mxIGLbvz|_Tq2R&+90Gu`Dj60*@S&)|m zTL4`}4Lz`Kbs!r47v;#1I^KzHJrl8-m)+5d~$2;=rJz;4^YNe-b2GFVa252{0uf)v(v3Sv5 zUV`}mnT@LyL2UcdrsV1ai+J;-ZPqO_>=k`CE`~D8>|NbY9NHUT)Wv37A}1d0%aF6j z?WEY1s(QONa8xCx08}=M9c;RhJFnXxBd*jbUNZc4d@7P^=fmJ)_(4XO4PlY~cC){? z?&iLL#mQ*4*!h;ldXeZB!)9E`r>ZUA$Z3_Cp7^6hLGL2-Nwb|JX_V19Tvjc+; zKU!n2{HOwV>GCtzrD~CGtoMc3^N}s=RY($4jVt8eHBO-F;XE2!6xUUBI-?h<4TF#5 z=RVYYd^9?Aa5#hh9C;9A;1LDFRdv*2{JYqhCj93DAVy4v{_58&OV=DdN@4PSpN}IL z^|yKOiUJTM`pdaqJdnm{e*OT;*Q5w>(|^cg#6kdA$J59?AxH)&7My|bz(IhE`+5kF zTJko)Rbtm+Xx1Q50nX$B9veOAqAd;{Qk=ix^(I3xF7ax>P+sOw!=!>RR-D7{8!ds;={K=}60n7T{8knYWTb(2}ktU@qJeP9UILOy#rcLTAT^(5GBHn0te z$R_eWo;IB7R=TSc0Ez;g7k^O`E&dU@beLy62c>k3&H z9c~3W&vgZb=1I3N=vF}j{C+hAye+^z$QZnAr-{Yd%P3@ACZ052X|-9uDM|tu%P*HH z%X&y2vVOtbQJf_L!VH5lP8LEx4sw8mW9&Zp_*G&f8LwmChh!uy?EG!(r>`9gegbcz zrAOV|Y%%=u+4mZN=fW zH#eluyUS7ABb-si34j!M59FNC(B5KJH*0}8h}3Nw%J{9g>wB<&j)$agtnbHm{q`>4 z534!P2}}(Gd10uT^Dsj>Y#?TahPb@;fj!c?@x5ya%nZQ2NET+Z*|EWv05 zR1pq}jXUJ>#y4R~7Ewd~d(xA?{6fF?VMszBDqEl@n1LzD&v!d-jxBnYa3M$1fde|r z?QrZFYF>|&9S?di*3z`__{aAJG!IZvnPh==doRl}G9c|?hipoc}t6b3Y*=-P3<*Ov509A$L*$R4$uk%YH|L;ExegeGoKv zl1<2FfAikg$zazK%y;;R>0Fy_^tObE3xyNT+rjX0O@#`B(PTi8sW*bQAB9fX{W;xW zF=11GFgI0pwzJ%>wkrWS#!qTJ>@cyNJzQe(mezHg>Q$c+6o!UwVpA>!AoXu-2j2`c zjA_QBoE$=KHsDL_DK|4!*P`5K)6_aci69JrPvT>ht|I7M7M{?Zf^Cm3qdOKcit{uu59aCky8zK}SDZ@~e3z^sawg*ZVIo*U|FKK;}9)q`mE5 z=Uj`q#4V4)v2*t(uzct&VI_6iCl_SW#eFk2@Dxo@`e48Ji?xk4wNWZmG28a_Gn-Az za?I)P1j+9h!g=4YGp#YyADEN0w_@9WM#;O%g+>S&MO5f#vYz;4agt=eG=$dm90U#NZ z|4n@U4lo2TD1kg8GX4+51>I-huo1Lzs5=z`fRU5Uxfx!82x)a*2^(=2|JOd8nr$-M zR#MoEQ;||)hFz!RNp-J0s(@GA!WNVVWW>>xfIV7tPv{nCT2MzE&3D6&-LUApaxHhd z%?tmUb+^?G-Leh8avoORS#CAlB}oXL+hzD{Y!0jgN)X+o;bihWP*PwDxD>0!Vvc}4 zg$F`Od3EnT=bJe1{(Q0O}kAX5~NN*KOP!LEC=C_U4b`AL?oGV!~iC`JbT z!Mu*|CQVVn_dg+0Lke>ZC z#F4E(kx9GbKqFga@`nX_E3~Ye*$m}&;@wkvrVzHVSFI4{J*~$=>O376GopC_X*H|c z4hHE7%1a05T^0zc3G%j}X?YORSKrSq!m8~HZ>}#6bejT4a!ScoWLhy&Ut~}|?R*`6 zTgAGNof+%{G2N))xjCMnY>bcvcowGO%VI8V_R05s$X*B=W929V`jm$>x`2>*j>D^F zlw+bUWOW~ihkzZ&S&5KKfwi7PEi7t|WmG2kYu{npyzjN(n|+kd&BqF8*!IaL??%X8 z(~A^GqzDt0j1p7n+1pEpjVt*~(+q^f+xOQd9NqO%b1owD^9`hiq} zrMy;O&@;K-ZRpm2Y|E~d3!UB{y2pvBkFtH8HR99Ps&3V5X*ili58)Zt&fjNzqH+J;lvt z3Rt^$A*VA?<~`9aS80rHXp}cxJW_wH`~Pq%%%p{@!XbOHN?QkZWuXtP!qM(4#Xh+csj$b8ma>1~g=Z@=QqNXsk<~fSzsdtL$Ij z*7z`TyQnavS`spWB<`(z1bgZQ7o?o*TQ2&beRJ!Dccj5?ED;=x8 zd5&gwE*t0*HUsc8^~%r&8>-$w`Yh@w{dxmalio;{z4~Y%nUoa+&7niW+Z0AeoDihH zC0CBf2MaT$^aPdW6?Z8ci8Dbr;Cn5bUN-YSOb61hY=JplWFJcF^CdlY!97~iKE^%) zhW18~7LcI}uzB`VZKu!$UH40e0n@Nwl9eC~$b9=keB=}~7ME2AQbHxt)}DQrXKN*G z4e1Uz!fChA0`|o8qV|z23+Oq1P|FQYrOe49Rgw*wPY`ezZ4a1yObiO!stkhjU{e&V zpRaAtk7&=GSKWKFe6{qnt#NF{^;wsBTm9xO>0sBF`xCEL#67S zjAr@#_x6(iAI(lI8DTISLMw6oz@g(k_h@TLM3>R8U>}*9S53Wg+`A7dxFdXSZCdm| z>^jx+sF|Lim4J{Hk|DQrJ}c#{El3 zr+-U6-@VS8UBkDt7JyZ(OmWK%-Gh#(!~9UUL5Vg$=TYQ90zX@%Z-_NHy8 z3mMTJ&b=hAq|%Jx9c?kIoKXw1v$x*k+rKusCFNGrz#O`j$Fi^-`n9jjZ8#3rddghd zvBoVDE!k{W-FIxW=)O(Msf3x^Dy=-Ish1c2Aq?!1ZAH9=_GDB0U@UIv0YyG2FF(l( z#iRd!5%Oe^r8jO` zy&#>cHRU{E|MYAw_+=nwMoh2=<1X!=)R$pyzzYgVIbAxQH~GRWp@`gGdw8!PKXxf` z3*y`e3q1j~DXovEEY5bEW{}!$>Hqf5%LqSf`i&0T+$&1G<9HP^l%${a3&=&%qV7pxL51=sWyq@av&9@!?Ya{w}3m z=l+R<2F3n{UD7i^d+7q8%W211DS9L0A_HA-KRiM5B5a

GJp0R}K1}Nlnn@;E2WB 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 diff --git a/io.sc.platform.developer.frontend/.npmrc b/io.sc.platform.developer.frontend/.npmrc index 06969b7b..c1c0b295 100644 --- a/io.sc.platform.developer.frontend/.npmrc +++ b/io.sc.platform.developer.frontend/.npmrc @@ -8,4 +8,4 @@ email= # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.25afcf59-9193-3068-bcfa-faf76ceadb13 \ No newline at end of file +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10 \ No newline at end of file diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 29f2963e..ad76cf84 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -1,102 +1,104 @@ { - "name": "io.sc.platform.developer.frontend", - "version": "8.1.13", - "description": "", - "private": false, - "keywords": [], - "author": "", - "license": "ISC", - "scripts": { - "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml", - "dev": "nodemon", - "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", - "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", - "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", - "sync": "platform sync" - }, - "engines": { - "node": ">=18", - "pnpm": ">=7" - }, - "publishConfig": { - "registry": "http://nexus.sc.io:8000/repository/npm-releases/", - "access": "public" - }, - "devDependencies": { - "@babel/core": "7.23.2", - "@babel/preset-env": "7.23.2", - "@babel/preset-typescript": "7.23.2", - "@babel/plugin-transform-class-properties": "7.22.5", - "@babel/plugin-transform-object-rest-spread": "7.22.15", - "@quasar/app-webpack": "3.11.2", - "@quasar/cli": "2.3.0", - "@types/mockjs": "1.0.9", - "@types/node": "20.8.9", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@vue/compiler-sfc": "3.3.7", - "@webpack-cli/serve": "2.0.5", - "autoprefixer": "10.4.16", - "babel-loader": "9.1.3", - "clean-webpack-plugin": "4.0.0", - "copy-webpack-plugin": "11.0.0", - "cross-env": "7.0.3", - "css-loader": "6.8.1", - "eslint": "8.52.0", - "eslint-config-prettier": "9.0.0", - "eslint-plugin-prettier": "5.0.1", - "eslint-plugin-vue": "9.18.0", - "eslint-webpack-plugin": "4.0.1", - "html-webpack-plugin": "5.5.3", - "json5": "2.2.3", - "mini-css-extract-plugin": "2.7.6", - "nodemon": "3.0.1", - "postcss": "8.4.31", - "postcss-import": "15.1.0", - "postcss-loader": "7.3.3", - "postcss-preset-env": "9.2.0", - "prettier": "3.0.3", - "sass": "1.69.5", - "sass-loader": "13.3.2", - "typescript": "5.2.2", - "vue-loader": "17.3.0", - "webpack": "5.89.0", - "webpack-bundle-analyzer": "4.9.1", - "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0" - }, - "dependencies": { - "@quasar/extras": "1.16.7", - "@vueuse/core": "10.3.0", - "axios": "1.5.1", - "dayjs": "1.11.10", - "echarts": "5.4.1", - "exceljs": "4.3.0", - "file-saver": "2.0.5", - "luckyexcel": "1.0.1", - "mockjs": "1.1.0", - "pinia": "2.1.7", - "platform-core": "8.1.42", - "quasar": "2.13.0", - "tailwindcss": "3.3.5", - "vue": "3.3.7", - "vue-dompurify-html": "4.1.4", - "vue-i18n": "9.6.0", - "vue-router": "4.2.5", - "@codemirror/autocomplete": "6.11.1", - "@codemirror/commands": "6.3.2", - "@codemirror/lang-html": "6.4.7", - "@codemirror/lang-java": "6.0.1", - "@codemirror/lang-javascript": "6.2.1", - "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-sql": "6.5.4", - "@codemirror/lang-xml": "6.0.2", - "@codemirror/language": "6.9.3", - "@codemirror/search": "6.5.5", - "@codemirror/state": "6.3.3", - "@codemirror/view": "6.22.1", - "codemirror": "6.0.1", - "vue-codemirror6": "1.1.31" - } + "name": "io.sc.platform.developer.frontend", + "version": "8.1.19", + "description": "", + "private": false, + "keywords": [ + + ], + "author": "", + "license": "ISC", + "scripts": { + "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml", + "dev": "nodemon", + "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", + "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", + "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", + "sync": "platform sync" + }, + "engines": { + "node": ">=18", + "pnpm": ">=7" + }, + "publishConfig": { + "registry": "http://nexus.sc.io:8000/repository/npm-releases/", + "access": "public" + }, + "devDependencies": { + "@babel/core": "7.23.2", + "@babel/preset-env": "7.23.2", + "@babel/preset-typescript": "7.23.2", + "@babel/plugin-transform-class-properties": "7.22.5", + "@babel/plugin-transform-object-rest-spread": "7.22.15", + "@quasar/app-webpack": "3.11.2", + "@quasar/cli": "2.3.0", + "@types/mockjs": "1.0.9", + "@types/node": "20.8.9", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", + "@vue/compiler-sfc": "3.3.7", + "@webpack-cli/serve": "2.0.5", + "autoprefixer": "10.4.16", + "babel-loader": "9.1.3", + "clean-webpack-plugin": "4.0.0", + "copy-webpack-plugin": "11.0.0", + "cross-env": "7.0.3", + "css-loader": "6.8.1", + "eslint": "8.52.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.1", + "eslint-plugin-vue": "9.18.0", + "eslint-webpack-plugin": "4.0.1", + "html-webpack-plugin": "5.5.3", + "json5": "2.2.3", + "mini-css-extract-plugin": "2.7.6", + "nodemon": "3.0.1", + "postcss": "8.4.31", + "postcss-import": "15.1.0", + "postcss-loader": "7.3.3", + "postcss-preset-env": "9.2.0", + "prettier": "3.0.3", + "sass": "1.69.5", + "sass-loader": "13.3.2", + "typescript": "5.2.2", + "vue-loader": "17.3.0", + "webpack": "5.89.0", + "webpack-bundle-analyzer": "4.9.1", + "webpack-cli": "5.1.4", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.10.0" + }, + "dependencies": { + "@quasar/extras": "1.16.7", + "@vueuse/core": "10.3.0", + "axios": "1.5.1", + "dayjs": "1.11.10", + "echarts": "5.4.1", + "exceljs": "4.3.0", + "file-saver": "2.0.5", + "luckyexcel": "1.0.1", + "mockjs": "1.1.0", + "pinia": "2.1.7", + "platform-core": "8.1.45", + "quasar": "2.13.0", + "tailwindcss": "3.3.5", + "vue": "3.3.7", + "vue-dompurify-html": "4.1.4", + "vue-i18n": "9.6.0", + "vue-router": "4.2.5", + "@codemirror/autocomplete": "6.11.1", + "@codemirror/commands": "6.3.2", + "@codemirror/lang-html": "6.4.7", + "@codemirror/lang-java": "6.0.1", + "@codemirror/lang-javascript": "6.2.1", + "@codemirror/lang-json": "6.0.1", + "@codemirror/lang-sql": "6.5.4", + "@codemirror/lang-xml": "6.0.2", + "@codemirror/language": "6.9.3", + "@codemirror/search": "6.5.5", + "@codemirror/state": "6.3.3", + "@codemirror/view": "6.22.1", + "codemirror": "6.0.1", + "vue-codemirror6": "1.1.31" + } } \ No newline at end of file diff --git a/io.sc.platform.developer.frontend/src/components/index.ts b/io.sc.platform.developer.frontend/src/components/index.ts index 6c539498..5c7cd970 100644 --- a/io.sc.platform.developer.frontend/src/components/index.ts +++ b/io.sc.platform.developer.frontend/src/components/index.ts @@ -12,6 +12,7 @@ import Components from '@/views/plugin/Components.vue'; import Directories from '@/views/plugin/Directories.vue'; import FrontendModule from '@/views/plugin/FrontendModule.vue'; import FrontendRoutes from '@/views/plugin/FrontendRoutes.vue'; +import Initializer from '@/views/plugin/Initializer.vue'; import JsonSerializers from '@/views/plugin/JsonSerializers.vue'; import Menus from '@/views/plugin/Menus.vue'; import Messages from '@/views/plugin/Messages.vue'; @@ -35,6 +36,7 @@ const localComponents = { 'component.developer.plugin.Directories': Directories, 'component.developer.plugin.FrontendModule': FrontendModule, 'component.developer.plugin.FrontendRoutes': FrontendRoutes, + 'component.developer.plugin.Initializer': Initializer, 'component.developer.plugin.JsonSerializers': JsonSerializers, 'component.developer.plugin.Menus': Menus, 'component.developer.plugin.Messages': Messages, diff --git a/io.sc.platform.developer.frontend/src/i18n/messages.json b/io.sc.platform.developer.frontend/src/i18n/messages.json index 91809e8e..2f33b7d8 100644 --- a/io.sc.platform.developer.frontend/src/i18n/messages.json +++ b/io.sc.platform.developer.frontend/src/i18n/messages.json @@ -11,6 +11,7 @@ "menu.developer.plugin.applicationProperties" : "Application Properties", "menu.developer.plugin.components" : "Auto Scan Components", "menu.developer.plugin.directories" : "Directories", + "menu.developer.plugin.initializer" : "Initializer", "menu.developer.plugin.jsonSerializers" : "Json Serializer", "menu.developer.plugin.messages" : "I18n Messages", "menu.developer.plugin.restartProperties" : "Restart Properties", diff --git a/io.sc.platform.developer.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.developer.frontend/src/i18n/messages_tw_CN.json index 77c73bf7..0b507937 100644 --- a/io.sc.platform.developer.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.developer.frontend/src/i18n/messages_tw_CN.json @@ -11,6 +11,7 @@ "menu.developer.plugin.applicationProperties" : "Application Properties", "menu.developer.plugin.components" : "自動掃描組件", "menu.developer.plugin.directories" : "目錄", + "menu.developer.plugin.initializer" : "初始化器", "menu.developer.plugin.jsonSerializers" : "Json 序列化器", "menu.developer.plugin.messages" : "國際化多語言消息", "menu.developer.plugin.restartProperties" : "Restart Properties", diff --git a/io.sc.platform.developer.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.developer.frontend/src/i18n/messages_zh_CN.json index bcad0b2b..7b46794c 100644 --- a/io.sc.platform.developer.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.developer.frontend/src/i18n/messages_zh_CN.json @@ -11,6 +11,7 @@ "menu.developer.plugin.applicationProperties" : "Application Properties", "menu.developer.plugin.components" : "自动扫描组件", "menu.developer.plugin.directories" : "目录", + "menu.developer.plugin.initializer" : "初始化器", "menu.developer.plugin.jsonSerializers" : "Json 序列化器", "menu.developer.plugin.messages" : "国际化多语言消息", "menu.developer.plugin.restartProperties" : "Restart Properties", diff --git a/io.sc.platform.developer.frontend/src/menus/menus.json b/io.sc.platform.developer.frontend/src/menus/menus.json index 5bf71b84..a3ea96d6 100644 --- a/io.sc.platform.developer.frontend/src/menus/menus.json +++ b/io.sc.platform.developer.frontend/src/menus/menus.json @@ -31,8 +31,11 @@ {"type":"ROUTE", "order":300, "parentId":"menu.developer.springboot", "id":"menu.developer.springboot.environment", "titleI18nKey":"menu.developer.springboot.environment", "icon":"bi-patch-check", "routeName":"route.developer.springboot.environment"}, /*开发者工具/spring boot 容器/自动配置*/ {"type":"ROUTE", "order":400, "parentId":"menu.developer.springboot", "id":"menu.developer.springboot.autoconfigure", "titleI18nKey":"menu.developer.springboot.autoconfigure", "icon":"bi-recycle", "routeName":"route.developer.springboot.autoconfigure"}, + /*开发者工具/平台插件*/ {"type":"GROUP", "order":400, "parentId":"menu.developer", "id":"menu.developer.plugin", "titleI18nKey":"menu.developer.plugin", "icon":"bi-plug"}, + /*开发者工具/平台插件/初始化器*/ + {"type":"ROUTE", "order":50, "parentId":"menu.developer.plugin", "id":"menu.developer.plugin.initializer", "titleI18nKey":"menu.developer.plugin.initializer", "icon":"bi-list-ol", "routeName":"route.developer.plugin.initializer"}, /*开发者工具/平台插件/系统参数*/ {"type":"ROUTE", "order":100, "parentId":"menu.developer.plugin", "id":"menu.developer.plugin.parameters", "titleI18nKey":"menu.developer.plugin.parameters", "icon":"bi-list-ol", "routeName":"route.developer.plugin.parameters"}, /*开发者工具/平台插件/菜单*/ @@ -63,6 +66,7 @@ {"type":"ROUTE", "order":1400, "parentId":"menu.developer.plugin", "id":"menu.developer.plugin.p6spy", "titleI18nKey":"menu.developer.plugin.p6spy", "icon":"bi-filetype-sql", "routeName":"route.developer.plugin.p6spy"}, /*开发者工具/平台插件/Swagger*/ {"type":"ROUTE", "order":1500, "parentId":"menu.developer.plugin", "id":"menu.developer.plugin.swagger", "titleI18nKey":"menu.developer.plugin.swagger", "icon":"bi-filetype-html", "routeName":"route.developer.plugin.swagger"}, + /*开发者工具/前端工具*/ {"type":"GROUP", "order":500, "parentId":"menu.developer", "id":"menu.developer.frontend", "titleI18nKey":"menu.developer.frontend", "icon":"bi-layout-text-window"}, /*开发者工具/前端工具/图标库*/ diff --git a/io.sc.platform.developer.frontend/src/routes/routes.json b/io.sc.platform.developer.frontend/src/routes/routes.json index ca3226bf..301839f3 100644 --- a/io.sc.platform.developer.frontend/src/routes/routes.json +++ b/io.sc.platform.developer.frontend/src/routes/routes.json @@ -149,6 +149,21 @@ ] } }, + { + "name": "route.developer.plugin.initializer", + "path": "developer/plugin/initializer", + "parent": "/", + "priority": 0, + "module": "io.sc.platform.developer.frontend", + "component": "component.developer.plugin.Initializer", + "componentPath": "@/views/plugin/Initializer.vue", + "redirect": null, + "meta": { + "permissions": [ + "/system/developer/plugin/initializer/**/*" + ] + } + }, { "name": "route.developer.plugin.jsonSerializers", "path": "developer/plugin/jsonSerializers", @@ -311,4 +326,4 @@ "meta": { } } -] \ No newline at end of file +] diff --git a/io.sc.platform.developer.frontend/src/views/plugin/Initializer.vue b/io.sc.platform.developer.frontend/src/views/plugin/Initializer.vue new file mode 100644 index 00000000..03946047 --- /dev/null +++ b/io.sc.platform.developer.frontend/src/views/plugin/Initializer.vue @@ -0,0 +1,26 @@ + + diff --git a/io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/controller/InitializerWebController.java b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/controller/InitializerWebController.java new file mode 100644 index 00000000..dce469f3 --- /dev/null +++ b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/controller/InitializerWebController.java @@ -0,0 +1,31 @@ +package io.sc.platform.developer.plugins.controller; + +import io.sc.platform.core.annotation.IgnoreResponseBodyAdvice; +import io.sc.platform.core.initializer.ApplicationInitializer; +import io.sc.platform.core.util.Sorter; +import io.sc.platform.developer.plugins.wrapper.InitializerWrapper; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.ArrayList; +import java.util.List; +import java.util.ServiceLoader; + +@Controller +@RequestMapping("/api/developer/plugins/initializer") +public class InitializerWebController { + + @GetMapping("") + @ResponseBody + public List initializer(){ + List initializers =new ArrayList<>(); + ServiceLoader loader = ServiceLoader.load(ApplicationInitializer.class,Thread.currentThread().getContextClassLoader()); + loader.iterator().forEachRemaining(item -> { + initializers.add(item); + }); + Sorter.sort(initializers); + return InitializerWrapper.from(initializers); + } +} diff --git a/io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/wrapper/InitializerWrapper.java b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/wrapper/InitializerWrapper.java new file mode 100644 index 00000000..f2a4cb8b --- /dev/null +++ b/io.sc.platform.developer/src/main/java/io/sc/platform/developer/plugins/wrapper/InitializerWrapper.java @@ -0,0 +1,67 @@ +package io.sc.platform.developer.plugins.wrapper; + +import io.sc.platform.core.initializer.ApplicationInitializer; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class InitializerWrapper { + private String id; + private String name; + private String description; + private int order; + + public static List from(List initializers){ + if(initializers==null || initializers.isEmpty()){ + return Collections.emptyList(); + } + List wrappers =new ArrayList<>(); + for(ApplicationInitializer initializer : initializers){ + wrappers.add(from(initializer)); + } + return wrappers; + } + + public static InitializerWrapper from(ApplicationInitializer initializer){ + InitializerWrapper wrapper =new InitializerWrapper(); + wrapper.setId(initializer.getId()); + wrapper.setName(initializer.getName()); + wrapper.setDescription(initializer.getDescription()); + wrapper.setOrder(initializer.getOrder()); + return wrapper; + } + + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public int getOrder() { + return order; + } + + public void setOrder(int order) { + this.order = order; + } +} diff --git a/io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/components.json b/io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/components.json new file mode 100644 index 00000000..6a9ef356 --- /dev/null +++ b/io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/components.json @@ -0,0 +1,5 @@ +{ + "includes":[ + "io.sc.platform.developer.plugins.controller" + ] +} \ No newline at end of file diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/AgentVo.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/AgentVo.java new file mode 100644 index 00000000..f3b1dd15 --- /dev/null +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/AgentVo.java @@ -0,0 +1,98 @@ +package io.sc.platform.flowable.api; + +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +import java.util.Date; + +public class AgentVo extends CorporationAuditorVo { + private String id; + private String loginName; + private String userName; + private String agentLoginName; + private String agentUserName; + private Date startDate; + private Date endDate; + private String reasons; + private Boolean effective; + private String comments; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getAgentLoginName() { + return agentLoginName; + } + + public void setAgentLoginName(String agentLoginName) { + this.agentLoginName = agentLoginName; + } + + public String getAgentUserName() { + return agentUserName; + } + + public void setAgentUserName(String agentUserName) { + this.agentUserName = agentUserName; + } + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Date getEndDate() { + return endDate; + } + + public void setEndDate(Date endDate) { + this.endDate = endDate; + } + + public String getReasons() { + return reasons; + } + + public void setReasons(String reasons) { + this.reasons = reasons; + } + + public Boolean getEffective() { + return effective; + } + + public void setEffective(Boolean effective) { + this.effective = effective; + } + + public String getComments() { + return comments; + } + + public void setComments(String comments) { + this.comments = comments; + } +} diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/ProcessVo.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/ProcessVo.java new file mode 100644 index 00000000..2d582f38 --- /dev/null +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/ProcessVo.java @@ -0,0 +1,97 @@ +package io.sc.platform.flowable.api; + +import io.sc.platform.flowable.enums.ProcessStatus; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +public class ProcessVo extends CorporationAuditorVo { + private String id; + private String category; + private String key; + private String name; + private String description; + private String deployedId; + private Integer version; + private String xml; + private ProcessStatus status; + private Boolean canClaimTask; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getDeployedId() { + return deployedId; + } + + public void setDeployedId(String deployedId) { + this.deployedId = deployedId; + } + + public Integer getVersion() { + return version; + } + + public void setVersion(Integer version) { + this.version = version; + } + + public String getXml() { + return xml; + } + + public void setXml(String xml) { + this.xml = xml; + } + + public ProcessStatus getStatus() { + return status; + } + + public void setStatus(ProcessStatus status) { + this.status = status; + } + + public Boolean getCanClaimTask() { + return canClaimTask; + } + + public void setCanClaimTask(Boolean canClaimTask) { + this.canClaimTask = canClaimTask; + } +} diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/AgentWebController.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/AgentWebController.java index c5ab04e8..47a1c6c2 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/AgentWebController.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/AgentWebController.java @@ -1,6 +1,7 @@ package io.sc.platform.flowable.controller; -import io.sc.platform.flowable.jpa.entity.Agent; +import io.sc.platform.flowable.api.AgentVo; +import io.sc.platform.flowable.jpa.entity.AgentEntity; import io.sc.platform.flowable.jpa.repository.AgentRepository; import io.sc.platform.flowable.service.AgentService; import io.sc.platform.mvc.controller.support.RestCrudController; @@ -13,19 +14,19 @@ import java.util.Map; @RestController @RequestMapping("/api/flowable/agent") -public class AgentWebController extends RestCrudController { +public class AgentWebController extends RestCrudController { @GetMapping("getAvailableAgent") public List getAvailableAgent() throws Exception{ return service.listAvailableAgentByUserId(SecurityUtil.getUserId()); } @PostMapping("agree/{id}") - public Agent agree(@PathVariable(name="id")String id){ + public AgentEntity agree(@PathVariable(name="id")String id){ return service.agree(id); } @PostMapping("reject/{id}") - public Agent reject(@PathVariable(name="id")String id,@RequestBody Map data){ + public AgentEntity reject(@PathVariable(name="id")String id, @RequestBody Map data){ String comments =null; if(data!=null) { comments =data.get("comments"); diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java index 538191c3..228e8a42 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/FlowableModelerEditorWebController.java @@ -1,12 +1,10 @@ package io.sc.platform.flowable.controller; import java.util.List; -import java.util.Locale; import java.util.Map; import io.sc.platform.core.Environment; import io.sc.platform.core.annotation.IgnoreResponseBodyAdvice; -import io.sc.platform.core.util.LocaleUtil; import io.sc.platform.flowable.service.FlowableModelerService; import io.sc.platform.flowable.support.BpmnModelWrapper; import io.sc.platform.flowable.support.FlowableGroupList; @@ -19,7 +17,6 @@ import io.sc.platform.system.role.service.RoleService; import io.sc.platform.system.user.convertor.UserEntityVoConverter; import io.sc.platform.system.user.jpa.entity.UserEntity; import io.sc.platform.system.user.service.UserService; -import liquibase.pro.packaged.G; import org.apache.commons.io.IOUtils; import org.flowable.bpmn.model.BpmnModel; import org.flowable.editor.language.json.converter.BpmnJsonConverter; @@ -31,14 +28,10 @@ import org.springframework.core.io.DefaultResourceLoader; import org.springframework.core.io.Resource; import org.springframework.data.domain.Page; import org.springframework.data.jpa.domain.Specification; -import org.springframework.http.MediaType; -import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import com.fasterxml.jackson.databind.JsonNode; -import javax.persistence.criteria.Join; - /** * 流程设计器控制器 * @author wangshaoping diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/ProcessEntityWebController.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/ProcessEntityWebController.java index 7f7ad5d1..1ff6e548 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/ProcessEntityWebController.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/controller/ProcessEntityWebController.java @@ -1,5 +1,6 @@ package io.sc.platform.flowable.controller; +import io.sc.platform.flowable.api.ProcessVo; import io.sc.platform.flowable.jpa.entity.ProcessEntity; import io.sc.platform.flowable.jpa.repository.ProcessEntityRepository; import io.sc.platform.flowable.service.ProcessEntityService; @@ -11,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/flowable/process") -public class ProcessEntityWebController extends RestCrudController { +public class ProcessEntityWebController extends RestCrudController { @PostMapping("deploy/{id}") public void deploy(@PathVariable(name="id") String id) throws Exception{ service.deploy(id); diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/initializer/SampleWorkFlowSystemDictionaryInitializer.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/initializer/SampleWorkFlowSystemDictionaryInitializer.java index 6288a987..24d23061 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/initializer/SampleWorkFlowSystemDictionaryInitializer.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/initializer/SampleWorkFlowSystemDictionaryInitializer.java @@ -14,25 +14,10 @@ public class SampleWorkFlowSystemDictionaryInitializer implements ApplicationIni public void init(ApplicationContext applicationContext) { this.dictionaryService = BeanUtil.getBean(applicationContext,DictionaryService.class); } - - @Override - public String getId() { - return this.getClass().getName(); - } - - @Override - public String getName() { - return "Test BPM System Dictionary Initializer"; - } - - @Override - public String getDescription() { - return "Test BPM System Dictionary Initializer"; - } @Override public int getOrder() { - return 11000; + return 10000; } @Override diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/Agent.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/AgentEntity.java similarity index 82% rename from io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/Agent.java rename to io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/AgentEntity.java index 76df501c..2afb3b49 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/Agent.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/AgentEntity.java @@ -11,8 +11,10 @@ import javax.persistence.Id; import javax.persistence.Table; import javax.validation.constraints.Size; +import io.sc.platform.flowable.api.AgentVo; import io.sc.platform.orm.converter.NumericBooleanConverter; import io.sc.platform.orm.entity.AuditorEntity; +import io.sc.platform.orm.entity.CorporationAuditorEntity; import org.hibernate.annotations.GenericGenerator; /** @@ -20,7 +22,7 @@ import org.hibernate.annotations.GenericGenerator; */ @Entity @Table(name="SYS_AGENT") -public class Agent extends AuditorEntity implements Serializable{ +public class AgentEntity extends CorporationAuditorEntity { private static final long serialVersionUID = 2228732422179849265L; //主键 @@ -74,6 +76,22 @@ public class Agent extends AuditorEntity implements Serializable{ @Size(max=1024) private String comments; + @Override + public AgentVo toVo() { + AgentVo vo =new AgentVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setLoginName(this.getLoginName()); + vo.setUserName(this.getUserName()); + vo.setAgentLoginName(this.getAgentLoginName()); + vo.setAgentUserName(this.getAgentUserName()); + vo.setStartDate(this.getStartDate()); + vo.setEndDate(this.getEndDate()); + vo.setReasons(this.getReasons()); + vo.setEffective(this.getEffective()); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/ProcessEntity.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/ProcessEntity.java index 626b81aa..c4e7e21b 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/ProcessEntity.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/ProcessEntity.java @@ -12,9 +12,11 @@ import javax.persistence.Id; import javax.persistence.Table; import javax.validation.constraints.Size; +import io.sc.platform.flowable.api.ProcessVo; import io.sc.platform.flowable.enums.ProcessStatus; import io.sc.platform.orm.converter.NumericBooleanConverter; import io.sc.platform.orm.entity.AuditorEntity; +import io.sc.platform.orm.entity.CorporationAuditorEntity; import org.hibernate.annotations.GenericGenerator; /** @@ -22,7 +24,7 @@ import org.hibernate.annotations.GenericGenerator; */ @Entity @Table(name="SYS_PROCESS") -public class ProcessEntity extends AuditorEntity implements Serializable{ +public class ProcessEntity extends CorporationAuditorEntity { private static final long serialVersionUID = 2056614495312244260L; //主键 @@ -75,7 +77,14 @@ public class ProcessEntity extends AuditorEntity implements Serializable{ @Column(name="CAN_CLAIM_TASK_") @Convert(converter= NumericBooleanConverter.class) private Boolean canClaimTask; - + + @Override + public ProcessVo toVo() { + ProcessVo vo =new ProcessVo(); + CorporationAuditorEntity.toVo(vo,this); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/repository/AgentRepository.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/repository/AgentRepository.java index 86403167..b833f2b3 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/repository/AgentRepository.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/repository/AgentRepository.java @@ -1,11 +1,11 @@ package io.sc.platform.flowable.jpa.repository; -import io.sc.platform.flowable.jpa.entity.Agent; +import io.sc.platform.flowable.jpa.entity.AgentEntity; import io.sc.platform.orm.repository.DaoRepository; import java.util.List; -public interface AgentRepository extends DaoRepository { - public List findByLoginNameAndEffective(String loginName,Boolean effective); +public interface AgentRepository extends DaoRepository { + public List findByLoginNameAndEffective(String loginName, Boolean effective); } diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/AgentService.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/AgentService.java index 0b9bf8bb..31fed4e1 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/AgentService.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/AgentService.java @@ -1,19 +1,19 @@ package io.sc.platform.flowable.service; -import io.sc.platform.flowable.jpa.entity.Agent; +import io.sc.platform.flowable.jpa.entity.AgentEntity; import io.sc.platform.flowable.jpa.repository.AgentRepository; import io.sc.platform.orm.service.DaoService; import io.sc.platform.system.api.user.UserVo; import java.util.List; -public interface AgentService extends DaoService { +public interface AgentService extends DaoService { /** * 获取代理人列表 * @param userId 用户ID * @return 该用户的代理人 */ - public List getAgents(String userId); + public List getAgents(String userId); /** * 获取可用的代理人列表 @@ -27,7 +27,7 @@ public interface AgentService extends DaoService * @param agentId 代理人记录主键 * @return 更新后的代理人对象 */ - public Agent agree(String agentId); + public AgentEntity agree(String agentId); /** * 拒绝成为对方的代理人 @@ -35,5 +35,5 @@ public interface AgentService extends DaoService * @param comments 拒绝说明 * @return 更新后的代理人对象 */ - public Agent reject(String agentId,String comments); + public AgentEntity reject(String agentId, String comments); } diff --git a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java index d2e8b421..631e98bd 100644 --- a/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java +++ b/io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/AgentServiceImpl.java @@ -4,11 +4,10 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import io.sc.platform.flowable.jpa.entity.Agent; +import io.sc.platform.flowable.jpa.entity.AgentEntity; import io.sc.platform.flowable.jpa.repository.AgentRepository; import io.sc.platform.flowable.service.AgentService; import io.sc.platform.orm.service.impl.DaoServiceImpl; -import io.sc.platform.system.api.role.RoleVo; import io.sc.platform.system.api.user.UserVo; import io.sc.platform.system.role.jpa.entity.RoleEntity; import io.sc.platform.system.role.service.RoleService; @@ -22,12 +21,12 @@ import org.springframework.stereotype.Service; import javax.persistence.criteria.Join; @Service -public class AgentServiceImpl extends DaoServiceImpl implements AgentService { +public class AgentServiceImpl extends DaoServiceImpl implements AgentService { @Autowired private UserService userService; @Autowired private RoleService roleService; @Override - public List getAgents(String loginName) { + public List getAgents(String loginName) { return repository.findByLoginNameAndEffective(loginName,true); } @@ -59,8 +58,8 @@ public class AgentServiceImpl extends DaoServiceImpl agents =agentService.getAgents(loginName); + private AgentEntity getAgent(String loginName){ + List agents =agentService.getAgents(loginName); if(agents!=null && agents.size()>0){ - for(Agent agent : agents){ + for(AgentEntity agent : agents){ Date startDate =agent.getStartDate(); Date endDate =agent.getEndDate(); Date now =new Date(); diff --git a/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/messages.json b/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/messages.json index e3f9ca5a..e9806ee8 100644 --- a/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/messages.json +++ b/io.sc.platform.flowable/src/main/resources/META-INF/platform/plugins/messages.json @@ -1,5 +1,6 @@ { "includes":[ + "io/sc/platform/flowable/i18n/initializer", "io/sc/platform/flowable/i18n/enums" ] } \ No newline at end of file diff --git a/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer.properties b/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer.properties new file mode 100644 index 00000000..f9d1f1c2 --- /dev/null +++ b/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer.properties @@ -0,0 +1,2 @@ +io.sc.platform.flowable.initializer.SampleWorkFlowSystemDictionaryInitializer.name=Sample Process Dictionary Initializer +io.sc.platform.flowable.initializer.SampleWorkFlowSystemDictionaryInitializer.description=initialize sample process dictionary if not exists \ No newline at end of file diff --git a/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_tw_CN.properties b/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_tw_CN.properties new file mode 100644 index 00000000..48133447 --- /dev/null +++ b/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_tw_CN.properties @@ -0,0 +1,2 @@ +io.sc.platform.flowable.initializer.SampleWorkFlowSystemDictionaryInitializer.name=\u793A\u4F8B\u6D41\u7A0B\u6578\u64DA\u5B57\u5178\u59CB\u5316\u5668 +io.sc.platform.flowable.initializer.SampleWorkFlowSystemDictionaryInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u793A\u4F8B\u6D41\u7A0B\u6578\u64DA\u5B57\u5178\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u793A\u4F8B\u6D41\u7A0B\u6578\u64DA\u5B57\u5178 diff --git a/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_zh_CN.properties b/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_zh_CN.properties new file mode 100644 index 00000000..29dd555e --- /dev/null +++ b/io.sc.platform.flowable/src/main/resources/io/sc/platform/flowable/i18n/initializer_zh_CN.properties @@ -0,0 +1,2 @@ +io.sc.platform.flowable.initializer.SampleWorkFlowSystemDictionaryInitializer.name=\u793A\u4F8B\u6D41\u7A0B\u6570\u636E\u5B57\u5178\u521D\u59CB\u5316\u5668 +io.sc.platform.flowable.initializer.SampleWorkFlowSystemDictionaryInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u793A\u4F8B\u6D41\u7A0B\u6570\u636E\u5B57\u5178\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u793A\u4F8B\u6D41\u7A0B\u6570\u636E\u5B57\u5178 \ No newline at end of file diff --git a/io.sc.platform.flowable/src/main/resources/liquibase/PF_1.0.0_20221228__Process Manager Database Schema DDL.xml b/io.sc.platform.flowable/src/main/resources/liquibase/PF_1.0.0_20221228__Process Manager Database Schema DDL.xml index caaac906..4cf2daad 100644 --- a/io.sc.platform.flowable/src/main/resources/liquibase/PF_1.0.0_20221228__Process Manager Database Schema DDL.xml +++ b/io.sc.platform.flowable/src/main/resources/liquibase/PF_1.0.0_20221228__Process Manager Database Schema DDL.xml @@ -10,59 +10,67 @@ http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd " > - - - - - - - - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - + + + + + + + + + + - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/io.sc.platform.gradle/templates/pgp/app/build-common.gradle b/io.sc.platform.gradle/templates/pgp/app/build-common.gradle index b1acd61d..f6cfe3d5 100644 --- a/io.sc.platform.gradle/templates/pgp/app/build-common.gradle +++ b/io.sc.platform.gradle/templates/pgp/app/build-common.gradle @@ -6,7 +6,7 @@ * 2. gradle bootwar -Dtarget=undertow # undertow, target=undertow * 3. gradle bootwar -Dtarget=jetty # jetty, target=jetty */ -def target =System.getProperty("target") ?: "tomcat"; +def target =System.getProperty("target") ?: "undertow"; System.setProperty('target',target); // 根据 targetRuntime 变量的值执行实际的 build.gradle diff --git a/io.sc.platform.gradle/templates/pgp/app/build.gradle b/io.sc.platform.gradle/templates/pgp/app/build.gradle index 37ffb5bb..cd2ddcf8 100644 --- a/io.sc.platform.gradle/templates/pgp/app/build.gradle +++ b/io.sc.platform.gradle/templates/pgp/app/build.gradle @@ -13,6 +13,7 @@ dependencies { implementation ( project(":io.sc.platform.app"), project(":io.sc.platform.developer"), + //project(":io.sc.platform.job.manager"), ) } diff --git a/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt b/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt index 83728c3f..de40ec3f 100644 --- a/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt +++ b/io.sc.platform.gradle/templates/pgp/app/src/main/java/app/platform/Application.java.txt @@ -6,11 +6,12 @@ import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.WebApplicationInitializer; +import java.sql.Types; + /** * 应用程序入口 */ @SpringBootApplication(proxyBeanMethods = false) -@MapperScan("com.xxl.job.admin.dao") public class Application extends PlatformSpringBootServletInitializer implements WebApplicationInitializer { public static void main(String[] args) throws Exception { ApplicationLauncher.run(Application.class,args); diff --git a/io.sc.platform.gradle/templates/pgp/app/src/main/resources/public/configure.js b/io.sc.platform.gradle/templates/pgp/app/src/main/resources/public/configure.js index b4485e6f..9bc75ad4 100644 --- a/io.sc.platform.gradle/templates/pgp/app/src/main/resources/public/configure.js +++ b/io.sc.platform.gradle/templates/pgp/app/src/main/resources/public/configure.js @@ -1,7 +1,11 @@ -window.APP = {}; // 在浏览器 window 对象中新建名为 APP 的变量, 用于存放应用对象的容器 -window.APP.configure ={ // 全局配置存储容器 - webContextPath: '[(@{/})]'.startsWith('[')? '/' : '[(@{/})]', // 应用上下文路径 +// 在浏览器 window 对象中新建名为 APP 的容器变量, 用于存放平台的全局变量 +window.APP = {}; +// 全局配置 +window.APP.configure ={ + // 应用上下文路径 + webContextPath: '[(@{/})]'.startsWith('[')? '/' : '[(@{/})]', + // 默认后端 API 请求的服务地址前缀 apiContextPaths: { - DEFAULT: '[(@{/})]'.startsWith('[') ? 'http://localhost:8080/' : '[(@{/})]', // 后端 API 请求的服务地址前缀 + DEFAULT: '[(@{/})]'.startsWith('[') ? 'http://localhost:8080/' : '[(@{/})]' } -} \ No newline at end of file +}; \ No newline at end of file diff --git a/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt b/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt index 04bd9898..655059bd 100644 --- a/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt +++ b/io.sc.platform.gradle/templates/pgp/setup/build.gradle.txt @@ -371,6 +371,8 @@ subprojects { * pnpm sync *----------------------------------------------------------------*/ task frontendNpmSync(type:Exec){ + commandLine 'cd', '.' + /* if(isFrontendProject(file('.')) && !project.name.contains("io.sc.platform.security.frontend")){ workingDir '.' if(org.gradle.internal.os.OperatingSystem.current().isWindows()){ @@ -384,7 +386,7 @@ subprojects { }else{ commandLine 'cd', '.' } - } + }*/ } tasks.frontendNpmSync.doFirst { if(isFrontendProject(file('.'))) { diff --git a/io.sc.platform.gradle/templates/pgp/setup/gradle.properties b/io.sc.platform.gradle/templates/pgp/setup/gradle.properties index f0eb91cf..7a5cf595 100644 --- a/io.sc.platform.gradle/templates/pgp/setup/gradle.properties +++ b/io.sc.platform.gradle/templates/pgp/setup/gradle.properties @@ -36,9 +36,9 @@ application_version=1.0.0 # platform ########################################################### platform_group=io.sc -platform_version=8.1.13 +platform_version=8.1.19 platform_plugin_version=8.1.13 -platform_core_frontend_version=8.1.42 +platform_core_frontend_version=8.1.45 ########################################################### # dependencies version diff --git a/io.sc.platform.installer/src/main/resources/templates/io/sc/platform/installer/installer.html b/io.sc.platform.installer/src/main/resources/templates/io/sc/platform/installer/installer.html index f12e0c60..d5fdffa6 100644 --- a/io.sc.platform.installer/src/main/resources/templates/io/sc/platform/installer/installer.html +++ b/io.sc.platform.installer/src/main/resources/templates/io/sc/platform/installer/installer.html @@ -115,7 +115,7 @@ diff --git a/io.sc.platform.job.core/src/main/java/io/sc/platform/job/core/enums/ExecutorAddressType.java b/io.sc.platform.job.core/src/main/java/io/sc/platform/job/core/enums/ExecutorAddressType.java new file mode 100644 index 00000000..8ab498d1 --- /dev/null +++ b/io.sc.platform.job.core/src/main/java/io/sc/platform/job/core/enums/ExecutorAddressType.java @@ -0,0 +1,6 @@ +package io.sc.platform.job.core.enums; + +public enum ExecutorAddressType { + AUTO, // 自动注册 + MANUAL; // 手工录入 +} diff --git a/io.sc.platform.job.manager/build.gradle b/io.sc.platform.job.manager/build.gradle new file mode 100644 index 00000000..3c60acba --- /dev/null +++ b/io.sc.platform.job.manager/build.gradle @@ -0,0 +1,6 @@ +dependencies { + api( + project(":io.sc.platform.job.core"), + project(":io.sc.platform.mvc"), + ) +} diff --git a/io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/entity/JobGroupEntity.java b/io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/entity/JobGroupEntity.java new file mode 100644 index 00000000..40e010c9 --- /dev/null +++ b/io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/entity/JobGroupEntity.java @@ -0,0 +1,88 @@ +package io.sc.platform.job.manager.jpa.entity; + +import io.sc.platform.job.core.enums.ExecutorAddressType; +import io.sc.platform.orm.converter.SetStringConverter; +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; +import javax.validation.constraints.Size; +import java.util.Date; +import java.util.Set; + +public class JobGroupEntity { + //主键 + @Id + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + @Column(name="APP_NAME", length=255) + @Size(min=1,max=255) + private String appName; + + @Column(name="TITLE", length=255) + @Size(min=1,max=255) + private String title; + + @Column(name="ADDRESS_TYPE") + @Enumerated(EnumType.STRING) + private ExecutorAddressType addressType; + + @Column(name="ADDRESS_LIST") + @Convert(converter = SetStringConverter.class) + private Set addresses; + + @Column(name="UPDATE_TIME") + @Temporal(TemporalType.TIMESTAMP) + private Date updateTime; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getAppName() { + return appName; + } + + public void setAppName(String appName) { + this.appName = appName; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public ExecutorAddressType getAddressType() { + return addressType; + } + + public void setAddressType(ExecutorAddressType addressType) { + this.addressType = addressType; + } + + public Set getAddresses() { + return addresses; + } + + public void setAddresses(Set addresses) { + this.addresses = addresses; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } +} diff --git a/io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/repository/JobGroupRepository.java b/io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/repository/JobGroupRepository.java new file mode 100644 index 00000000..a90ceb6a --- /dev/null +++ b/io.sc.platform.job.manager/src/main/java/io/sc/platform/job/manager/jpa/repository/JobGroupRepository.java @@ -0,0 +1,12 @@ +package io.sc.platform.job.manager.jpa.repository; + +import io.sc.platform.job.core.enums.ExecutorAddressType; +import io.sc.platform.job.manager.jpa.entity.JobGroupEntity; +import io.sc.platform.orm.repository.DaoRepository; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +public interface JobGroupRepository extends DaoRepository { + public List findByAddressType(@Param("addressType") ExecutorAddressType addressType); +} diff --git a/io.sc.platform.job.manager/src/main/resources/META-INF/platform/plugins/liquibase.json b/io.sc.platform.job.manager/src/main/resources/META-INF/platform/plugins/liquibase.json new file mode 100644 index 00000000..ce81774f --- /dev/null +++ b/io.sc.platform.job.manager/src/main/resources/META-INF/platform/plugins/liquibase.json @@ -0,0 +1,10 @@ +[ + { + "category" : "install", + "order" : 1000, + "description":"XXL JOB 相关表", + "locations":[ + "liquibase/PF_8.0.0_20220606__Job_DDL.xml" + ] + } +] \ No newline at end of file diff --git a/io.sc.platform.job.manager/src/main/resources/liquibase/PF_8.0.0_20220606__Job_DDL.xml b/io.sc.platform.job.manager/src/main/resources/liquibase/PF_8.0.0_20220606__Job_DDL.xml new file mode 100644 index 00000000..11e6924f --- /dev/null +++ b/io.sc.platform.job.manager/src/main/resources/liquibase/PF_8.0.0_20220606__Job_DDL.xml @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/io.sc.platform.lcdp.frontend/.npmrc b/io.sc.platform.lcdp.frontend/.npmrc index 06969b7b..c1c0b295 100644 --- a/io.sc.platform.lcdp.frontend/.npmrc +++ b/io.sc.platform.lcdp.frontend/.npmrc @@ -8,4 +8,4 @@ email= # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.25afcf59-9193-3068-bcfa-faf76ceadb13 \ No newline at end of file +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10 \ No newline at end of file diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 74202ed0..ce492570 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -1,102 +1,104 @@ { - "name": "io.sc.platform.lcdp.frontend", - "version": "8.1.13", - "description": "", - "private": false, - "keywords": [], - "author": "", - "license": "ISC", - "scripts": { - "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml", - "dev": "nodemon", - "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", - "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", - "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", - "sync": "platform sync" - }, - "engines": { - "node": ">=18", - "pnpm": ">=7" - }, - "publishConfig": { - "registry": "http://nexus.sc.io:8000/repository/npm-releases/", - "access": "public" - }, - "devDependencies": { - "@babel/core": "7.23.2", - "@babel/preset-env": "7.23.2", - "@babel/preset-typescript": "7.23.2", - "@babel/plugin-transform-class-properties": "7.22.5", - "@babel/plugin-transform-object-rest-spread": "7.22.15", - "@quasar/app-webpack": "3.11.2", - "@quasar/cli": "2.3.0", - "@types/mockjs": "1.0.9", - "@types/node": "20.8.9", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@vue/compiler-sfc": "3.3.7", - "@webpack-cli/serve": "2.0.5", - "autoprefixer": "10.4.16", - "babel-loader": "9.1.3", - "clean-webpack-plugin": "4.0.0", - "copy-webpack-plugin": "11.0.0", - "cross-env": "7.0.3", - "css-loader": "6.8.1", - "eslint": "8.52.0", - "eslint-config-prettier": "9.0.0", - "eslint-plugin-prettier": "5.0.1", - "eslint-plugin-vue": "9.18.0", - "eslint-webpack-plugin": "4.0.1", - "html-webpack-plugin": "5.5.3", - "json5": "2.2.3", - "mini-css-extract-plugin": "2.7.6", - "nodemon": "3.0.1", - "postcss": "8.4.31", - "postcss-import": "15.1.0", - "postcss-loader": "7.3.3", - "postcss-preset-env": "9.2.0", - "prettier": "3.0.3", - "sass": "1.69.5", - "sass-loader": "13.3.2", - "typescript": "5.2.2", - "vue-loader": "17.3.0", - "webpack": "5.89.0", - "webpack-bundle-analyzer": "4.9.1", - "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0" - }, - "dependencies": { - "@codemirror/autocomplete": "6.11.1", - "@codemirror/commands": "6.3.2", - "@codemirror/lang-html": "6.4.7", - "@codemirror/lang-java": "6.0.1", - "@codemirror/lang-javascript": "6.2.1", - "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-sql": "6.5.4", - "@codemirror/lang-xml": "6.0.2", - "@codemirror/language": "6.9.3", - "@codemirror/search": "6.5.5", - "@codemirror/state": "6.3.3", - "@codemirror/view": "6.22.1", - "@quasar/extras": "1.16.7", - "@vueuse/core": "10.3.0", - "axios": "1.5.1", - "codemirror": "6.0.1", - "dayjs": "1.11.10", - "echarts": "5.4.1", - "exceljs": "4.3.0", - "file-saver": "2.0.5", - "luckyexcel": "1.0.1", - "mockjs": "1.1.0", - "pinia": "2.1.7", - "platform-core": "8.1.42", - "quasar": "2.13.0", - "tailwindcss": "3.3.5", - "vue": "3.3.7", - "vue-dompurify-html": "4.1.4", - "vue-i18n": "9.6.0", - "vue-router": "4.2.5", - "vue-codemirror6": "1.1.31" - } + "name": "io.sc.platform.lcdp.frontend", + "version": "8.1.19", + "description": "", + "private": false, + "keywords": [ + + ], + "author": "", + "license": "ISC", + "scripts": { + "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml", + "dev": "nodemon", + "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", + "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", + "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", + "sync": "platform sync" + }, + "engines": { + "node": ">=18", + "pnpm": ">=7" + }, + "publishConfig": { + "registry": "http://nexus.sc.io:8000/repository/npm-releases/", + "access": "public" + }, + "devDependencies": { + "@babel/core": "7.23.2", + "@babel/preset-env": "7.23.2", + "@babel/preset-typescript": "7.23.2", + "@babel/plugin-transform-class-properties": "7.22.5", + "@babel/plugin-transform-object-rest-spread": "7.22.15", + "@quasar/app-webpack": "3.11.2", + "@quasar/cli": "2.3.0", + "@types/mockjs": "1.0.9", + "@types/node": "20.8.9", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", + "@vue/compiler-sfc": "3.3.7", + "@webpack-cli/serve": "2.0.5", + "autoprefixer": "10.4.16", + "babel-loader": "9.1.3", + "clean-webpack-plugin": "4.0.0", + "copy-webpack-plugin": "11.0.0", + "cross-env": "7.0.3", + "css-loader": "6.8.1", + "eslint": "8.52.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.1", + "eslint-plugin-vue": "9.18.0", + "eslint-webpack-plugin": "4.0.1", + "html-webpack-plugin": "5.5.3", + "json5": "2.2.3", + "mini-css-extract-plugin": "2.7.6", + "nodemon": "3.0.1", + "postcss": "8.4.31", + "postcss-import": "15.1.0", + "postcss-loader": "7.3.3", + "postcss-preset-env": "9.2.0", + "prettier": "3.0.3", + "sass": "1.69.5", + "sass-loader": "13.3.2", + "typescript": "5.2.2", + "vue-loader": "17.3.0", + "webpack": "5.89.0", + "webpack-bundle-analyzer": "4.9.1", + "webpack-cli": "5.1.4", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.10.0" + }, + "dependencies": { + "@codemirror/autocomplete": "6.11.1", + "@codemirror/commands": "6.3.2", + "@codemirror/lang-html": "6.4.7", + "@codemirror/lang-java": "6.0.1", + "@codemirror/lang-javascript": "6.2.1", + "@codemirror/lang-json": "6.0.1", + "@codemirror/lang-sql": "6.5.4", + "@codemirror/lang-xml": "6.0.2", + "@codemirror/language": "6.9.3", + "@codemirror/search": "6.5.5", + "@codemirror/state": "6.3.3", + "@codemirror/view": "6.22.1", + "@quasar/extras": "1.16.7", + "@vueuse/core": "10.3.0", + "axios": "1.5.1", + "codemirror": "6.0.1", + "dayjs": "1.11.10", + "echarts": "5.4.1", + "exceljs": "4.3.0", + "file-saver": "2.0.5", + "luckyexcel": "1.0.1", + "mockjs": "1.1.0", + "pinia": "2.1.7", + "platform-core": "8.1.45", + "quasar": "2.13.0", + "tailwindcss": "3.3.5", + "vue": "3.3.7", + "vue-dompurify-html": "4.1.4", + "vue-i18n": "9.6.0", + "vue-router": "4.2.5", + "vue-codemirror6": "1.1.31" + } } \ No newline at end of file diff --git a/io.sc.platform.lcdp.frontend/webpack.config.common.cjs b/io.sc.platform.lcdp.frontend/webpack.config.common.cjs index 25aee0c0..ad3bd5fd 100644 --- a/io.sc.platform.lcdp.frontend/webpack.config.common.cjs +++ b/io.sc.platform.lcdp.frontend/webpack.config.common.cjs @@ -133,6 +133,15 @@ module.exports = { ] }), + new CopyWebpackPlugin({ + patterns: [ + { + from: `public/${projectName}`, + toType: 'dir', + } + ] + }), + // vue loader 插件 new VueLoaderPlugin(), diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Configure.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Configure.java index b5fee3ed..bfa563ff 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Configure.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/Configure.java @@ -1,6 +1,8 @@ package io.sc.platform.lcdp.configure.api; -public class Configure { +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +public class Configure extends CorporationAuditorVo { private Setting setting =new Setting(); private Theme theme =new Theme(); diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/ConfigureVo.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/ConfigureVo.java new file mode 100644 index 00000000..f0624cf9 --- /dev/null +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/api/ConfigureVo.java @@ -0,0 +1,51 @@ +package io.sc.platform.lcdp.configure.api; + +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +public class ConfigureVo extends CorporationAuditorVo { + private String id; + private String name; + private Boolean active; + private Setting setting; + private Theme theme; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Boolean getActive() { + return active; + } + + public void setActive(Boolean active) { + this.active = active; + } + + public Setting getSetting() { + return setting; + } + + public void setSetting(Setting setting) { + this.setting = setting; + } + + public Theme getTheme() { + return theme; + } + + public void setTheme(Theme theme) { + this.theme = theme; + } +} diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureController.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureController.java index 6a76403d..7c158939 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureController.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureController.java @@ -1,6 +1,7 @@ package io.sc.platform.lcdp.configure.controller; import io.sc.platform.lcdp.configure.api.Configure; +import io.sc.platform.lcdp.configure.api.ConfigureVo; import io.sc.platform.lcdp.configure.jpa.entity.ConfigureEntity; import io.sc.platform.lcdp.configure.jpa.repository.ConfigureRepository; import io.sc.platform.lcdp.configure.service.ConfigureService; @@ -9,7 +10,7 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/lcdp/configure") -public class ConfigureController extends RestCrudController { +public class ConfigureController extends RestCrudController { @GetMapping("getActiveConfigure") public Configure getActiveConfigure(){ return service.getActiveConfigure(); diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureJsController.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureJsController.java index 9c5dfb64..723fac1c 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureJsController.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/controller/ConfigureJsController.java @@ -10,7 +10,6 @@ public class ConfigureJsController { @RequestMapping("/configure.js") public String configureJs(){ - System.out.println(">>>>>"); return "configure.js"; } } diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/initializer/ConfigureInitializer.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/initializer/ConfigureInitializer.java index d1faade5..a88b68b9 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/initializer/ConfigureInitializer.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/initializer/ConfigureInitializer.java @@ -12,6 +12,11 @@ public class ConfigureInitializer implements ApplicationInitializer { private Boolean isInitialized =null; private ConfigureService configureService; + @Override + public int getOrder() { + return 2000; + } + @Override public void init(ApplicationContext applicationContext) { this.configureService =applicationContext.getBean(ConfigureService.class); @@ -37,6 +42,7 @@ public class ConfigureInitializer implements ApplicationInitializer { entity.setActive(true); entity.setSetting(new Setting()); entity.setTheme(new Theme()); + entity.setCorporationCode("_PRIMARY_"); configureService.getRepository().save(entity); } } diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/jpa/entity/ConfigureEntity.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/jpa/entity/ConfigureEntity.java index 8af01a16..7bd87f71 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/jpa/entity/ConfigureEntity.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/jpa/entity/ConfigureEntity.java @@ -1,5 +1,7 @@ package io.sc.platform.lcdp.configure.jpa.entity; +import io.sc.platform.lcdp.configure.api.Configure; +import io.sc.platform.lcdp.configure.api.ConfigureVo; import io.sc.platform.lcdp.configure.api.Setting; import io.sc.platform.lcdp.configure.api.Theme; import io.sc.platform.lcdp.configure.jpa.converter.SettingStringConverter; @@ -16,7 +18,7 @@ import javax.validation.constraints.Size; */ @Entity @Table(name="LCDP_CONFIGURE") -public class ConfigureEntity extends CorporationAuditorEntity { +public class ConfigureEntity extends CorporationAuditorEntity { //主键 @Id @GeneratedValue(generator = "system-uuid") @@ -48,6 +50,19 @@ public class ConfigureEntity extends CorporationAuditorEntity { this.id =id; } + + @Override + public ConfigureVo toVo() { + ConfigureVo vo =new ConfigureVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setName(this.getName()); + vo.setActive(this.getActive()); + vo.setSetting(this.getSetting()); + vo.setTheme(this.getTheme()); + return vo; + } + /** * 获取ID * @return ID diff --git a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java index 313c07fa..fcec8461 100644 --- a/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java +++ b/io.sc.platform.lcdp/src/main/java/io/sc/platform/lcdp/configure/service/impl/ConfigureServiceImpl.java @@ -26,7 +26,12 @@ public class ConfigureServiceImpl extends DaoServiceImpl - + - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/io.sc.platform.mvc.frontend/.npmrc b/io.sc.platform.mvc.frontend/.npmrc index 06969b7b..c1c0b295 100644 --- a/io.sc.platform.mvc.frontend/.npmrc +++ b/io.sc.platform.mvc.frontend/.npmrc @@ -8,4 +8,4 @@ email= # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.25afcf59-9193-3068-bcfa-faf76ceadb13 \ No newline at end of file +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10 \ No newline at end of file diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index c42184ab..90ca8a96 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -1,102 +1,104 @@ { - "name": "io.sc.platform.mvc.frontend", - "version": "8.1.13", - "description": "", - "private": false, - "keywords": [], - "author": "", - "license": "ISC", - "scripts": { - "dev": "nodemon", - "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", - "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", - "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", - "sync": "platform sync", - "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml" - }, - "engines": { - "node": ">=18", - "pnpm": ">=7" - }, - "publishConfig": { - "registry": "http://nexus.sc.io:8000/repository/npm-releases/", - "access": "public" - }, - "devDependencies": { - "@babel/core": "7.23.2", - "@babel/preset-env": "7.23.2", - "@babel/preset-typescript": "7.23.2", - "@babel/plugin-transform-class-properties": "7.22.5", - "@babel/plugin-transform-object-rest-spread": "7.22.15", - "@quasar/app-webpack": "3.11.2", - "@quasar/cli": "2.3.0", - "@types/mockjs": "1.0.9", - "@types/node": "20.8.9", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@vue/compiler-sfc": "3.3.7", - "@webpack-cli/serve": "2.0.5", - "autoprefixer": "10.4.16", - "babel-loader": "9.1.3", - "clean-webpack-plugin": "4.0.0", - "copy-webpack-plugin": "11.0.0", - "cross-env": "7.0.3", - "css-loader": "6.8.1", - "eslint": "8.52.0", - "eslint-config-prettier": "9.0.0", - "eslint-plugin-prettier": "5.0.1", - "eslint-plugin-vue": "9.18.0", - "eslint-webpack-plugin": "4.0.1", - "html-webpack-plugin": "5.5.3", - "json5": "2.2.3", - "mini-css-extract-plugin": "2.7.6", - "nodemon": "3.0.1", - "postcss": "8.4.31", - "postcss-import": "15.1.0", - "postcss-loader": "7.3.3", - "postcss-preset-env": "9.2.0", - "prettier": "3.0.3", - "sass": "1.69.5", - "sass-loader": "13.3.2", - "typescript": "5.2.2", - "vue-loader": "17.3.0", - "webpack": "5.89.0", - "webpack-bundle-analyzer": "4.9.1", - "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0" - }, - "dependencies": { - "@quasar/extras": "1.16.7", - "@vueuse/core": "10.3.0", - "axios": "1.5.1", - "dayjs": "1.11.10", - "echarts": "5.4.1", - "exceljs": "4.3.0", - "file-saver": "2.0.5", - "luckyexcel": "1.0.1", - "mockjs": "1.1.0", - "pinia": "2.1.7", - "platform-core": "8.1.42", - "quasar": "2.13.0", - "tailwindcss": "3.3.5", - "vue": "3.3.7", - "vue-dompurify-html": "4.1.4", - "vue-i18n": "9.6.0", - "vue-router": "4.2.5", - "@codemirror/autocomplete": "6.11.1", - "@codemirror/commands": "6.3.2", - "@codemirror/lang-html": "6.4.7", - "@codemirror/lang-java": "6.0.1", - "@codemirror/lang-javascript": "6.2.1", - "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-sql": "6.5.4", - "@codemirror/lang-xml": "6.0.2", - "@codemirror/language": "6.9.3", - "@codemirror/search": "6.5.5", - "@codemirror/state": "6.3.3", - "@codemirror/view": "6.22.1", - "codemirror": "6.0.1", - "vue-codemirror6": "1.1.31" - } + "name": "io.sc.platform.mvc.frontend", + "version": "8.1.19", + "description": "", + "private": false, + "keywords": [ + + ], + "author": "", + "license": "ISC", + "scripts": { + "dev": "nodemon", + "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", + "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", + "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", + "sync": "platform sync", + "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml" + }, + "engines": { + "node": ">=18", + "pnpm": ">=7" + }, + "publishConfig": { + "registry": "http://nexus.sc.io:8000/repository/npm-releases/", + "access": "public" + }, + "devDependencies": { + "@babel/core": "7.23.2", + "@babel/preset-env": "7.23.2", + "@babel/preset-typescript": "7.23.2", + "@babel/plugin-transform-class-properties": "7.22.5", + "@babel/plugin-transform-object-rest-spread": "7.22.15", + "@quasar/app-webpack": "3.11.2", + "@quasar/cli": "2.3.0", + "@types/mockjs": "1.0.9", + "@types/node": "20.8.9", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", + "@vue/compiler-sfc": "3.3.7", + "@webpack-cli/serve": "2.0.5", + "autoprefixer": "10.4.16", + "babel-loader": "9.1.3", + "clean-webpack-plugin": "4.0.0", + "copy-webpack-plugin": "11.0.0", + "cross-env": "7.0.3", + "css-loader": "6.8.1", + "eslint": "8.52.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.1", + "eslint-plugin-vue": "9.18.0", + "eslint-webpack-plugin": "4.0.1", + "html-webpack-plugin": "5.5.3", + "json5": "2.2.3", + "mini-css-extract-plugin": "2.7.6", + "nodemon": "3.0.1", + "postcss": "8.4.31", + "postcss-import": "15.1.0", + "postcss-loader": "7.3.3", + "postcss-preset-env": "9.2.0", + "prettier": "3.0.3", + "sass": "1.69.5", + "sass-loader": "13.3.2", + "typescript": "5.2.2", + "vue-loader": "17.3.0", + "webpack": "5.89.0", + "webpack-bundle-analyzer": "4.9.1", + "webpack-cli": "5.1.4", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.10.0" + }, + "dependencies": { + "@quasar/extras": "1.16.7", + "@vueuse/core": "10.3.0", + "axios": "1.5.1", + "dayjs": "1.11.10", + "echarts": "5.4.1", + "exceljs": "4.3.0", + "file-saver": "2.0.5", + "luckyexcel": "1.0.1", + "mockjs": "1.1.0", + "pinia": "2.1.7", + "platform-core": "8.1.45", + "quasar": "2.13.0", + "tailwindcss": "3.3.5", + "vue": "3.3.7", + "vue-dompurify-html": "4.1.4", + "vue-i18n": "9.6.0", + "vue-router": "4.2.5", + "@codemirror/autocomplete": "6.11.1", + "@codemirror/commands": "6.3.2", + "@codemirror/lang-html": "6.4.7", + "@codemirror/lang-java": "6.0.1", + "@codemirror/lang-javascript": "6.2.1", + "@codemirror/lang-json": "6.0.1", + "@codemirror/lang-sql": "6.5.4", + "@codemirror/lang-xml": "6.0.2", + "@codemirror/language": "6.9.3", + "@codemirror/search": "6.5.5", + "@codemirror/state": "6.3.3", + "@codemirror/view": "6.22.1", + "codemirror": "6.0.1", + "vue-codemirror6": "1.1.31" + } } \ No newline at end of file diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/autoconfigure/support/AuditLogAspectorBean.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/autoconfigure/support/AuditLogAspectorBean.java index 9436ed8e..98284861 100644 --- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/autoconfigure/support/AuditLogAspectorBean.java +++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/autoconfigure/support/AuditLogAspectorBean.java @@ -6,6 +6,7 @@ import io.sc.platform.core.audit.AuditLogStatus; import io.sc.platform.core.response.ValidationError; import io.sc.platform.core.service.AuditLogPersistenter; import io.sc.platform.core.service.AuditLogPersistenterManager; +import io.sc.platform.core.util.IpUtil; import io.sc.platform.orm.entity.AuditorEntity; import io.sc.platform.orm.service.support.QueryParameter; import org.apache.commons.lang3.exception.ExceptionUtils; @@ -50,19 +51,19 @@ public class AuditLogAspectorBean { @Around("auditLogPointCut()") public Object around(ProceedingJoinPoint joinPoint) throws Throwable{ + //获取审计日志持久化器 AuditLogPersistenter auditLogPersister = manager.getAuditLogPersister(); if(auditLogPersister!=null) { - AuditLog entity =buildAuditLogEntity(joinPoint,null); + // 构建审计日志对象 + AuditLog entity =buildAuditLog(joinPoint,null); entity.setStartDate(new Date()); - long beginTime = System.currentTimeMillis(); Object result = joinPoint.proceed(); long executeTime = System.currentTimeMillis() - beginTime; - + // 设置执行时间 entity.setExecuteTime(executeTime); - + // 持久化审计日志对象 auditLogPersister.log(entity); - return result; }else { return joinPoint.proceed(); @@ -73,13 +74,13 @@ public class AuditLogAspectorBean { public void exception(JoinPoint joinPoint,Throwable e) throws Throwable{ AuditLogPersistenter auditLogPersister = manager.getAuditLogPersister(); if(auditLogPersister!=null) { - AuditLog entity =buildAuditLogEntity(joinPoint,e); + AuditLog entity =buildAuditLog(joinPoint,e); entity.setStartDate(new Date()); auditLogPersister.log(entity); } } - private AuditLog buildAuditLogEntity(JoinPoint joinPoint,Throwable e) throws Exception{ + private AuditLog buildAuditLog(JoinPoint joinPoint,Throwable e) throws Exception{ //类名和方法名 String className = joinPoint.getTarget().getClass().getName(); MethodSignature signature = (MethodSignature) joinPoint.getSignature(); @@ -94,45 +95,45 @@ public class AuditLogAspectorBean { BindingResult bindingResult =getBindingResult(args); //构建审计日志实体类 - AuditLog entity =new AuditLog(); - entity.setClassName(className); - entity.setMethodName(methodName); - entity.setHttpMethod(httpServletRequest.getMethod()); - entity.setStatus(AuditLogStatus.SUCCESS.getValue()); + AuditLog auditLog =new AuditLog(); + + auditLog.setClassName(className); + auditLog.setMethodName(methodName); + auditLog.setHttpMethod(httpServletRequest.getMethod()); + auditLog.setStatus(AuditLogStatus.SUCCESS.getValue()); //如果参数验证未通过 List validateErrors =validationError(bindingResult); if(validateErrors!=null && !validateErrors.isEmpty()) { - entity.setStatus(AuditLogStatus.FAILED.getValue()); + auditLog.setStatus(AuditLogStatus.FAILED.getValue()); } if(httpServletRequest!=null) { - entity.setUrl(httpServletRequest.getRequestURL().toString()); - //entity.setLoginName(httpServletRequest.getRemoteUser()); - //entity.setLoginName(SecurityUtil.getLoginName()); - //entity.setIp(IpUtil.getRemoteAddressFullStringWithIpTypeHeader(httpServletRequest)); + auditLog.setUrl(httpServletRequest.getRequestURL().toString()); + auditLog.setLoginName(httpServletRequest.getRemoteUser()); + auditLog.setIp(IpUtil.getRemoteAddress(httpServletRequest)); //审计日志注解 - io.sc.platform.core.annotation.AuditLog auditLog = method.getAnnotation(io.sc.platform.core.annotation.AuditLog.class); - String key =auditLog.value(); + io.sc.platform.core.annotation.AuditLog annotation = method.getAnnotation(io.sc.platform.core.annotation.AuditLog.class); + String key =annotation.value(); String action =messageSource.getMessage(key, null, key, httpServletRequest.getLocale()); - entity.setAction(action); + auditLog.setAction(action); } if(auditorEntity!=null) { - entity.setOldValue(objectMapper.writeValueAsString(auditorEntity)); + auditLog.setOldValue(objectMapper.writeValueAsString(auditorEntity.desensitize())); } if(queryParameter!=null) { - entity.setNewValue(objectMapper.writeValueAsString(queryParameter)); + auditLog.setNewValue(objectMapper.writeValueAsString(queryParameter)); } if(e!=null) { - entity.setStatus(AuditLogStatus.FAILED.getValue()); - entity.setException(e.getClass().getName()); - entity.setExceptionMessage(e.getMessage()); - entity.setExceptionStackTrace(ExceptionUtils.getStackTrace(e)); + auditLog.setStatus(AuditLogStatus.FAILED.getValue()); + auditLog.setException(e.getClass().getName()); + auditLog.setExceptionMessage(e.getMessage()); + auditLog.setExceptionStackTrace(ExceptionUtils.getStackTrace(e)); } - return entity; + return auditLog; } private HttpServletRequest getHttpServletRequest(Object[] args) { diff --git a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java index 6c53619f..65b036b6 100644 --- a/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java +++ b/io.sc.platform.mvc/src/main/java/io/sc/platform/mvc/controller/support/RestCrudController.java @@ -4,11 +4,15 @@ import io.sc.platform.core.annotation.AuditLog; import io.sc.platform.core.audit.AuditLogAction; import io.sc.platform.core.response.ValidateException; import io.sc.platform.core.response.ValidationError; +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.entity.BaseEntity; import io.sc.platform.orm.repository.DaoRepository; import io.sc.platform.orm.service.DaoService; import io.sc.platform.orm.service.support.QueryParameter; +import io.sc.platform.orm.service.support.QueryResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.web.bind.annotation.*; @@ -20,9 +24,122 @@ import java.io.Serializable; import java.util.ArrayList; import java.util.List; -public abstract class RestCrudController,S extends DaoService> { +public abstract class RestCrudController, ID extends Serializable, R extends DaoRepository, S extends DaoService> { @Autowired protected S service; + @AuditLog(AuditLogAction.ADD) + @PostMapping("") + @ResponseBody + public V _add(HttpServletRequest request,HttpServletResponse response,@RequestBody @Valid E entity,BindingResult bindingResult) throws Exception{ + ValidateException result =validationError(bindingResult); + if(result!=null){ + throw result; + } + return add(request,response,entity); + } + + protected V add(HttpServletRequest request,HttpServletResponse response,@RequestBody @Valid E entity) throws Exception{ + E addedEntity =service.add(entity); + if(addedEntity instanceof BaseEntity){ + return ((BaseEntity)addedEntity).toVo(); + } + return null; + } + + @AuditLog(AuditLogAction.REMOVE) + @DeleteMapping("{id}") + @ResponseBody + public ID _remove(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id) throws Exception{ + return remove(request,response,id); + } + + protected ID remove(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id) throws Exception{ + return service.remove(id); + } + + @AuditLog(AuditLogAction.UPDATE) + @PutMapping("{id}") + @ResponseBody + public V _update(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id,@RequestBody @Valid E entity,BindingResult bindingResult) throws Exception{ + ValidateException result =validationError(bindingResult); + if(result!=null){ + throw result; + } + return update(request,response,id,entity); + } + + protected V update(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id,@RequestBody @Valid E entity) throws Exception{ + E updatedEntity =service.update(id,entity); + if(updatedEntity instanceof BaseEntity){ + return ((BaseEntity)updatedEntity).toVo(); + } + return null; + } + + @AuditLog(AuditLogAction.FIND_ONE) + @GetMapping("{id}") + @ResponseBody + public V _findById(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id) throws Exception{ + return findById(request,response,id); + } + + protected V findById(HttpServletRequest request,HttpServletResponse response,@PathVariable(name="id")ID id) throws Exception{ + E foundEntity =service.findById(id); + if(foundEntity instanceof BaseEntity){ + return ((BaseEntity)foundEntity).toVo(); + } + return null; + } + + @AuditLog(AuditLogAction.QUERY) + @GetMapping("") + @ResponseBody + public Page _query(HttpServletRequest request,HttpServletResponse response,QueryParameter queryParameter) throws Exception{ + return query(request,response,queryParameter); + } + + protected Page query(HttpServletRequest request,HttpServletResponse response,QueryParameter queryParameter) throws Exception{ + Page page =service.query(queryParameter); + if(page==null){ + return QueryResult.emptyPage(); + } + List entities =page.getContent(); + List vos =new ArrayList<>(entities.size()); + for(E entity : entities){ + if(entity instanceof BaseEntity){ + vos.add(((BaseEntity)entity).toVo()); + } + } + return new PageImpl<>(vos,page.getPageable(),page.getTotalElements()); + } + + private ValidateException validationError(BindingResult bindingResult) { + if(bindingResult==null || !bindingResult.hasErrors()){ + return null; + } + + List errors =bindingResult.getFieldErrors(); + if(errors==null || errors.size()==0){ + return null; + } + + List errorList =new ArrayList(); + for(FieldError error : errors){ + errorList.add(new ValidationError(getFieldName(error.getField()),error.getDefaultMessage())); + } + return new ValidateException(errorList); + } + + private String getFieldName(String field){ + int index =field.lastIndexOf("."); + if(index>-1){ + return field.substring(index+1); + }else{ + return field; + } + } + + /* @AuditLog(AuditLogAction.ADD) @PostMapping("") @ResponseBody @@ -37,6 +154,7 @@ public abstract class RestCrudController { + public V toVo(E entity); + public E fromVo(V vo); + + /** + * 脱敏实体对象 + * @param entity 实体对象 + * @return Vo对象 + */ + public default V desensitize(E entity){ + return toVo(entity); + } + public default void detach(DaoRepository repository, E entity){ if(entity!=null) { repository.getEntityManager().detach(entity); } } + public default void detach(DaoRepository repository, List entities){ if(entities!=null && !entities.isEmpty()) { for(E entity : entities) { @@ -25,8 +38,6 @@ public interface EntityVoConverter { } } - public V toVo(E entity); - public E fromVo(V vo); public default List toVo(List entities){ if(entities==null || entities.isEmpty()){ return Collections.emptyList(); diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/EncoderStringConverter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/EncoderStringConverter.java new file mode 100644 index 00000000..19915a5b --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/converter/EncoderStringConverter.java @@ -0,0 +1,17 @@ +package io.sc.platform.orm.converter; + +import io.sc.platform.core.util.StringEncryptorUtil; + +import javax.persistence.AttributeConverter; + +public class EncoderStringConverter implements AttributeConverter { + @Override + public String convertToDatabaseColumn(String attribute) { + return StringEncryptorUtil.encrypt(attribute); + } + + @Override + public String convertToEntityAttribute(String dbData) { + return StringEncryptorUtil.decrypt(dbData); + } +} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java index b5ac2115..87fd96f4 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/AuditorEntity.java @@ -1,7 +1,12 @@ package io.sc.platform.orm.entity; +import antlr.Version; import com.fasterxml.jackson.annotation.JsonProperty; import io.sc.platform.orm.api.enums.DataComeFrom; +import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; +import io.sc.platform.orm.api.vo.VersionVo; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; @@ -17,7 +22,7 @@ import java.util.Date; */ @EntityListeners(AuditingEntityListener.class) @MappedSuperclass -public abstract class AuditorEntity extends BaseEntity { +public abstract class AuditorEntity extends VersionEntity { // 数据来源 @Column(name="DATA_COME_FROM_",length=10) @Enumerated(EnumType.STRING) @@ -50,6 +55,17 @@ public abstract class AuditorEntity extends BaseEntity { @JsonProperty(index = 1005) protected Date lastModifyDate; + public static void toVo(AuditorVo vo, AuditorEntity entity){ + if(vo!=null && entity!=null) { + VersionEntity.toVo(vo,entity); + vo.setDataComeFrom(entity.getDataComeFrom()); + vo.setCreator(entity.getCreator()); + vo.setCreateDate(entity.getCreateDate()); + vo.setLastModifier(entity.getLastModifier()); + vo.setLastModifyDate(entity.getLastModifyDate()); + } + } + /** * 获取数据来源 * @return 数据来源 diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/BaseEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/BaseEntity.java index 05584cf7..066b9118 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/BaseEntity.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/BaseEntity.java @@ -1,7 +1,20 @@ package io.sc.platform.orm.entity; +import io.sc.platform.orm.api.vo.BaseVo; + import java.io.Serializable; -public abstract class BaseEntity implements Serializable { +/** + * 基本实体抽象类 + */ +public abstract class BaseEntity implements Serializable { + public abstract V toVo(); + + public V desensitize(){ + return toVo(); + } + + public static void toVo(BaseVo vo,BaseEntity entity){ + } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/CorporationAuditorEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/CorporationAuditorEntity.java index 322daf0a..f14b5743 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/CorporationAuditorEntity.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/CorporationAuditorEntity.java @@ -1,5 +1,9 @@ package io.sc.platform.orm.entity; +import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + import javax.persistence.Column; import javax.persistence.MappedSuperclass; @@ -7,10 +11,17 @@ import javax.persistence.MappedSuperclass; * 多法人审计实体类 */ @MappedSuperclass -public abstract class CorporationAuditorEntity extends AuditorEntity{ +public abstract class CorporationAuditorEntity extends AuditorEntity{ //法人代码 - @Column(name="CORP_CODE_") - protected String corporationCode; + @Column(name="CORP_CODE_",length=36) + protected String corporationCode ="_PRIMARY_"; + + public static void toVo(CorporationAuditorVo vo, CorporationAuditorEntity entity){ + if(vo!=null && entity!=null) { + AuditorEntity.toVo(vo,entity); + vo.setCorporationCode(entity.getCorporationCode()); + } + } /** * 获取法人代码 diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java new file mode 100644 index 00000000..5d5a89cd --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/EntityVoConverter.java @@ -0,0 +1,13 @@ +package io.sc.platform.orm.entity; + +public class EntityVoConverter implements io.sc.platform.orm.EntityVoConverter { + @Override + public Object toVo(Object entity) { + return null; + } + + @Override + public Object fromVo(Object vo) { + return null; + } +} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java new file mode 100644 index 00000000..b8f3fa91 --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/entity/VersionEntity.java @@ -0,0 +1,34 @@ +package io.sc.platform.orm.entity; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.api.vo.VersionVo; + +import javax.persistence.Column; +import javax.persistence.Version; + +/** + * 版本化实体类,可实现乐观锁 + */ +public abstract class VersionEntity extends BaseEntity{ + @Version + @Column(name="JPA_VERSION_") + protected int jpaVersion; + + public static void toVo(VersionVo vo,VersionEntity entity){ + if(vo!=null && entity!=null) { + BaseEntity.toVo(vo,entity); + vo.setJpaVersion(entity.getJpaVersion()); + } + } + + public int getJpaVersion() { + return jpaVersion; + } + + public void setJpaVersion(int jpaVersion) { + this.jpaVersion = jpaVersion; + } +} diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java index af5f77c4..faa34eb9 100644 --- a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/service/support/QueryResult.java @@ -2,7 +2,6 @@ package io.sc.platform.orm.service.support; import org.springframework.data.domain.Page; import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.PageRequest; import java.util.Collections; import java.util.List; @@ -10,6 +9,13 @@ import java.util.List; public class QueryResult { private QueryResult(){} + public static List emptyList(){ + return Collections.emptyList(); + } + public static Page emptyPage(){ + return new PageImpl(Collections.emptyList()); + } + public static Page page(List list){ if(list!=null && !list.isEmpty()) { return new PageImpl(list); @@ -17,12 +23,4 @@ public class QueryResult { return new PageImpl(Collections.emptyList()); } } - - public static Page emptyPage(){ - return new PageImpl(Collections.emptyList()); - } - - public static List emptyList(){ - return Collections.emptyList(); - } } diff --git a/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java new file mode 100644 index 00000000..14139f26 --- /dev/null +++ b/io.sc.platform.orm/src/main/java/io/sc/platform/orm/util/EntityVoConvertor.java @@ -0,0 +1,54 @@ +package io.sc.platform.orm.util; + +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.entity.BaseEntity; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * 实体和值对象转换器 + */ +public class EntityVoConvertor { + /** + * 将实体分页对象转换成值分页对象 + * @param page 实体分页对象 + * @return 值分页对象 + * @param 实体类型 + * @param 值类型 + */ + public static Page toVo(Page page){ + if(page!=null && !page.getContent().isEmpty()) { + List entities =page.getContent(); + List list =new ArrayList<>(entities.size()); + for(E entity : entities){ + list.add((V)entity.toVo()); + } + return new PageImpl(list); + }else{ + return new PageImpl(Collections.emptyList()); + } + } + + /** + * 将实体列表转换成值列表 + * @param entities 实体列表 + * @return 值列表 + * @param 实体类型 + * @param 值类型 + */ + public static List toVo(List entities){ + if(entities!=null && !entities.isEmpty()) { + List list =new ArrayList<>(entities.size()); + for(E entity : entities){ + list.add((V)entity.toVo()); + } + return list; + }else{ + return Collections.emptyList(); + } + } +} diff --git a/io.sc.platform.security.frontend/package.json b/io.sc.platform.security.frontend/package.json index 65a62444..f47fa4d8 100644 --- a/io.sc.platform.security.frontend/package.json +++ b/io.sc.platform.security.frontend/package.json @@ -1,6 +1,6 @@ { "name": "io.sc.platform.security.frontend", - "version": "8.1.13", + "version": "8.1.19", "description": "", "private": false, "keywords": [ @@ -79,7 +79,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.42", + "platform-core": "8.1.45", "quasar": "2.13.0", "tailwindcss": "3.3.5", "vue": "3.3.7", diff --git a/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/CorporationInitializer.java b/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/CorporationInitializer.java index e10c3c6b..940987e5 100644 --- a/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/CorporationInitializer.java +++ b/io.sc.platform.security/src/main/java/io/sc/platform/security/initializer/CorporationInitializer.java @@ -10,26 +10,14 @@ import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationContext; import org.springframework.jdbc.core.JdbcTemplate; +import java.util.Date; +import java.util.UUID; + public class CorporationInitializer implements ApplicationInitializer { private static final Logger log =LoggerFactory.getLogger(CorporationInitializer.class); private Boolean isInitialized =null; private JdbcTemplate jdbcTemplate; - - @Override - public String getId() { - return this.getClass().getName(); - } - - @Override - public String getName() { - return "Corporation Initializer"; - } - - @Override - public String getDescription() { - return "Initialize root Corporation"; - } @Override public int getOrder() { @@ -46,7 +34,7 @@ public class CorporationInitializer implements ApplicationInitializer { if(isInitialized!=null) { return isInitialized; } - + try { Corporation corporation =findRootCorporation(); if(corporation==null) { @@ -62,27 +50,75 @@ public class CorporationInitializer implements ApplicationInitializer { @Override public void execute() throws ApplicationInitializerExecuteException { - Corporation corporation =findRootCorporation(); - if(corporation==null) { - insertRootCorporation(); - } - } - - private Corporation findRootCorporation(){ - return jdbcTemplate.query("select * from SYS_CORPORATION where CODE_='_ROOT_'", Corporation.getResultSetExtractor()); - } - - private void insertRootCorporation(){ + String[] childNames =new String[]{ + "上海崇明沪农商村镇银行", + "北京房山沪农商村镇银行", + "深圳光明沪农商村镇银行", + "济南槐荫沪农商村镇银行", + "济南长清沪农商村镇银行", + "聊城沪农商村镇银行", + "茌平沪农商村镇银行", + "阳谷沪农商村镇银行", + "临清沪农商村镇银行", + "泰安沪农商村镇银行", + "宁阳沪农商村镇银行", + "东平沪农商村镇银行", + "日照沪农商村镇银行", + "长沙星沙沪农商村镇银行", + "宁乡沪农商村镇银行", + "醴陵沪农商村镇银行", + "双峰沪农商村镇银行", + "涟源沪农商村镇银行", + "衡阳县沪农商村镇银行", + "桂阳沪农商村镇银行", + "永兴沪农商村镇银行", + "澧县沪农商村镇银行", + "临澧沪农商村镇银行", + "石门沪农商村镇银行", + "慈利沪农商村镇银行", + "昆明官渡沪农商村镇银行", + "嵩明沪农商村镇银行", + "蒙自沪农商村镇银行", + "弥勒沪农商村镇银行", + "开远沪农商村镇银行", + "个旧沪农商村镇银行", + "保山隆阳沪农商村镇银行", + "瑞丽沪农商村镇银行", + "建水沪农商村镇银行", + "临沧临翔沪农商村镇银行", + }; SqlBuilder.getInsertIntoSqlBuilder() - .table("SYS_CORPORATION") - .field("CODE_","_ROOT_") - .field("NAME_","_ROOT_") - .field("DESCRIPTION_","根法人") + .table("SYS_CORPORATION") + .field("ID_","_PRIMARY_") + .field("CODE_","_PRIMARY_") + .field("NAME_","沪衣商村镇银行") + .field("DESCRIPTION_","") .field("ENABLE_",1) + .field("PARENT_ID_",null) .field("CREATOR_","platform") .field("CREATE_DATE_", DateUtil.sqlDate()) .field("LAST_MODIFIER_","platform") .field("LAST_MODIFYDATE_",DateUtil.sqlDate()) - .insert(jdbcTemplate); + .insert(jdbcTemplate); + + for(int i=0;i userExtractor =User.getResultSetExtractor(); private static final String userUpdateRole ="update SYS_USER set DEFAULT_ROLE_ID_=? where ID_=?"; private static final String userUpdateOrg ="update SYS_USER set DEFAULT_ORG_ID_=? where ID_=?"; diff --git a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/messages.json b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/messages.json index c3847cc3..17838456 100644 --- a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/messages.json +++ b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/messages.json @@ -1,5 +1,6 @@ { "includes":[ + "io/sc/platform/security/i18n/initializer", "io/sc/platform/security/i18n/messages" ] } \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json new file mode 100644 index 00000000..cc7391a7 --- /dev/null +++ b/io.sc.platform.security/src/main/resources/META-INF/platform/plugins/parameters.json @@ -0,0 +1,12 @@ +[ + /*系统*/ + {"id":"parameter.system","order":0}, + /*系统/前端登录表单密码加密*/ + { + "id" : "parameter.login.encodePassword", + "parentId" : "parameter.system", + "code" : "parameter.login.encodePassword", + "defaultValue" : true, + "order" : 200 + } +] \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer.properties b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer.properties new file mode 100644 index 00000000..fd7ea736 --- /dev/null +++ b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer.properties @@ -0,0 +1,5 @@ +io.sc.platform.security.initializer.CorporationInitializer.name=Corporation Initializer +io.sc.platform.security.initializer.CorporationInitializer .description=initialize corporation if not exists + +io.sc.platform.security.initializer.RoleAndUserInitializer.name=Admin Role and User Initializer +io.sc.platform.security.initializer.RoleAndUserInitializer.description=initialize Admin Role and User if not exists \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_tw_CN.properties b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_tw_CN.properties new file mode 100644 index 00000000..227ce8d7 --- /dev/null +++ b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_tw_CN.properties @@ -0,0 +1,5 @@ +io.sc.platform.security.initializer.CorporationInitializer.name=\u6CD5\u4EBA\u521D\u59CB\u5316\u5668 +io.sc.platform.security.initializer.CorporationInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u6CD5\u4EBA\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u6CD5\u4EBA + +io.sc.platform.security.initializer.RoleAndUserInitializer.name=\u7BA1\u7406\u54E1\u7528\u6236\u548C\u89D2\u8272\u521D\u59CB\u5316\u5668 +io.sc.platform.security.initializer.RoleAndUserInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u7BA1\u7406\u54E1\u7528\u6236\u548C\u89D2\u8272\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u7BA1\u7406\u54E1\u7528\u6236\u548C\u89D2\u8272 \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_zh_CN.properties b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_zh_CN.properties new file mode 100644 index 00000000..85442f11 --- /dev/null +++ b/io.sc.platform.security/src/main/resources/io/sc/platform/security/i18n/initializer_zh_CN.properties @@ -0,0 +1,5 @@ +io.sc.platform.security.initializer.CorporationInitializer.name=\u6CD5\u4EBA\u521D\u59CB\u5316\u5668 +io.sc.platform.security.initializer.CorporationInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u6CD5\u4EBA\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u6CD5\u4EBA + +io.sc.platform.security.initializer.RoleAndUserInitializer.name=\u7BA1\u7406\u5458\u7528\u6237\u548C\u89D2\u8272\u521D\u59CB\u5316\u5668 +io.sc.platform.security.initializer.RoleAndUserInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u7BA1\u7406\u5458\u7528\u6237\u548C\u89D2\u8272\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u7BA1\u7406\u5458\u7528\u6237\u548C\u89D2\u8272 \ No newline at end of file diff --git a/io.sc.platform.security/src/main/resources/liquibase/PF_11.0.0_20220606__Security_DDL.xml b/io.sc.platform.security/src/main/resources/liquibase/PF_11.0.0_20220606__Security_DDL.xml index c4f5895b..0483db0d 100644 --- a/io.sc.platform.security/src/main/resources/liquibase/PF_11.0.0_20220606__Security_DDL.xml +++ b/io.sc.platform.security/src/main/resources/liquibase/PF_11.0.0_20220606__Security_DDL.xml @@ -13,80 +13,111 @@ - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + referencedColumnNames="ID_" onDelete="CASCADE"/> - + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -96,28 +127,32 @@ - + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -127,27 +162,35 @@ - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -165,9 +208,12 @@ - - + + + + + @@ -193,9 +239,11 @@ - - + + + + diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/announcement/AnnouncementVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/announcement/AnnouncementVo.java index 7006e5a0..68bf36e8 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/announcement/AnnouncementVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/announcement/AnnouncementVo.java @@ -2,18 +2,9 @@ package io.sc.platform.system.api.announcement; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; - -@JsonPropertyOrder({ - "id", - "title", - "content", - "creator", - "createDate", - "lastModifier", - "lastModifyDate" -}) -public class AnnouncementVo extends AuditorVo { +public class AnnouncementVo extends CorporationAuditorVo { private String id; private String title; private String content; diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/auditlog/AuditLogVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/auditlog/AuditLogVo.java new file mode 100644 index 00000000..38bf6a20 --- /dev/null +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/auditlog/AuditLogVo.java @@ -0,0 +1,153 @@ +package io.sc.platform.system.api.auditlog; + +import io.sc.platform.orm.api.vo.BaseVo; + +import java.util.Date; + +public class AuditLogVo extends BaseVo { + private String id; //ID + private String className; //AuditLog 注解所在类的名称 + private String methodName; //AuditLog 注解所在方法的名称 + private String httpMethod; //AuditLog 注解所在方法的 http method + private String action; //AuditLog 注解中指定的操作 + private String status; //请求方法的执行状态 + private Date startDate; //方法开始执行时间 + private Long executeTime; //方法执行的时间(单位:毫秒) + private String url; //请求的 URL + private String ip; //调用者 IP 地址 + private String loginName; //调用者登录用户名 + private String oldValue; //调用者请求的数据原始值(json字符串) + private String newValue; //调用者请求的数据新值(json字符串) + + private String exception; //方法执行抛出的违例类名称 + private String exceptionMessage;//方法执行抛出的违例消息 + private String exceptionStackTrace;//方法执行抛出的违例栈 + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getClassName() { + return className; + } + + public void setClassName(String className) { + this.className = className; + } + + public String getMethodName() { + return methodName; + } + + public void setMethodName(String methodName) { + this.methodName = methodName; + } + + public String getHttpMethod() { + return httpMethod; + } + + public void setHttpMethod(String httpMethod) { + this.httpMethod = httpMethod; + } + + public String getAction() { + return action; + } + + public void setAction(String action) { + this.action = action; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Date getStartDate() { + return startDate; + } + + public void setStartDate(Date startDate) { + this.startDate = startDate; + } + + public Long getExecuteTime() { + return executeTime; + } + + public void setExecuteTime(Long executeTime) { + this.executeTime = executeTime; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public String getLoginName() { + return loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public String getOldValue() { + return oldValue; + } + + public void setOldValue(String oldValue) { + this.oldValue = oldValue; + } + + public String getNewValue() { + return newValue; + } + + public void setNewValue(String newValue) { + this.newValue = newValue; + } + + public String getException() { + return exception; + } + + public void setException(String exception) { + this.exception = exception; + } + + public String getExceptionMessage() { + return exceptionMessage; + } + + public void setExceptionMessage(String exceptionMessage) { + this.exceptionMessage = exceptionMessage; + } + + public String getExceptionStackTrace() { + return exceptionStackTrace; + } + + public void setExceptionStackTrace(String exceptionStackTrace) { + this.exceptionStackTrace = exceptionStackTrace; + } +} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/corporation/CorporationVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/corporation/CorporationVo.java index 43257661..7df1b5ce 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/corporation/CorporationVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/corporation/CorporationVo.java @@ -3,26 +3,21 @@ package io.sc.platform.system.api.corporation; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import io.sc.platform.orm.api.vo.AuditorVo; - -@JsonPropertyOrder({ - "code", - "name", - "description", - "enable", - "parentCode", - "dataComeFrom", - "creator", - "createDate", - "lastModifier", - "lastModifyDate" -}) public class CorporationVo extends AuditorVo { + private String id; private String code; private String name; private String description; - private Boolean enable =Boolean.TRUE; + private Boolean enable; + private String parent; + + public String getId() { + return id; + } - private String parentCode; + public void setId(String id) { + this.id = id; + } /** * 获取代码 @@ -88,19 +83,11 @@ public class CorporationVo extends AuditorVo { this.enable = enable; } - /** - * 获取父代码 - * @return 父代码 - */ - public String getParentCode() { - return parentCode; + public String getParent() { + return parent; } - /** - * 设置父代码 - * @param parentCode 父代码 - */ - public void setParentCode(String parentCode) { - this.parentCode = parentCode; + public void setParent(String parent) { + this.parent = parent; } } diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/DsVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/DsVo.java index 95ce7af3..6a5a533a 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/DsVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/DsVo.java @@ -1,8 +1,9 @@ package io.sc.platform.system.api.ds; import io.sc.platform.orm.api.vo.AuditorVo; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; -public class DsVo extends AuditorVo { +public class DsVo extends CorporationAuditorVo { private String id; private String name; private String type; diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/JdbcDsVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/JdbcDsVo.java index 5881cc68..ae2e3ddb 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/JdbcDsVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/ds/JdbcDsVo.java @@ -1,11 +1,14 @@ package io.sc.platform.system.api.ds; +import java.util.Map; + public class JdbcDsVo extends DsVo { private String databaseType; private String jdbcDriver; private String jdbcUrl; private String username; private String password; + private Map properties; public String getDatabaseType() { return databaseType; @@ -46,4 +49,12 @@ public class JdbcDsVo extends DsVo { public void setPassword(String password) { this.password = password; } + + public Map getProperties() { + return properties; + } + + public void setProperties(Map properties) { + this.properties = properties; + } } diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18n.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18n.java deleted file mode 100644 index 29965791..00000000 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18n.java +++ /dev/null @@ -1,6 +0,0 @@ -package io.sc.platform.system.api.i18n; - -import java.io.Serializable; - -public class I18n { -} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nLanguage.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nLanguage.java deleted file mode 100644 index eb802542..00000000 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nLanguage.java +++ /dev/null @@ -1,21 +0,0 @@ -package io.sc.platform.system.api.i18n; - -import java.util.Locale; - -public enum I18nLanguage { - en, /* 英文 */ - zh_CN, /* 简体中文 */ - tw_CN; /* 繁体中文*/ - - public Locale getLocale(){ - switch (this){ - case en: - return new Locale("en"); - case zh_CN: - return new Locale("zh","CN"); - case tw_CN: - return new Locale("tw","CN"); - } - return null; - } -} \ No newline at end of file diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nVo.java new file mode 100644 index 00000000..38ad6dc6 --- /dev/null +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/i18n/I18nVo.java @@ -0,0 +1,42 @@ +package io.sc.platform.system.api.i18n; + +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +public class I18nVo extends CorporationAuditorVo { + private String id; + private String code; + private String lang; + private String message; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getLang() { + return lang; + } + + public void setLang(String lang) { + this.lang = lang; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } +} diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java index f20cca5d..90934539 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/menu/MenuVo.java @@ -4,7 +4,7 @@ import io.sc.platform.orm.api.vo.CorporationAuditorVo; public abstract class MenuVo extends CorporationAuditorVo { protected String type; - protected String parentId; + protected String parent; protected String id; protected String name; protected String titleI18nKey; @@ -22,12 +22,12 @@ public abstract class MenuVo extends CorporationAuditorVo { this.type = type; } - public String getParentId() { - return parentId; + public String getParent() { + return parent; } - public void setParentId(String parentId) { - this.parentId = parentId; + public void setParent(String parent) { + this.parent = parent; } public String getId() { diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/org/OrgVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/org/OrgVo.java index fe35f881..6e2caffb 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/org/OrgVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/org/OrgVo.java @@ -15,7 +15,7 @@ public class OrgVo extends CorporationAuditorVo { //是否是部门 private Boolean isDepartment; //父组织ID - private String parentId; + private String parent; private boolean selected; @@ -67,12 +67,12 @@ public class OrgVo extends CorporationAuditorVo { isDepartment = department; } - public String getParentId() { - return parentId; + public String getParent() { + return parent; } - public void setParentId(String parentId) { - this.parentId = parentId; + public void setParent(String parent) { + this.parent = parent; } public boolean isSelected() { diff --git a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/parameter/ParameterVo.java b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/parameter/ParameterVo.java index 9eef73a0..cec323a3 100644 --- a/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/parameter/ParameterVo.java +++ b/io.sc.platform.system.api/src/main/java/io/sc/platform/system/api/parameter/ParameterVo.java @@ -1,10 +1,13 @@ package io.sc.platform.system.api.parameter; -public class ParameterVo { +import io.sc.platform.orm.api.vo.BaseVo; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; + +public class ParameterVo extends CorporationAuditorVo { private String id; private String code; private String value; - private String parentId; + private String parent; public String getId() { return id; @@ -30,11 +33,11 @@ public class ParameterVo { this.value = value; } - public String getParentId() { - return parentId; + public String getParent() { + return parent; } - public void setParentId(String parentId) { - this.parentId = parentId; + public void setParent(String parent) { + this.parent = parent; } } diff --git a/io.sc.platform.system.frontend/.npmrc b/io.sc.platform.system.frontend/.npmrc index 06969b7b..c1c0b295 100644 --- a/io.sc.platform.system.frontend/.npmrc +++ b/io.sc.platform.system.frontend/.npmrc @@ -8,4 +8,4 @@ email= # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # _authToken 可通过以下命令获取 # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin -//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.25afcf59-9193-3068-bcfa-faf76ceadb13 \ No newline at end of file +//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.193db44c-7ca5-3cb6-a990-d24b93fb0d10 \ No newline at end of file diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 96d54fb4..48bf365d 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -1,102 +1,104 @@ { - "name": "io.sc.platform.system.frontend", - "version": "8.1.13", - "description": "", - "private": false, - "keywords": [], - "author": "", - "license": "ISC", - "scripts": { - "dev": "nodemon", - "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", - "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", - "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", - "sync": "platform sync", - "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml" - }, - "engines": { - "node": ">=18", - "pnpm": ">=7" - }, - "publishConfig": { - "registry": "http://nexus.sc.io:8000/repository/npm-releases/", - "access": "public" - }, - "devDependencies": { - "@babel/core": "7.23.2", - "@babel/preset-env": "7.23.2", - "@babel/preset-typescript": "7.23.2", - "@babel/plugin-transform-class-properties": "7.22.5", - "@babel/plugin-transform-object-rest-spread": "7.22.15", - "@quasar/app-webpack": "3.11.2", - "@quasar/cli": "2.3.0", - "@types/mockjs": "1.0.9", - "@types/node": "20.8.9", - "@typescript-eslint/eslint-plugin": "6.9.0", - "@typescript-eslint/parser": "6.9.0", - "@vue/compiler-sfc": "3.3.7", - "@webpack-cli/serve": "2.0.5", - "autoprefixer": "10.4.16", - "babel-loader": "9.1.3", - "clean-webpack-plugin": "4.0.0", - "copy-webpack-plugin": "11.0.0", - "cross-env": "7.0.3", - "css-loader": "6.8.1", - "eslint": "8.52.0", - "eslint-config-prettier": "9.0.0", - "eslint-plugin-prettier": "5.0.1", - "eslint-plugin-vue": "9.18.0", - "eslint-webpack-plugin": "4.0.1", - "html-webpack-plugin": "5.5.3", - "json5": "2.2.3", - "mini-css-extract-plugin": "2.7.6", - "nodemon": "3.0.1", - "postcss": "8.4.31", - "postcss-import": "15.1.0", - "postcss-loader": "7.3.3", - "postcss-preset-env": "9.2.0", - "prettier": "3.0.3", - "sass": "1.69.5", - "sass-loader": "13.3.2", - "typescript": "5.2.2", - "vue-loader": "17.3.0", - "webpack": "5.89.0", - "webpack-bundle-analyzer": "4.9.1", - "webpack-cli": "5.1.4", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0" - }, - "dependencies": { - "@quasar/extras": "1.16.7", - "@vueuse/core": "10.3.0", - "axios": "1.5.1", - "dayjs": "1.11.10", - "echarts": "5.4.1", - "exceljs": "4.3.0", - "file-saver": "2.0.5", - "luckyexcel": "1.0.1", - "mockjs": "1.1.0", - "pinia": "2.1.7", - "platform-core": "8.1.42", - "quasar": "2.13.0", - "tailwindcss": "3.3.5", - "vue": "3.3.7", - "vue-dompurify-html": "4.1.4", - "vue-i18n": "9.6.0", - "vue-router": "4.2.5", - "@codemirror/autocomplete": "6.11.1", - "@codemirror/commands": "6.3.2", - "@codemirror/lang-html": "6.4.7", - "@codemirror/lang-java": "6.0.1", - "@codemirror/lang-javascript": "6.2.1", - "@codemirror/lang-json": "6.0.1", - "@codemirror/lang-sql": "6.5.4", - "@codemirror/lang-xml": "6.0.2", - "@codemirror/language": "6.9.3", - "@codemirror/search": "6.5.5", - "@codemirror/state": "6.3.3", - "@codemirror/view": "6.22.1", - "codemirror": "6.0.1", - "vue-codemirror6": "1.1.31" - } + "name": "io.sc.platform.system.frontend", + "version": "8.1.19", + "description": "", + "private": false, + "keywords": [ + + ], + "author": "", + "license": "ISC", + "scripts": { + "dev": "nodemon", + "serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs", + "build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs", + "prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs", + "sync": "platform sync", + "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml" + }, + "engines": { + "node": ">=18", + "pnpm": ">=7" + }, + "publishConfig": { + "registry": "http://nexus.sc.io:8000/repository/npm-releases/", + "access": "public" + }, + "devDependencies": { + "@babel/core": "7.23.2", + "@babel/preset-env": "7.23.2", + "@babel/preset-typescript": "7.23.2", + "@babel/plugin-transform-class-properties": "7.22.5", + "@babel/plugin-transform-object-rest-spread": "7.22.15", + "@quasar/app-webpack": "3.11.2", + "@quasar/cli": "2.3.0", + "@types/mockjs": "1.0.9", + "@types/node": "20.8.9", + "@typescript-eslint/eslint-plugin": "6.9.0", + "@typescript-eslint/parser": "6.9.0", + "@vue/compiler-sfc": "3.3.7", + "@webpack-cli/serve": "2.0.5", + "autoprefixer": "10.4.16", + "babel-loader": "9.1.3", + "clean-webpack-plugin": "4.0.0", + "copy-webpack-plugin": "11.0.0", + "cross-env": "7.0.3", + "css-loader": "6.8.1", + "eslint": "8.52.0", + "eslint-config-prettier": "9.0.0", + "eslint-plugin-prettier": "5.0.1", + "eslint-plugin-vue": "9.18.0", + "eslint-webpack-plugin": "4.0.1", + "html-webpack-plugin": "5.5.3", + "json5": "2.2.3", + "mini-css-extract-plugin": "2.7.6", + "nodemon": "3.0.1", + "postcss": "8.4.31", + "postcss-import": "15.1.0", + "postcss-loader": "7.3.3", + "postcss-preset-env": "9.2.0", + "prettier": "3.0.3", + "sass": "1.69.5", + "sass-loader": "13.3.2", + "typescript": "5.2.2", + "vue-loader": "17.3.0", + "webpack": "5.89.0", + "webpack-bundle-analyzer": "4.9.1", + "webpack-cli": "5.1.4", + "webpack-dev-server": "4.15.1", + "webpack-merge": "5.10.0" + }, + "dependencies": { + "@quasar/extras": "1.16.7", + "@vueuse/core": "10.3.0", + "axios": "1.5.1", + "dayjs": "1.11.10", + "echarts": "5.4.1", + "exceljs": "4.3.0", + "file-saver": "2.0.5", + "luckyexcel": "1.0.1", + "mockjs": "1.1.0", + "pinia": "2.1.7", + "platform-core": "8.1.47", + "quasar": "2.13.0", + "tailwindcss": "3.3.5", + "vue": "3.3.7", + "vue-dompurify-html": "4.1.4", + "vue-i18n": "9.6.0", + "vue-router": "4.2.5", + "@codemirror/autocomplete": "6.11.1", + "@codemirror/commands": "6.3.2", + "@codemirror/lang-html": "6.4.7", + "@codemirror/lang-java": "6.0.1", + "@codemirror/lang-javascript": "6.2.1", + "@codemirror/lang-json": "6.0.1", + "@codemirror/lang-sql": "6.5.4", + "@codemirror/lang-xml": "6.0.2", + "@codemirror/language": "6.9.3", + "@codemirror/search": "6.5.5", + "@codemirror/state": "6.3.3", + "@codemirror/view": "6.22.1", + "codemirror": "6.0.1", + "vue-codemirror6": "1.1.31" + } } \ No newline at end of file diff --git a/io.sc.platform.system.frontend/src/i18n/messages.json b/io.sc.platform.system.frontend/src/i18n/messages.json index 867e0143..936d7a6a 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages.json +++ b/io.sc.platform.system.frontend/src/i18n/messages.json @@ -28,7 +28,7 @@ "system.user.action.removeUser":"Remove User", "system.user.action.removeAllUser":"Remove All User", "system.user.action.setPassword":"Set Password", - + "system.role.action.addRole":"Add Role", "system.role.action.addAllRole":"Add All Role", "system.role.action.removeRole":"Remove Role", @@ -45,12 +45,13 @@ "system.monitor.log.tab.download":"Log Download", "system.monitor.log.tab.level":"Log Level", - + "accountExpired": "Expired", "accountLocked": "Locked", "credentialsExpired": "Credentials Expired", "parameter.system":"System", - "parameter.system.homePage":"Home Page" + "parameter.system.homePage":"Home Page", + "parameter.login.encodePassword":"Login Password Encode" } diff --git a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json index 14b430ef..de99218e 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_tw_CN.json @@ -43,11 +43,12 @@ "system.monitor.log.tab.view":"日誌查看", "system.monitor.log.tab.download":"日誌下載", "system.monitor.log.tab.level":"日誌級別", - + "accountExpired": "是否過期", "accountLocked": "是否鎖定", "credentialsExpired": "是否密碼過期", "parameter.system":"系統", - "parameter.system.homePage":"首頁" + "parameter.system.homePage":"首頁", + "parameter.login.encodePassword":"登錄頁面密碼加密" } diff --git a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json index 2473f3ce..37f8edbe 100644 --- a/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json +++ b/io.sc.platform.system.frontend/src/i18n/messages_zh_CN.json @@ -28,7 +28,7 @@ "system.user.action.removeUser":"移除用户", "system.user.action.removeAllUser":"移除所有用户", "system.user.action.setPassword":"修改密码", - + "system.role.action.addRole":"添加角色", "system.role.action.addAllRole":"添加所有角色", "system.role.action.removeRole":"移除角色", @@ -44,11 +44,12 @@ "system.monitor.log.tab.download":"日志下载", "system.monitor.log.tab.level":"日志级别", - + "accountExpired": "是否过期", "accountLocked": "是否锁定", "credentialsExpired": "是否密码过期", "parameter.system":"系统", - "parameter.system.homePage":"首页" + "parameter.system.homePage":"首页", + "parameter.login.encodePassword":"登录页面密码加密" } diff --git a/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue b/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue index ccde5fe4..2f62a265 100644 --- a/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue +++ b/io.sc.platform.system.frontend/src/views/corporation/Corporation.vue @@ -4,10 +4,13 @@ diff --git a/io.sc.platform.system.frontend/src/views/menu/AddTopMenuDialog.vue b/io.sc.platform.system.frontend/src/views/menu/AddTopMenuDialog.vue new file mode 100644 index 00000000..81f0dbea --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/menu/AddTopMenuDialog.vue @@ -0,0 +1,103 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/menu/EditMenuDialog.vue b/io.sc.platform.system.frontend/src/views/menu/EditMenuDialog.vue new file mode 100644 index 00000000..2afc6a14 --- /dev/null +++ b/io.sc.platform.system.frontend/src/views/menu/EditMenuDialog.vue @@ -0,0 +1,128 @@ + + diff --git a/io.sc.platform.system.frontend/src/views/menu/Menu.vue b/io.sc.platform.system.frontend/src/views/menu/Menu.vue index fd0047c1..23e9578e 100644 --- a/io.sc.platform.system.frontend/src/views/menu/Menu.vue +++ b/io.sc.platform.system.frontend/src/views/menu/Menu.vue @@ -55,21 +55,32 @@ + + + diff --git a/io.sc.platform.system.frontend/src/views/org/Org.vue b/io.sc.platform.system.frontend/src/views/org/Org.vue index 0de21508..099baef7 100644 --- a/io.sc.platform.system.frontend/src/views/org/Org.vue +++ b/io.sc.platform.system.frontend/src/views/org/Org.vue @@ -164,6 +164,7 @@ const userConfigure = { const orgConfigure = { actions: [ + /* { name: 'refresh', label: t('refresh'), @@ -179,14 +180,15 @@ const orgConfigure = { label: t('selectAll'), click: () => {}, }, + */ { name: 'addRoot', - label: t('addRoot'), + label: t('添加顶级机构'), click: () => {}, }, { name: 'addChild', - label: t('addChild'), + label: t('添加子机构'), click: () => {}, }, { diff --git a/io.sc.platform.system.frontend/src/views/user/User.vue b/io.sc.platform.system.frontend/src/views/user/User.vue index a6cdc11f..d387e37b 100644 --- a/io.sc.platform.system.frontend/src/views/user/User.vue +++ b/io.sc.platform.system.frontend/src/views/user/User.vue @@ -156,14 +156,15 @@ const userConfigure = { formFields: [ { modelName: 'loginName', label: t('loginName'), type: 'text', required: true }, { modelName: 'userName', label: t('userName'), type: 'text', required: true }, - { modelName: 'password', label: t('password'), type: 'text' }, - { modelName: 'confirmPassword', label: t('confirmPassword'), type: 'text' }, + { modelName: 'password', label: t('password'), type: 'password' }, + { modelName: 'confirmPassword', label: t('confirmPassword'), type: 'password' }, { modelName: 'description', label: t('description'), type: 'textarea' }, { modelName: 'email', label: t('email'), type: 'text' }, { modelName: 'phone', label: t('phone'), type: 'text' }, { modelName: 'mobile', label: t('mobile'), type: 'text' }, { modelName: 'weixin', label: t('weixin'), type: 'text' }, { modelName: 'qq', label: t('qq'), type: 'text' }, + { modelName: 'enable', label: t('enable'), type: 'checkbox', defaultValue: true }, { modelName: 'accountExpired', label: t('accountExpired'), type: 'checkbox' }, { modelName: 'accountLocked', label: t('accountLocked'), type: 'checkbox' }, { modelName: 'credentialsExpired', label: t('credentialsExpired'), type: 'checkbox' }, diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java index 03b988ce..55af9080 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/controller/AnnouncementWebController.java @@ -4,10 +4,11 @@ import io.sc.platform.mvc.controller.support.RestCrudController; import io.sc.platform.system.announcement.jpa.entity.AnnouncementEntity; import io.sc.platform.system.announcement.jpa.repository.AnnouncementRepository; import io.sc.platform.system.announcement.service.AnnouncementService; +import io.sc.platform.system.api.announcement.AnnouncementVo; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("api/system/announcement") -public class AnnouncementWebController extends RestCrudController { +public class AnnouncementWebController extends RestCrudController { } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/convertor/AnnouncementEntityVoConverter.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/convertor/AnnouncementEntityVoConverter.java deleted file mode 100644 index 14dfccf6..00000000 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/convertor/AnnouncementEntityVoConverter.java +++ /dev/null @@ -1,31 +0,0 @@ -package io.sc.platform.system.announcement.convertor; - -import io.sc.platform.orm.EntityVoConverter; -import io.sc.platform.system.announcement.jpa.entity.AnnouncementEntity; -import io.sc.platform.system.api.announcement.AnnouncementVo; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class AnnouncementEntityVoConverter implements EntityVoConverter { - private static final Logger log = LoggerFactory.getLogger(AnnouncementEntityVoConverter.class); - - @Override - public AnnouncementVo toVo(AnnouncementEntity entity) { - if(entity==null){ - return null; - } - AnnouncementVo vo =new AnnouncementVo(); - vo.setId(entity.getId()); - vo.setTitle(entity.getTitle()); - vo.setContent(entity.getContent()); - return vo; - } - - @Override - public AnnouncementEntity fromVo(AnnouncementVo vo) { - if(vo==null){ - return null; - } - return null; - } -} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/jpa/entity/AnnouncementEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/jpa/entity/AnnouncementEntity.java index 1a2a66b7..c4285d5e 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/jpa/entity/AnnouncementEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/announcement/jpa/entity/AnnouncementEntity.java @@ -1,6 +1,8 @@ package io.sc.platform.system.announcement.jpa.entity; import io.sc.platform.orm.entity.AuditorEntity; +import io.sc.platform.orm.entity.CorporationAuditorEntity; +import io.sc.platform.system.api.announcement.AnnouncementVo; import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @@ -8,7 +10,7 @@ import javax.validation.constraints.Size; @Entity @Table(name="SYS_ANNOUNCEMENT") -public class AnnouncementEntity extends AuditorEntity { +public class AnnouncementEntity extends CorporationAuditorEntity { //主键 @Id @GeneratedValue(generator = "system-uuid") @@ -26,6 +28,16 @@ public class AnnouncementEntity extends AuditorEntity { @Column(name="CONTENT_") private String content; + @Override + public AnnouncementVo toVo() { + AnnouncementVo vo =new AnnouncementVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setTitle(this.getTitle()); + vo.setContent(this.getContent()); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java index 232c87e2..26ad67e0 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/controller/AuditLogWebController.java @@ -1,6 +1,7 @@ package io.sc.platform.system.auditlog.controller; import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.system.api.auditlog.AuditLogVo; import io.sc.platform.system.auditlog.jpa.entity.AuditLogEntity; import io.sc.platform.system.auditlog.jpa.repository.AuditLogRepository; import io.sc.platform.system.auditlog.service.AuditLogService; @@ -9,6 +10,6 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/system/monitor/auditlog") -public class AuditLogWebController extends RestCrudController { +public class AuditLogWebController extends RestCrudController { } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/jpa/entity/AuditLogEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/jpa/entity/AuditLogEntity.java index 51dc0161..4a420eed 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/jpa/entity/AuditLogEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/auditlog/jpa/entity/AuditLogEntity.java @@ -2,6 +2,7 @@ package io.sc.platform.system.auditlog.jpa.entity; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import io.sc.platform.orm.entity.BaseEntity; +import io.sc.platform.system.api.auditlog.AuditLogVo; import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; @@ -18,7 +19,7 @@ import java.util.Date; "status","startDate","executeTime","url","ip","loginName", "oldValue","newValue","exception","exceptionMessage","exceptionStackTrace" }) -public class AuditLogEntity extends BaseEntity { +public class AuditLogEntity extends BaseEntity { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid2") @@ -83,6 +84,28 @@ public class AuditLogEntity extends BaseEntity { private String exceptionStackTrace;//方法执行抛出的违例栈 + @Override + public AuditLogVo toVo() { + AuditLogVo vo =new AuditLogVo(); + vo.setId(this.getId()); + vo.setClassName(this.getClassName()); + vo.setMethodName(this.getMethodName()); + vo.setHttpMethod(this.getHttpMethod()); + vo.setAction(this.getAction()); + vo.setStatus(this.getStatus()); + vo.setStartDate(this.getStartDate()); + vo.setExecuteTime(this.getExecuteTime()); + vo.setUrl(this.getUrl()); + vo.setIp(this.getIp()); + vo.setLoginName(this.getLoginName()); + vo.setOldValue(this.getOldValue()); + vo.setNewValue(this.getNewValue()); + vo.setException(this.getException()); + vo.setExceptionMessage(this.getExceptionMessage()); + vo.setExceptionStackTrace(this.getExceptionStackTrace()); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/autoconfigure/support/DatabaseMessageSource.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/autoconfigure/support/DatabaseMessageSource.java index d4733b15..edf0aab6 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/autoconfigure/support/DatabaseMessageSource.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/autoconfigure/support/DatabaseMessageSource.java @@ -3,12 +3,9 @@ package io.sc.platform.system.autoconfigure.support; import io.sc.platform.core.Environment; import io.sc.platform.core.enums.Language; import io.sc.platform.core.i18n.PlatformMessageSource; -import io.sc.platform.core.service.RuntimeService; import io.sc.platform.core.util.LocaleUtil; -import io.sc.platform.system.api.i18n.I18nLanguage; import io.sc.platform.system.i18n.jpa.entity.I18nEntity; import io.sc.platform.system.i18n.jpa.repository.I18nRepository; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; import org.springframework.context.MessageSourceResolvable; import org.springframework.context.NoSuchMessageException; @@ -17,7 +14,6 @@ import org.springframework.util.StringUtils; import java.text.MessageFormat; import java.util.*; -import java.util.concurrent.ConcurrentHashMap; /** * 数据库消息源 diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java index 05620c40..d9471148 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/controller/CorporationWebController.java @@ -1,7 +1,7 @@ package io.sc.platform.system.corporation.controller; import io.sc.platform.mvc.controller.support.RestCrudController; -import io.sc.platform.system.corporation.convertor.CorporationEntityVoConverter; +import io.sc.platform.system.api.corporation.CorporationVo; import io.sc.platform.system.corporation.jpa.entity.CorporationEntity; import io.sc.platform.system.corporation.jpa.repository.CorporationRepository; import io.sc.platform.system.corporation.service.CorporationService; @@ -10,6 +10,6 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("api/system/corporation") -public class CorporationWebController extends RestCrudController { - private CorporationEntityVoConverter converter =new CorporationEntityVoConverter(); +public class CorporationWebController extends RestCrudController { + } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/convertor/CorporationEntityVoConverter.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/convertor/CorporationEntityVoConverter.java deleted file mode 100644 index 9a70ff8a..00000000 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/convertor/CorporationEntityVoConverter.java +++ /dev/null @@ -1,35 +0,0 @@ -package io.sc.platform.system.corporation.convertor; - -import io.sc.platform.orm.EntityVoConverter; -import io.sc.platform.system.api.corporation.CorporationVo; -import io.sc.platform.system.api.org.OrgVo; -import io.sc.platform.system.corporation.jpa.entity.CorporationEntity; -import io.sc.platform.system.org.jpa.entity.OrgEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class CorporationEntityVoConverter implements EntityVoConverter { - private static final Logger log = LoggerFactory.getLogger(CorporationEntityVoConverter.class); - - @Override - public CorporationVo toVo(CorporationEntity entity) { - if(entity==null){ - return null; - } - CorporationVo vo =new CorporationVo(); - vo.setCode(entity.getCode()); - vo.setName(entity.getName()); - vo.setDescription(entity.getDescription()); - vo.setEnable(entity.getEnable()); - vo.setParentCode(entity.getParent()==null?null:entity.getParent().getCode()); - return vo; - } - - @Override - public CorporationEntity fromVo(CorporationVo vo) { - if(vo==null){ - return null; - } - return null; - } -} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/jpa/entity/CorporationEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/jpa/entity/CorporationEntity.java index ed261a39..75de4252 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/jpa/entity/CorporationEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/corporation/jpa/entity/CorporationEntity.java @@ -3,7 +3,9 @@ package io.sc.platform.system.corporation.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.sc.platform.orm.converter.NumericBooleanConverter; import io.sc.platform.orm.entity.AuditorEntity; +import io.sc.platform.system.api.corporation.CorporationVo; import io.sc.platform.system.corporation.jpa.support.CorporationEntityJsonSerializer; +import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; import javax.validation.constraints.Size; @@ -13,12 +15,16 @@ import javax.validation.constraints.Size; */ @Entity @Table(name="SYS_CORPORATION") -@JsonSerialize(using = CorporationEntityJsonSerializer.class) -public class CorporationEntity extends AuditorEntity { - //法人代码 +public class CorporationEntity extends AuditorEntity { @Id - @Column(name="CODE_",nullable=false,length=255) - @Size(min=1,max=255) + @GeneratedValue(generator = "system-uuid") + @GenericGenerator(name = "system-uuid", strategy = "uuid2") + @Column(name="ID_", length=36) + @Size(max=36) + private String id; + + @Column(name="CODE_", length=255) + @Size(max=255) private String code; //法人名称 @@ -38,7 +44,7 @@ public class CorporationEntity extends AuditorEntity { // 父法人 @ManyToOne(fetch=FetchType.LAZY) - @JoinColumn(name="PARENT_CODE_") + @JoinColumn(name="PARENT_ID_") private CorporationEntity parent; public CorporationEntity(){} @@ -47,6 +53,27 @@ public class CorporationEntity extends AuditorEntity { this.code =code; } + @Override + public CorporationVo toVo() { + CorporationVo vo =new CorporationVo(); + AuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setEnable(this.getEnable()); + vo.setParent(this.getParent()==null?null:this.getParent().getId()); + return vo; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + public String getCode() { return code; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java index 7191c9ae..c6587e8a 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/controller/DictionaryWebController.java @@ -2,6 +2,7 @@ package io.sc.platform.system.dictionary.controller; import io.sc.platform.mvc.controller.support.RestCrudController; import io.sc.platform.mvc.support.OrderItem; +import io.sc.platform.system.api.dictionary.DictionaryVo; import io.sc.platform.system.dictionary.jpa.entity.DictionaryEntity; import io.sc.platform.system.dictionary.jpa.repository.DictionaryRepository; import io.sc.platform.system.dictionary.service.DictionaryService; @@ -14,7 +15,7 @@ import java.util.List; @RestController @RequestMapping("api/system/dictionary") -public class DictionaryWebController extends RestCrudController { +public class DictionaryWebController extends RestCrudController { @PostMapping("updateDictionariesOrder") public void updateDictionariesOrder(@RequestBody List> orderItems) throws Exception{ diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/jpa/entity/DictionaryEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/jpa/entity/DictionaryEntity.java index 01413fc8..e0a297d4 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/jpa/entity/DictionaryEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/dictionary/jpa/entity/DictionaryEntity.java @@ -2,6 +2,7 @@ package io.sc.platform.system.dictionary.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.sc.platform.orm.entity.CorporationAuditorEntity; +import io.sc.platform.system.api.dictionary.DictionaryVo; import io.sc.platform.system.dictionary.jpa.support.DictionaryEntityJsonSerializer; import org.hibernate.annotations.GenericGenerator; @@ -14,7 +15,7 @@ import javax.validation.constraints.Size; @Entity @Table(name="SYS_DICTIONARY") @JsonSerialize(using = DictionaryEntityJsonSerializer.class) -public class DictionaryEntity extends CorporationAuditorEntity { +public class DictionaryEntity extends CorporationAuditorEntity { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid2") @@ -43,6 +44,17 @@ public class DictionaryEntity extends CorporationAuditorEntity { this.order =order; } + @Override + public DictionaryVo toVo() { + DictionaryVo vo =new DictionaryVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setValue(this.getValue()); + vo.setOrder(this.getOrder()); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java index 2de4496a..96a283c2 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/controller/DsWebController.java @@ -1,6 +1,7 @@ package io.sc.platform.system.ds.controller; import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.system.api.ds.DsVo; import io.sc.platform.system.ds.jpa.entity.DsEntity; import io.sc.platform.system.ds.jpa.repository.DsRepository; import io.sc.platform.system.ds.service.DsService; @@ -9,6 +10,6 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/datasource") -public class DsWebController extends RestCrudController { +public class DsWebController extends RestCrudController { } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/DsEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/DsEntity.java index 336a110f..4b801ba8 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/DsEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/DsEntity.java @@ -3,8 +3,11 @@ package io.sc.platform.system.ds.jpa.entity; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; +import io.sc.platform.orm.entity.AuditorEntity; import io.sc.platform.orm.entity.CorporationAuditorEntity; import io.sc.platform.orm.service.support.criteria.impl.*; +import io.sc.platform.system.api.ds.DsVo; import io.sc.platform.system.ds.jpa.support.DsEntityJsonSerializer; import org.hibernate.annotations.GenericGenerator; @@ -22,7 +25,7 @@ import static javax.persistence.InheritanceType.SINGLE_TABLE; @JsonSubTypes.Type(value =JndiDsEntity.class, name = "JNDI"), @JsonSubTypes.Type(value =JdbcDsEntity.class, name = "JDBC") }) -public abstract class DsEntity extends CorporationAuditorEntity { +public abstract class DsEntity extends CorporationAuditorEntity { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid2") @@ -45,6 +48,18 @@ public abstract class DsEntity extends CorporationAuditorEntity { @Size(max=255) private String description; + public static void toVo(DsVo vo, DsEntity entity){ + if(vo!=null && entity!=null) { + CorporationAuditorEntity.toVo(vo,entity); + vo.setId(entity.getId()); + vo.setName(entity.getName()); + vo.setType(entity.getType()); + vo.setDescription(entity.getDescription()); + } + } + + + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JdbcDsEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JdbcDsEntity.java index 675a483f..cc2a1b28 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JdbcDsEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JdbcDsEntity.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeId; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.sc.platform.orm.converter.MapStringConverter; +import io.sc.platform.system.api.ds.DsVo; import io.sc.platform.system.api.ds.JdbcDsVo; import io.sc.platform.system.ds.jpa.support.DsEntityJsonSerializer; import io.sc.platform.system.ds.jpa.support.JdbcDsEntityJsonSerializer; @@ -18,7 +19,6 @@ import java.util.Map; @Entity @DiscriminatorValue("JDBC") -@JsonSerialize(using= JdbcDsEntityJsonSerializer.class) public class JdbcDsEntity extends DsEntity { @Column(name="JDBC_DATABASE_TYPE_", length=20) @Size(max=20) @@ -44,6 +44,19 @@ public class JdbcDsEntity extends DsEntity { @Convert(converter = MapStringConverter.class) private Map properties; + @Override + public DsVo toVo() { + JdbcDsVo vo =new JdbcDsVo(); + DsEntity.toVo(vo,this); + vo.setDatabaseType(this.getDatabaseType()); + vo.setJdbcDriver(this.getJdbcDriver()); + vo.setJdbcUrl(this.getJdbcUrl()); + vo.setUsername(this.getUsername()); + vo.setPassword(this.getPassword()); + vo.setProperties(this.getProperties()); + return vo; + } + public String getDatabaseType() { return databaseType; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JndiDsEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JndiDsEntity.java index cbb2bcef..c6e4ce25 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JndiDsEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/ds/jpa/entity/JndiDsEntity.java @@ -1,6 +1,7 @@ package io.sc.platform.system.ds.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.sc.platform.system.api.ds.DsVo; import io.sc.platform.system.api.ds.JdbcDsVo; import io.sc.platform.system.api.ds.JndiDsVo; import io.sc.platform.system.ds.jpa.support.JdbcDsEntityJsonSerializer; @@ -19,6 +20,14 @@ public class JndiDsEntity extends DsEntity { @Size(max=255) private String jndiName; + @Override + public DsVo toVo() { + JndiDsVo vo =new JndiDsVo(); + DsEntity.toVo(vo,this); + vo.setJndiName(this.getJndiName()); + return vo; + } + public String getJndiName() { return jndiName; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java index 7eae58a1..da546de0 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/controller/I18nWebController.java @@ -2,6 +2,7 @@ package io.sc.platform.system.i18n.controller; import io.sc.platform.core.service.MessageSourceService; import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.system.api.i18n.I18nVo; import io.sc.platform.system.i18n.jpa.entity.I18nEntity; import io.sc.platform.system.i18n.jpa.repository.I18nRepository; import io.sc.platform.system.i18n.service.I18nService; @@ -10,7 +11,7 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/system/i18n") -public class I18nWebController extends RestCrudController { +public class I18nWebController extends RestCrudController { @Autowired private MessageSourceService messageSourceService; @PostMapping("importMessages") diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/entity/I18nEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/entity/I18nEntity.java index 4660faf5..4779d7cc 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/entity/I18nEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/entity/I18nEntity.java @@ -2,26 +2,20 @@ package io.sc.platform.system.i18n.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import io.sc.platform.core.enums.Language; -import io.sc.platform.orm.converter.NumericBooleanConverter; -import io.sc.platform.orm.entity.AuditorEntity; -import io.sc.platform.orm.entity.BaseEntity; import io.sc.platform.orm.entity.CorporationAuditorEntity; -import io.sc.platform.system.api.i18n.I18n; -import io.sc.platform.system.api.i18n.I18nLanguage; +import io.sc.platform.system.api.i18n.I18nVo; import io.sc.platform.system.i18n.jpa.support.I18nEntityJsonSerializer; import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; import javax.validation.constraints.Size; -import java.io.Serializable; /** * 法人实体类 */ @Entity @Table(name="SYS_I18N") -@JsonSerialize(using = I18nEntityJsonSerializer.class) -public class I18nEntity extends AuditorEntity { +public class I18nEntity extends CorporationAuditorEntity { //主键 @Id @GeneratedValue(generator = "system-uuid") @@ -55,6 +49,17 @@ public class I18nEntity extends AuditorEntity { this.message =message; } + @Override + public I18nVo toVo() { + I18nVo vo =new I18nVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setLang(this.getLang().toString()); + vo.setMessage(this.getMessage()); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/repository/I18nRepository.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/repository/I18nRepository.java index 0e96d2f2..cf1860e1 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/repository/I18nRepository.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/jpa/repository/I18nRepository.java @@ -2,7 +2,6 @@ package io.sc.platform.system.i18n.jpa.repository; import io.sc.platform.core.enums.Language; import io.sc.platform.orm.repository.DaoRepository; -import io.sc.platform.system.api.i18n.I18nLanguage; import io.sc.platform.system.i18n.jpa.entity.I18nEntity; import java.util.List; diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/I18nService.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/I18nService.java index 416cd650..5a1bd9ad 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/I18nService.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/I18nService.java @@ -1,13 +1,9 @@ package io.sc.platform.system.i18n.service; import io.sc.platform.orm.service.DaoService; -import io.sc.platform.system.api.i18n.I18nLanguage; import io.sc.platform.system.i18n.jpa.entity.I18nEntity; import io.sc.platform.system.i18n.jpa.repository.I18nRepository; -import java.util.List; -import java.util.Map; - public interface I18nService extends DaoService { /** * 从资源包属性文件中获取多语言消息并导入到数据库中 diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/impl/I18nServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/impl/I18nServiceImpl.java index 2d79ac3e..805351b0 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/impl/I18nServiceImpl.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/i18n/service/impl/I18nServiceImpl.java @@ -3,7 +3,6 @@ package io.sc.platform.system.i18n.service.impl; import io.sc.platform.core.enums.Language; import io.sc.platform.core.i18n.PlatformResourceBundleMessageSource; import io.sc.platform.orm.service.impl.DaoServiceImpl; -import io.sc.platform.system.api.i18n.I18nLanguage; import io.sc.platform.system.autoconfigure.support.CompositeMessageSource; import io.sc.platform.system.i18n.jpa.entity.I18nEntity; import io.sc.platform.system.i18n.jpa.repository.I18nRepository; @@ -12,16 +11,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.MessageSource; -import org.springframework.context.support.ReloadableResourceBundleMessageSource; -import org.springframework.context.support.ResourceBundleMessageSource; -import org.springframework.core.io.DefaultResourceLoader; -import org.springframework.core.io.Resource; import org.springframework.stereotype.Service; -import java.io.IOException; -import java.io.InputStream; -import java.util.*; -import java.util.stream.Collectors; +import java.util.List; +import java.util.Map; @Service public class I18nServiceImpl extends DaoServiceImpl implements I18nService { diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/MenuInitializer.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/MenuInitializer.java index b54e52b2..db011b4f 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/MenuInitializer.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/MenuInitializer.java @@ -17,19 +17,9 @@ public class MenuInitializer implements ApplicationInitializer{ this.menuService =applicationContext.getBean(MenuService.class); } - @Override - public String getName() { - return "Menu Initializer"; - } - - @Override - public String getDescription() { - return "Initialize menu"; - } - @Override public int getOrder() { - return 2000; + return 1100; } @Override diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/OrgInitializer.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/OrgInitializer.java new file mode 100644 index 00000000..66e9b31d --- /dev/null +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/initializer/OrgInitializer.java @@ -0,0 +1,114 @@ +package io.sc.platform.system.initializer; + +import io.sc.platform.core.initializer.ApplicationInitializer; +import io.sc.platform.core.initializer.ApplicationInitializerExecuteException; +import io.sc.platform.jdbc.sql.builder.SqlBuilder; +import io.sc.platform.system.org.service.OrgService; +import org.springframework.context.ApplicationContext; +import org.springframework.jdbc.core.JdbcTemplate; + +import java.util.Date; +import java.util.UUID; + +public class OrgInitializer implements ApplicationInitializer { + private Boolean isInitialized =null; + private OrgService orgService; + private JdbcTemplate jdbcTemplate; + + @Override + public void init(ApplicationContext applicationContext) { + this.orgService =applicationContext.getBean(OrgService.class); + this.jdbcTemplate =applicationContext.getBean(JdbcTemplate.class); + } + + @Override + public int getOrder() { + return 1300; + } + + @Override + public boolean isInitialized() { + if(isInitialized!=null) { + return isInitialized; + } + if(orgService.getRepository().count()<=0){ + isInitialized =false; + }else { + isInitialized = true; + } + return isInitialized; + } + + @Override + public void execute() throws ApplicationInitializerExecuteException { + String parentOrgId = UUID.randomUUID().toString(); + String[] childNames =new String[]{ + "上海崇明沪农商村镇银行", + "北京房山沪农商村镇银行", + "深圳光明沪农商村镇银行", + "济南槐荫沪农商村镇银行", + "济南长清沪农商村镇银行", + "聊城沪农商村镇银行", + "茌平沪农商村镇银行", + "阳谷沪农商村镇银行", + "临清沪农商村镇银行", + "泰安沪农商村镇银行", + "宁阳沪农商村镇银行", + "东平沪农商村镇银行", + "日照沪农商村镇银行", + "长沙星沙沪农商村镇银行", + "宁乡沪农商村镇银行", + "醴陵沪农商村镇银行", + "双峰沪农商村镇银行", + "涟源沪农商村镇银行", + "衡阳县沪农商村镇银行", + "桂阳沪农商村镇银行", + "永兴沪农商村镇银行", + "澧县沪农商村镇银行", + "临澧沪农商村镇银行", + "石门沪农商村镇银行", + "慈利沪农商村镇银行", + "昆明官渡沪农商村镇银行", + "嵩明沪农商村镇银行", + "蒙自沪农商村镇银行", + "弥勒沪农商村镇银行", + "开远沪农商村镇银行", + "个旧沪农商村镇银行", + "保山隆阳沪农商村镇银行", + "瑞丽沪农商村镇银行", + "建水沪农商村镇银行", + "临沧临翔沪农商村镇银行", + }; + SqlBuilder.getInsertIntoSqlBuilder() + .table("SYS_ORG") + .field("ID_",parentOrgId) + .field("PARENT_ID_",null) + .field("CODE_","") + .field("NAME_","沪农商村镇银行") + .field("ENABLE_",1) + .field("DATA_COME_FROM_","INPUT") + .field("CREATOR_","system") + .field("CREATE_DATE_",new Date()) + .field("LAST_MODIFIER_","system") + .field("LAST_MODIFYDATE_",new Date()) + .insert(jdbcTemplate); + + for(int i=0;i { +public class MenuWebController extends RestCrudController { + + @PostMapping("addMenu") + public void addMenu(@RequestBody Map map) throws Exception{ + service.addMenu(map); + } + + @PostMapping("updateMenu") + public void updateMenu(@RequestBody Map map) throws Exception{ + service.updateMenu(map); + } + /** * 列出所有菜单树,并且将角色所拥有的菜单列表作出标记 * @param roleId 角色ID diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/convertor/MenuEntityVoConvertor.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/convertor/MenuEntityVoConvertor.java index 9fd13bab..440c268d 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/convertor/MenuEntityVoConvertor.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/convertor/MenuEntityVoConvertor.java @@ -115,7 +115,7 @@ public class MenuEntityVoConvertor implements EntityVoConverter implements IdClearable { //ID,主键 @Id @GeneratedValue(generator = "system-uuid") @@ -103,6 +104,21 @@ public abstract class MenuEntity extends AuditorEntity implements IdClearable { @JoinColumn(name="PARENT_ID_") protected MenuGroupEntity parent; + public static void toVo(MenuVo vo, MenuEntity entity){ + if(vo!=null && entity!=null){ + CorporationAuditorEntity.toVo(vo,entity); + vo.setId(entity.getId()); + vo.setType(entity.getType()); + vo.setName(entity.getName()); + vo.setTitleI18nKey(entity.getTitleI18nKey()); + vo.setIcon(entity.getIcon()); + vo.setEnable(entity.getEnable()); + vo.setOrder(entity.getOrder()); + vo.setAuthorizeExpression(entity.getAuthorizeExpression()); + vo.setParent(entity.getParent()==null?null:entity.getParent().getId()); + } + } + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuGroupEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuGroupEntity.java index 878e5952..dc28f072 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuGroupEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuGroupEntity.java @@ -1,5 +1,8 @@ package io.sc.platform.system.menu.jpa.entity; +import io.sc.platform.system.api.menu.MenuGroupVo; +import io.sc.platform.system.api.menu.MenuVo; + import javax.persistence.*; import java.util.ArrayList; import java.util.List; @@ -20,6 +23,13 @@ public class MenuGroupEntity extends MenuEntity { this.setId(id); } + @Override + public MenuVo toVo() { + MenuGroupVo vo =new MenuGroupVo(); + MenuEntity.toVo(vo,this); + return vo; + } + public List getChildren() { return children; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuJavascriptEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuJavascriptEntity.java index 5fcaac49..6cf003b9 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuJavascriptEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuJavascriptEntity.java @@ -1,5 +1,8 @@ package io.sc.platform.system.menu.jpa.entity; +import io.sc.platform.system.api.menu.MenuJavascriptVo; +import io.sc.platform.system.api.menu.MenuVo; + import javax.persistence.Column; import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; @@ -21,6 +24,14 @@ public class MenuJavascriptEntity extends MenuEntity { this.id =id; } + @Override + public MenuVo toVo() { + MenuJavascriptVo vo =new MenuJavascriptVo(); + MenuEntity.toVo(vo,this); + vo.setJavaScript(this.getJavaScript()); + return vo; + } + /** * 获取 javascript 脚本 * @return javascript 脚本 diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuRouteEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuRouteEntity.java index 4c6a8f86..c80bd5c3 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuRouteEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuRouteEntity.java @@ -2,6 +2,9 @@ package io.sc.platform.system.menu.jpa.entity; import io.sc.platform.orm.converter.MapStringConverter; import io.sc.platform.orm.converter.SetStringConverter; +import io.sc.platform.system.api.menu.MenuJavascriptVo; +import io.sc.platform.system.api.menu.MenuRouteVo; +import io.sc.platform.system.api.menu.MenuVo; import javax.persistence.Column; import javax.persistence.Convert; @@ -33,6 +36,15 @@ public class MenuRouteEntity extends MenuEntity { this.id =id; } + @Override + public MenuVo toVo() { + MenuRouteVo vo =new MenuRouteVo(); + MenuEntity.toVo(vo,this); + vo.setRouteName(this.getRouteName()); + vo.setRouteQuery(this.getRouteQuery()); + return vo; + } + public String getRouteName() { return routeName; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuSeperatorEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuSeperatorEntity.java index 5eb5be26..07813205 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuSeperatorEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuSeperatorEntity.java @@ -1,5 +1,9 @@ package io.sc.platform.system.menu.jpa.entity; +import io.sc.platform.system.api.menu.MenuRouteVo; +import io.sc.platform.system.api.menu.MenuSeperatorVo; +import io.sc.platform.system.api.menu.MenuVo; + import javax.persistence.DiscriminatorValue; import javax.persistence.Entity; @@ -13,4 +17,11 @@ public class MenuSeperatorEntity extends MenuEntity { public MenuSeperatorEntity(String id) { this.id =id; } + + @Override + public MenuVo toVo() { + MenuSeperatorVo vo =new MenuSeperatorVo(); + MenuEntity.toVo(vo,this); + return vo; + } } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuUrlEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuUrlEntity.java index 7060f518..26d71c9a 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuUrlEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/entity/MenuUrlEntity.java @@ -1,5 +1,8 @@ package io.sc.platform.system.menu.jpa.entity; +import io.sc.platform.system.api.menu.MenuSeperatorVo; +import io.sc.platform.system.api.menu.MenuUrlVo; +import io.sc.platform.system.api.menu.MenuVo; import io.sc.platform.system.enums.UrlOpenType; import javax.persistence.*; @@ -26,6 +29,15 @@ public class MenuUrlEntity extends MenuEntity { this.id =id; } + @Override + public MenuVo toVo() { + MenuUrlVo vo =new MenuUrlVo(); + MenuEntity.toVo(vo,this); + vo.setUrl(this.getUrl()); + vo.setUrlOpenType(this.getUrlOpenType()); + return vo; + } + /** * 获取菜单URL * @return 菜单URL diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/support/MenuEntityJsonSerializer.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/support/MenuEntityJsonSerializer.java index 53b73a98..6f93b138 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/support/MenuEntityJsonSerializer.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/jpa/support/MenuEntityJsonSerializer.java @@ -7,6 +7,9 @@ import com.fasterxml.jackson.databind.SerializerProvider; import io.sc.platform.orm.entity.support.AuditorEntityJsonSerializer; import io.sc.platform.orm.entity.support.CorporationAuditorEntityJsonSerializer; import io.sc.platform.system.menu.jpa.entity.MenuEntity; +import io.sc.platform.system.menu.jpa.entity.MenuJavascriptEntity; +import io.sc.platform.system.menu.jpa.entity.MenuRouteEntity; +import io.sc.platform.system.menu.jpa.entity.MenuUrlEntity; import io.sc.platform.system.org.jpa.entity.OrgEntity; import java.io.IOException; @@ -16,10 +19,25 @@ public class MenuEntityJsonSerializer extends JsonSerializer{ public void serialize(MenuEntity value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeStartObject(); gen.writeObjectField("id", value.getId()); + gen.writeObjectField("type", value.getType()); gen.writeObjectField("name", value.getName()); gen.writeObjectField("titleI18nKey", value.getTitleI18nKey()); gen.writeObjectField("enable", value.getEnable()); + gen.writeObjectField("icon", value.getIcon()); + gen.writeObjectField("order", value.getOrder()); gen.writeObjectField("parentId", value.getParent()==null?null:value.getParent().getId()); + if(value instanceof MenuRouteEntity){ + MenuRouteEntity entity =(MenuRouteEntity)value; + gen.writeObjectField("routeName", entity.getRouteName()); + gen.writeObjectField("routeQuery", entity.getRouteQuery()); + }else if(value instanceof MenuJavascriptEntity){ + MenuJavascriptEntity entity =(MenuJavascriptEntity)value; + gen.writeObjectField("javaScript", entity.getJavaScript()); + }else if(value instanceof MenuUrlEntity){ + MenuUrlEntity entity =(MenuUrlEntity)value; + gen.writeObjectField("url", entity.getUrl()); + gen.writeObjectField("urlOpenType", entity.getUrlOpenType()); + } AuditorEntityJsonSerializer.serializeJson(value, gen, serializers); gen.writeEndObject(); } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java index e02f0570..a31abfa6 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/MenuService.java @@ -9,8 +9,14 @@ import io.sc.platform.system.menu.jpa.repository.MenuRepository; import io.sc.platform.system.org.jpa.entity.OrgEntity; import java.util.List; +import java.util.Map; public interface MenuService extends DaoService { + public void addMenu(Map map) throws Exception; + + public void updateMenu(Map map) throws Exception; + + public List getMenusByUser(String userId) throws Exception; diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java index a6499c26..6d805b03 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/menu/service/impl/MenuServiceImpl.java @@ -1,5 +1,7 @@ package io.sc.platform.system.menu.service.impl; +import com.fasterxml.jackson.core.type.TypeReference; +import io.sc.platform.core.util.ObjectMapper4Json; import io.sc.platform.core.util.TreeBuilder; import io.sc.platform.jdbc.util.SqlBatcher; import io.sc.platform.mvc.support.CascadeMany2Many; @@ -7,19 +9,17 @@ import io.sc.platform.orm.service.impl.DaoServiceImpl; import io.sc.platform.orm.service.support.QueryParameter; import io.sc.platform.orm.service.support.QueryResult; import io.sc.platform.system.api.menu.MenuVo; -import io.sc.platform.system.api.org.OrgVo; import io.sc.platform.system.menu.convertor.MenuEntityPluginConvertor; import io.sc.platform.system.menu.convertor.MenuEntityVoConvertor; import io.sc.platform.system.menu.jpa.entity.MenuEntity; +import io.sc.platform.system.menu.jpa.entity.MenuGroupEntity; +import io.sc.platform.system.menu.jpa.entity.MenuRouteEntity; import io.sc.platform.system.menu.jpa.repository.MenuRepository; import io.sc.platform.system.menu.service.MenuService; import io.sc.platform.system.menu.service.support.MenuEntityTreeBuilder; -import io.sc.platform.system.org.convertor.OrgEntityVoConverter; -import io.sc.platform.system.org.jpa.entity.OrgEntity; import io.sc.platform.system.plugins.PluginManager; import io.sc.platform.system.plugins.item.MenuItem; import io.sc.platform.system.role.jpa.entity.RoleEntity; -import io.sc.platform.system.user.jpa.entity.UserEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.domain.Specification; import org.springframework.jdbc.core.JdbcTemplate; @@ -37,6 +37,74 @@ public class MenuServiceImpl extends DaoServiceImpl treeBuilder =new MenuEntityTreeBuilder(); @Autowired private JdbcTemplate jdbcTemplate; +/* + @Override + public MenuEntity add(MenuEntity entity) throws Exception { + new InsertIntoSqlBuilder().table("SYS_MENU") + .field("ID_",UUID.randomUUID().toString()) + .field("TYPE_",entity.getType()) + .field("NAME_",entity.getName()) + .field("TITLE_I18N_KEY_",entity.getName()) + return super.add(entity); + } +*/ + + @Transactional + public void addMenu(Map map) throws Exception{ + String parentId =map.get("parentId"); + if(!StringUtils.hasText(parentId)){ + MenuGroupEntity entity = new MenuGroupEntity(); + entity.setName(map.get("name")); + entity.setTitleI18nKey(map.get("name")); + entity.setIcon(map.get("icon")); + entity.setEnable(Boolean.parseBoolean(map.get("enable"))); + entity.setOrder(Integer.parseInt(map.get("order"))); + this.add(entity); + return; + } + + MenuEntity parentEntity =this.findById(parentId); + if(parentEntity!=null && parentEntity instanceof MenuGroupEntity) { + MenuGroupEntity parent = (MenuGroupEntity) parentEntity; + MenuRouteEntity entity = new MenuRouteEntity(); + entity.setName(map.get("name")); + entity.setTitleI18nKey(map.get("name")); + entity.setIcon(map.get("icon")); + entity.setEnable(Boolean.parseBoolean(map.get("enable"))); + entity.setOrder(Integer.parseInt(map.get("order"))); + entity.setRouteName(map.get("routeName")); + String routeQuery =map.get("routeQuery"); + if(StringUtils.hasText(routeQuery)) { + entity.setRouteQuery(ObjectMapper4Json.getMapper().readValue(map.get("routeQuery"), new TypeReference>() {})); + } + entity.setParent(parent); + this.add(entity); + } + } + + @Transactional + public void updateMenu(Map map) throws Exception{ + String id =map.get("id"); + if(StringUtils.hasText(id)){ + MenuEntity menuEntity =this.findById(id); + if(menuEntity!=null && menuEntity instanceof MenuRouteEntity) { + MenuRouteEntity entity = (MenuRouteEntity) menuEntity; + entity.setName(map.get("name")); + entity.setTitleI18nKey(map.get("name")); + entity.setIcon(map.get("icon")); + entity.setEnable(Boolean.parseBoolean(map.get("enable"))); + entity.setOrder(Integer.parseInt(map.get("order"))); + entity.setRouteName(map.get("routeName")); + String routeQuery = map.get("routeQuery"); + System.out.println(routeQuery); + if (StringUtils.hasText(routeQuery)) { + entity.setRouteQuery(ObjectMapper4Json.getMapper().readValue(routeQuery, new TypeReference>() { + })); + } + repository.save(entity); + } + } + } @Override public List getMenusByUser(String userId) throws Exception { @@ -296,6 +364,9 @@ public class MenuServiceImpl extends DaoServiceImpl menuItems =PluginManager.getInstance().getMenuItems(); List entities =pluginConverter.fromVo(menuItems); + for(MenuEntity entity : entities){ + entity.setCorporationCode("_PRIMARY_"); + } entities =treeBuilder.buildAndGetRoots(entities); for(MenuEntity entity : entities){ entity.clearId(); diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java index 30459fd7..2c0afd76 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/controller/OrgWebController.java @@ -4,8 +4,8 @@ import io.sc.platform.mvc.controller.support.RestCrudController; import io.sc.platform.mvc.support.One2Many; import io.sc.platform.orm.service.support.QueryParameter; import io.sc.platform.orm.service.support.QueryResult; +import io.sc.platform.orm.util.EntityVoConvertor; import io.sc.platform.system.api.org.OrgVo; -import io.sc.platform.system.org.convertor.OrgEntityVoConverter; import io.sc.platform.system.org.jpa.entity.OrgEntity; import io.sc.platform.system.org.jpa.repository.OrgRepository; import io.sc.platform.system.org.service.OrgService; @@ -16,9 +16,7 @@ import java.util.List; @RestController @RequestMapping("/api/system/org") -public class OrgWebController extends RestCrudController { - private OrgEntityVoConverter converter =new OrgEntityVoConverter(); - +public class OrgWebController extends RestCrudController { /** * 查询用户所属机构 * @param userId 用户ID @@ -45,7 +43,7 @@ public class OrgWebController extends RestCrudController listOrgsByUser(@RequestParam(name="userId",required=false) String userId, QueryParameter queryParameter) throws Exception{ if(StringUtils.hasText(userId)){ List result =service.listOrgsByUser(userId,queryParameter); - return converter.toVo(result); + return EntityVoConvertor.toVo(result); } return QueryResult.emptyList(); } @@ -61,7 +59,7 @@ public class OrgWebController extends RestCrudController listOtherOrgsByUser(@RequestParam(name="userId",required=false) String userId,QueryParameter queryParameter) throws Exception{ if(StringUtils.hasText(userId)){ List result =service.listOtherOrgsByUser(userId,queryParameter); - return converter.toVo(result); + return EntityVoConvertor.toVo(result); } return QueryResult.emptyList(); } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/convertor/OrgEntityVoConverter.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/convertor/OrgEntityVoConverter.java deleted file mode 100644 index 8ad39639..00000000 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/convertor/OrgEntityVoConverter.java +++ /dev/null @@ -1,35 +0,0 @@ -package io.sc.platform.system.org.convertor; - -import io.sc.platform.orm.EntityVoConverter; -import io.sc.platform.system.api.org.OrgVo; -import io.sc.platform.system.org.jpa.entity.OrgEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class OrgEntityVoConverter implements EntityVoConverter { - private static final Logger log = LoggerFactory.getLogger(OrgEntityVoConverter.class); - - @Override - public OrgVo toVo(OrgEntity entity) { - if(entity==null){ - return null; - } - OrgVo vo =new OrgVo(); - vo.setId(entity.getId()); - vo.setCode(entity.getCode()); - vo.setName(entity.getName()); - vo.setDescription(entity.getDescription()); - vo.setEnable(entity.getEnable()); - vo.setDepartment(entity.getIsDepartment()); - vo.setParentId(entity.getParent()==null?null:entity.getParent().getId()); - return vo; - } - - @Override - public OrgEntity fromVo(OrgVo vo) { - if(vo==null){ - return null; - } - return null; - } -} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/jpa/entity/OrgEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/jpa/entity/OrgEntity.java index 42014f56..94363aa3 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/jpa/entity/OrgEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/jpa/entity/OrgEntity.java @@ -1,9 +1,11 @@ package io.sc.platform.system.org.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.sc.platform.orm.api.vo.CorporationAuditorVo; import io.sc.platform.orm.converter.NumericBooleanConverter; import io.sc.platform.orm.entity.CorporationAuditorEntity; import io.sc.platform.system.api.org.OrgVo; +import io.sc.platform.system.api.parameter.ParameterVo; import io.sc.platform.system.menu.jpa.entity.MenuEntity; import io.sc.platform.system.org.jpa.support.OrgEntityJsonSerializer; import io.sc.platform.system.user.jpa.entity.UserEntity; @@ -20,7 +22,7 @@ import java.util.List; @Entity @Table(name="SYS_ORG") @JsonSerialize(using = OrgEntityJsonSerializer.class) -public class OrgEntity extends CorporationAuditorEntity { +public class OrgEntity extends CorporationAuditorEntity { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid2") @@ -76,8 +78,18 @@ public class OrgEntity extends CorporationAuditorEntity { this.id =id; } - public static OrgEntity fromVo(OrgVo vo) { - return new OrgEntity(); + @Override + public OrgVo toVo() { + OrgVo vo =new OrgVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setEnable(this.getEnable()); + vo.setDepartment(this.getIsDepartment()); + vo.setParent(this.getParent()==null?null:this.getParent().getId()); + return vo; } /** diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/service/impl/OrgServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/service/impl/OrgServiceImpl.java index d394bf15..5bc7eec1 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/org/service/impl/OrgServiceImpl.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/org/service/impl/OrgServiceImpl.java @@ -4,12 +4,11 @@ import io.sc.platform.jdbc.util.SqlBatcher; import io.sc.platform.orm.service.impl.DaoServiceImpl; import io.sc.platform.orm.service.support.QueryParameter; import io.sc.platform.orm.service.support.QueryResult; +import io.sc.platform.orm.util.EntityVoConvertor; import io.sc.platform.system.api.org.OrgVo; -import io.sc.platform.system.org.convertor.OrgEntityVoConverter; import io.sc.platform.system.org.jpa.entity.OrgEntity; import io.sc.platform.system.org.jpa.repository.OrgRepository; import io.sc.platform.system.org.service.OrgService; -import io.sc.platform.system.role.jpa.entity.RoleEntity; import io.sc.platform.system.user.jpa.entity.UserEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -19,11 +18,11 @@ import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; -import javax.persistence.criteria.*; +import javax.persistence.criteria.Join; +import javax.persistence.criteria.JoinType; import javax.transaction.Transactional; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -35,11 +34,11 @@ public class OrgServiceImpl extends DaoServiceImpl listAllOrgsWithSelectedStatusByUser(String userId, QueryParameter queryParameter) throws Exception { - OrgEntityVoConverter converter =new OrgEntityVoConverter(); List allOrgEntities =repository.findAll(); List selectedOrgEntities =listOrgsByUser(userId,queryParameter); - List allOrgs =converter.toVo(allOrgEntities); - List selectedOrgs =converter.toVo(selectedOrgEntities); + + List allOrgs =EntityVoConvertor.toVo(allOrgEntities); + List selectedOrgs =EntityVoConvertor.toVo(selectedOrgEntities); Set selectedOrgIds =new HashSet<>(); for(OrgVo selectedOrg : selectedOrgs){ selectedOrgIds.add(selectedOrg.getId()); diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java index d119ca11..ba0a026b 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/controller/ParameterWebController.java @@ -1,6 +1,7 @@ package io.sc.platform.system.parameter.controller; import io.sc.platform.mvc.controller.support.RestCrudController; +import io.sc.platform.system.api.parameter.ParameterVo; import io.sc.platform.system.parameter.jpa.entity.ParameterEntity; import io.sc.platform.system.parameter.jpa.repository.ParameterRepository; import io.sc.platform.system.parameter.service.ParameterService; @@ -9,6 +10,6 @@ import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("api/system/parameter") -public class ParameterWebController extends RestCrudController { +public class ParameterWebController extends RestCrudController { } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/convertor/ParameterEntityVoConverter.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/convertor/ParameterEntityVoConverter.java deleted file mode 100644 index 84589495..00000000 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/convertor/ParameterEntityVoConverter.java +++ /dev/null @@ -1,34 +0,0 @@ -package io.sc.platform.system.parameter.convertor; - -import io.sc.platform.orm.EntityVoConverter; -import io.sc.platform.system.api.org.OrgVo; -import io.sc.platform.system.api.parameter.ParameterVo; -import io.sc.platform.system.org.jpa.entity.OrgEntity; -import io.sc.platform.system.parameter.jpa.entity.ParameterEntity; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ParameterEntityVoConverter implements EntityVoConverter { - private static final Logger log = LoggerFactory.getLogger(ParameterEntityVoConverter.class); - - @Override - public ParameterVo toVo(ParameterEntity entity) { - if(entity==null){ - return null; - } - ParameterVo vo =new ParameterVo(); - vo.setId(entity.getId()); - vo.setCode(entity.getCode()); - vo.setValue(entity.getValue()); - vo.setParentId(entity.getParent()==null?null:entity.getParent().getId()); - return vo; - } - - @Override - public ParameterEntity fromVo(ParameterVo vo) { - if(vo==null){ - return null; - } - return null; - } -} diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/jpa/entity/ParameterEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/jpa/entity/ParameterEntity.java index e98c6f74..c0249751 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/jpa/entity/ParameterEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/parameter/jpa/entity/ParameterEntity.java @@ -1,7 +1,9 @@ package io.sc.platform.system.parameter.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.sc.platform.orm.api.vo.BaseVo; import io.sc.platform.orm.entity.CorporationAuditorEntity; +import io.sc.platform.system.api.parameter.ParameterVo; import io.sc.platform.system.parameter.jpa.support.ParameterEntityJsonSerializer; import org.hibernate.annotations.GenericGenerator; @@ -13,8 +15,7 @@ import javax.validation.constraints.Size; */ @Entity @Table(name="SYS_PARAMETER") -@JsonSerialize(using = ParameterEntityJsonSerializer.class) -public class ParameterEntity extends CorporationAuditorEntity { +public class ParameterEntity extends CorporationAuditorEntity { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid2") @@ -39,6 +40,17 @@ public class ParameterEntity extends CorporationAuditorEntity { this.id =id; } + @Override + public ParameterVo toVo() { + ParameterVo vo =new ParameterVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setValue(this.getValue()); + vo.setParent(this.getParent()==null?null:this.getParent().getId()); + return vo; + } + public String getId() { return id; } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java index cb13d6c5..b4dc25f9 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/role/controller/RoleWebController.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api/system/role") -public class RoleWebController extends RestCrudController { +public class RoleWebController extends RestCrudController { private RoleEntityVoConverter converter =new RoleEntityVoConverter(); /** diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/role/jpa/entity/RoleEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/role/jpa/entity/RoleEntity.java index 66a3c12b..1e5bc1d0 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/role/jpa/entity/RoleEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/role/jpa/entity/RoleEntity.java @@ -23,7 +23,7 @@ import java.util.Set; @Entity @Table(name="SYS_ROLE") @JsonSerialize(using = RoleEntityJsonSerializer.class) -public class RoleEntity extends CorporationAuditorEntity { +public class RoleEntity extends CorporationAuditorEntity { //主键 @Id @GeneratedValue(generator = "system-uuid") @@ -65,16 +65,6 @@ public class RoleEntity extends CorporationAuditorEntity { @ManyToMany(mappedBy="roles",fetch=FetchType.LAZY,cascade={CascadeType.MERGE,CascadeType.REFRESH}) private List menus =new ArrayList(); - //角色可访问的帮助ID集合 - @Column(name="HELP_IDS_", length=1024) - @Convert(converter = SetStringConverter.class) - private Set helpIds =new HashSet(); - - //角色可访问的首选项(系统配置)ID集合 - @Column(name="PREFERENCE_IDS_", length=1024) - @Convert(converter = SetStringConverter.class) - private Set preferenceIds =new HashSet(); - public RoleEntity(){} public RoleEntity(String id){ @@ -92,8 +82,17 @@ public class RoleEntity extends CorporationAuditorEntity { this.name =name; } - public static RoleEntity fromVo(RoleVo vo) { - return new RoleEntity(); + @Override + public RoleVo toVo() { + RoleVo vo =new RoleVo(); + CorporationAuditorEntity.toVo(vo,this); + vo.setId(this.getId()); + vo.setCode(this.getCode()); + vo.setName(this.getName()); + vo.setDescription(this.getDescription()); + vo.setEnable(this.getEnable()); + vo.setIndexPageUrl(this.getIndexPageUrl()); + return vo; } /** @@ -224,38 +223,6 @@ public class RoleEntity extends CorporationAuditorEntity { this.menus = menus; } - /** - * 获取帮助 ID 集合 - * @return 帮助 ID 集合 - */ - public Set getHelpIds() { - return helpIds; - } - - /** - * 设置帮助 ID 集合 - * @param helpIds 帮助 ID 集合 - */ - public void setHelpIds(Set helpIds) { - this.helpIds = helpIds; - } - - /** - * 获取首选项(系统配置) ID 集合 - * @return 首选项(系统配置) ID 集合 - */ - public Set getPreferenceIds() { - return preferenceIds; - } - - /** - * 设置首选项(系统配置) ID 集合 - * @param preferenceIds 首选项(系统配置) ID 集合 - */ - public void setPreferenceIds(Set preferenceIds) { - this.preferenceIds = preferenceIds; - } - /** * 增加用户 * @param users 用户 diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java index 0d6c9f18..28f300a0 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/controller/UserWebController.java @@ -7,8 +7,8 @@ import io.sc.platform.orm.api.exception.UserNewPasswordEmptyException; import io.sc.platform.orm.api.exception.UserRawPasswordEmptyException; import io.sc.platform.orm.service.support.QueryParameter; import io.sc.platform.orm.service.support.QueryResult; +import io.sc.platform.orm.util.EntityVoConvertor; import io.sc.platform.system.api.user.UserVo; -import io.sc.platform.system.user.convertor.UserEntityVoConverter; import io.sc.platform.system.user.jpa.entity.UserEntity; import io.sc.platform.system.user.jpa.repository.UserRepository; import io.sc.platform.system.user.service.UserService; @@ -25,9 +25,7 @@ import java.util.Map; @RestController @RequestMapping("/api/system/user") -public class UserWebController extends RestCrudController { - private UserEntityVoConverter userConverter =new UserEntityVoConverter(); - +public class UserWebController extends RestCrudController { @GetMapping("session") public UserSession session(HttpServletRequest request) throws Exception { return service.getUserSession(request); @@ -125,7 +123,7 @@ public class UserWebController extends RestCrudController queryUsersByRole(@RequestParam(name="roleId",required=false) String roleId, QueryParameter parameter) throws Exception{ if(StringUtils.hasText(roleId)){ Page result =service.queryUsersByRole(roleId,parameter); - return userConverter.toVo(result); + return EntityVoConvertor.toVo(result); } return QueryResult.emptyPage(); } @@ -141,7 +139,7 @@ public class UserWebController extends RestCrudController queryOtherUsersByRole(@RequestParam(name="roleId",required=false) String roleId,QueryParameter parameter) throws Exception{ if(StringUtils.hasText(roleId)){ Page result =service.queryOtherUsersByRole(roleId,parameter); - return userConverter.toVo(result); + return EntityVoConvertor.toVo(result); } return QueryResult.emptyPage(); } @@ -157,7 +155,7 @@ public class UserWebController extends RestCrudController queryUsersByOrg(@RequestParam(name="orgId",required=false) String orgId,QueryParameter parameter) throws Exception{ if(StringUtils.hasText(orgId)){ Page result =service.queryUsersByOrg(orgId,parameter); - return userConverter.toVo(result); + return EntityVoConvertor.toVo(result); } return QueryResult.emptyPage(); } @@ -173,7 +171,7 @@ public class UserWebController extends RestCrudController queryOtherUsersByOrg(@RequestParam(name="orgId",required=false) String orgId,QueryParameter parameter) throws Exception{ if(StringUtils.hasText(orgId)){ Page result =service.queryOtherUsersByOrg(orgId,parameter); - return userConverter.toVo(result); + return EntityVoConvertor.toVo(result); } return QueryResult.emptyPage(); } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/convertor/UserEntityVoConverter.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/convertor/UserEntityVoConverter.java index bd7692e9..9338d60b 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/convertor/UserEntityVoConverter.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/convertor/UserEntityVoConverter.java @@ -1,20 +1,37 @@ package io.sc.platform.system.user.convertor; import io.sc.platform.orm.EntityVoConverter; +import io.sc.platform.orm.entity.CorporationAuditorEntity; import io.sc.platform.system.api.user.UserVo; import io.sc.platform.system.user.jpa.entity.UserEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.util.StringUtils; public class UserEntityVoConverter implements EntityVoConverter { private static final Logger log = LoggerFactory.getLogger(UserEntityVoConverter.class); + @Override + public UserVo desensitize(UserEntity entity) { + UserVo vo =toVo(entity); + if(vo!=null){ + vo.setEmail(desensitizeString(vo.getEmail())); + vo.setPhone(desensitizeString(vo.getMobile())); + vo.setMobile(desensitizeString(vo.getMobile())); + vo.setWeixin(desensitizeString(vo.getWeixin())); + vo.setQq(desensitizeString(vo.getQq())); + } + return vo; + } + @Override public UserVo toVo(UserEntity entity) { if(entity==null){ return null; } UserVo vo =new UserVo(); + CorporationAuditorEntity.toVo(vo,entity); + vo.setId(entity.getId()); vo.setLoginName(entity.getLoginName()); vo.setUserName(entity.getUserName()); @@ -40,4 +57,11 @@ public class UserEntityVoConverter implements EntityVoConverter= 11) { + return object.substring(0, 4) + "****" + object.substring(8); + } + return object; + } } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/jpa/entity/UserEntity.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/jpa/entity/UserEntity.java index 61d7fec4..fbc5c3a6 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/jpa/entity/UserEntity.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/jpa/entity/UserEntity.java @@ -1,12 +1,15 @@ package io.sc.platform.system.user.jpa.entity; import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.sc.platform.orm.converter.EncoderStringConverter; import io.sc.platform.orm.converter.NumericBooleanConverter; import io.sc.platform.orm.entity.CorporationAuditorEntity; +import io.sc.platform.system.api.user.UserVo; import io.sc.platform.system.org.jpa.entity.OrgEntity; import io.sc.platform.system.role.jpa.entity.RoleEntity; import io.sc.platform.system.user.jpa.support.UserEntityJsonSerializer; import org.hibernate.annotations.GenericGenerator; +import org.springframework.util.StringUtils; import javax.persistence.*; import javax.validation.constraints.Size; @@ -19,7 +22,7 @@ import java.util.List; @Entity @Table(name="SYS_USER") @JsonSerialize(using = UserEntityJsonSerializer.class) -public class UserEntity extends CorporationAuditorEntity { +public class UserEntity extends CorporationAuditorEntity { //主键 @Id @GeneratedValue(generator = "system-uuid") @@ -99,26 +102,31 @@ public class UserEntity extends CorporationAuditorEntity { //email @Column(name="EMAIL_",length=255) @Size(max=255) + @Convert(converter= EncoderStringConverter.class) private String email; //电话 - @Column(name="PHONE_",length=18) - @Size(max=18) + @Column(name="PHONE_",length=128) + @Size(max=128) + @Convert(converter= EncoderStringConverter.class) private String phone; //手机号 - @Column(name="MOBILE_",length=14) - @Size(max=14) + @Column(name="MOBILE_",length=128) + @Size(max=128) + @Convert(converter= EncoderStringConverter.class) private String mobile; //微信号 - @Column(name="WEIXIN_",length=255) - @Size(max=255) + @Column(name="WEIXIN_",length=128) + @Size(max=128) + @Convert(converter= EncoderStringConverter.class) private String weixin; //QQ号 - @Column(name="QQ_",length=255) - @Size(max=255) + @Column(name="QQ_",length=128) + @Size(max=128) + @Convert(converter= EncoderStringConverter.class) private String qq; public UserEntity() {} @@ -135,6 +143,40 @@ public class UserEntity extends CorporationAuditorEntity { this.userName =userName; } + @Override + public UserVo desensitize() { + UserVo vo =toVo(); + vo.setEmail(desensitizeString(vo.getEmail())); + vo.setPhone(desensitizeString(vo.getMobile())); + vo.setMobile(desensitizeString(vo.getMobile())); + vo.setWeixin(desensitizeString(vo.getWeixin())); + vo.setQq(desensitizeString(vo.getQq())); + return vo; + } + + @Override + public UserVo toVo() { + UserVo vo =new UserVo(); + CorporationAuditorEntity.toVo(vo,this); + + vo.setId(this.getId()); + vo.setLoginName(this.getLoginName()); + vo.setUserName(this.getUserName()); + vo.setDescription(this.getDescription()); + vo.setEnable(this.getEnable()); + vo.setAccountExpired(this.getAccountExpired()); + vo.setAccountLocked(this.getAccountLocked()); + vo.setCredentialsExpired(this.getCredentialsExpired()); + vo.setDefaultRoleId(this.getDefaultRoleId()); + vo.setDefaultOrgId(this.getDefaultOrgId()); + vo.setEmail(this.getEmail()); + vo.setPhone(this.getPhone()); + vo.setMobile(this.getMobile()); + vo.setWeixin(this.getWeixin()); + vo.setQq(this.getQq()); + return vo; + } + /** * 获取ID * @return ID @@ -519,5 +561,12 @@ public class UserEntity extends CorporationAuditorEntity { return false; return true; } + + private String desensitizeString(String object) { + if (StringUtils.hasText(object) && object.length() >= 11) { + return object.substring(0, 4) + "****" + object.substring(8); + } + return object; + } } diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java index 6dc4ea5d..11c82cbb 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/UserService.java @@ -2,7 +2,6 @@ package io.sc.platform.system.user.service; import io.sc.platform.orm.service.DaoService; import io.sc.platform.orm.service.support.QueryParameter; -import io.sc.platform.system.api.i18n.I18nLanguage; import io.sc.platform.system.user.jpa.entity.UserEntity; import io.sc.platform.system.user.jpa.repository.UserRepository; import io.sc.platform.system.user.service.support.UserSession; diff --git a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java index 0b8ba1d9..a29f00a0 100644 --- a/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java +++ b/io.sc.platform.system/src/main/java/io/sc/platform/system/user/service/impl/UserServiceImpl.java @@ -68,6 +68,26 @@ public class UserServiceImpl extends DaoServiceImpl userIds) throws Exception{ diff --git a/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/messages.json b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/messages.json new file mode 100644 index 00000000..5041b440 --- /dev/null +++ b/io.sc.platform.system/src/main/resources/META-INF/platform/plugins/messages.json @@ -0,0 +1,5 @@ +{ + "includes":[ + "io/sc/platform/system/i18n/initializer" + ] +} \ No newline at end of file diff --git a/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer b/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer index bf469029..29b76602 100644 --- a/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer +++ b/io.sc.platform.system/src/main/resources/META-INF/services/io.sc.platform.core.initializer.ApplicationInitializer @@ -1,3 +1,4 @@ io.sc.platform.system.initializer.MenuInitializer io.sc.platform.system.initializer.RoleAndMenuInitializer -io.sc.platform.system.initializer.ParameterInitializer \ No newline at end of file +io.sc.platform.system.initializer.ParameterInitializer +io.sc.platform.system.initializer.OrgInitializer \ No newline at end of file diff --git a/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer.properties b/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer.properties new file mode 100644 index 00000000..12d47004 --- /dev/null +++ b/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer.properties @@ -0,0 +1,11 @@ +io.sc.platform.system.initializer.ParameterInitializer.name=Parameter Initializer +io.sc.platform.system.initializer.ParameterInitializer.description=initialize parameter if not exists + +io.sc.platform.system.initializer.MenuInitializer.name=Menu Initializer +io.sc.platform.system.initializer.MenuInitializer.description=initialize menu if not exists + +io.sc.platform.system.initializer.RoleAndMenuInitializer.name=Role and Menu Initializer +io.sc.platform.system.initializer.RoleAndMenuInitializer.description=initialize Role and Menu if not exists + +io.sc.platform.system.initializer.OrgInitializer.name=Org Initializer +io.sc.platform.system.initializer.OrgInitializer.description=initialize Org if not exists \ No newline at end of file diff --git a/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_tw_CN.properties b/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_tw_CN.properties new file mode 100644 index 00000000..b6793f90 --- /dev/null +++ b/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_tw_CN.properties @@ -0,0 +1,11 @@ +io.sc.platform.system.initializer.ParameterInitializer.name=\u53C2\u6570\u521D\u59CB\u5316\u5668 +io.sc.platform.system.initializer.ParameterInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u53C2\u6570\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u53C2\u6570 + +io.sc.platform.system.initializer.MenuInitializer.name=\u83DC\u55AE\u521D\u59CB\u5316\u5668 +io.sc.platform.system.initializer.MenuInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u83DC\u55AE\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u83DC\u55AE + +io.sc.platform.system.initializer.RoleAndMenuInitializer.name=\u89D2\u8272\u548C\u83DC\u55AE\u59CB\u5316\u5668 +io.sc.platform.system.initializer.RoleAndMenuInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u89D2\u8272\u548C\u83DC\u55AE\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u89D2\u8272\u548C\u83DC\u55AE + +io.sc.platform.system.initializer.OrgInitializer.name=\u6A5F\u69CB\u59CB\u5316\u5668 +io.sc.platform.system.initializer.OrgInitializer.description=\u7576\u7CFB\u7D71\u7F3A\u5931\u7D50\u69CB\u6642, \u81EA\u52D5\u5275\u5EFA\u9ED8\u8A8D\u6A5F\u69CB \ No newline at end of file diff --git a/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_zh_CN.properties b/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_zh_CN.properties new file mode 100644 index 00000000..fdafeaf8 --- /dev/null +++ b/io.sc.platform.system/src/main/resources/io/sc/platform/system/i18n/initializer_zh_CN.properties @@ -0,0 +1,11 @@ +io.sc.platform.system.initializer.ParameterInitializer.name=\u53C2\u6570\u521D\u59CB\u5316\u5668 +io.sc.platform.system.initializer.ParameterInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u53C2\u6570\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u53C2\u6570 + +io.sc.platform.system.initializer.MenuInitializer.name=\u83DC\u5355\u521D\u59CB\u5316\u5668 +io.sc.platform.system.initializer.MenuInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u83DC\u5355\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u83DC\u5355 + +io.sc.platform.system.initializer.RoleAndMenuInitializer.name=\u89D2\u8272\u548C\u83DC\u5355\u521D\u59CB\u5316\u5668 +io.sc.platform.system.initializer.RoleAndMenuInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u89D2\u8272\u548C\u83DC\u5355\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u89D2\u8272\u548C\u83DC\u5355 + +io.sc.platform.system.initializer.OrgInitializer.name=\u673A\u6784\u521D\u59CB\u5316\u5668 +io.sc.platform.system.initializer.OrgInitializer.description=\u5F53\u7CFB\u7EDF\u7F3A\u5931\u673A\u6784\u65F6, \u81EA\u52A8\u521B\u5EFA\u9ED8\u8BA4\u673A\u6784 \ No newline at end of file diff --git a/io.sc.platform.system/src/main/resources/liquibase/PF_11.0.0_20220606__System_DDL.xml b/io.sc.platform.system/src/main/resources/liquibase/PF_11.0.0_20220606__System_DDL.xml index 5dc77ff3..c13b8960 100644 --- a/io.sc.platform.system/src/main/resources/liquibase/PF_11.0.0_20220606__System_DDL.xml +++ b/io.sc.platform.system/src/main/resources/liquibase/PF_11.0.0_20220606__System_DDL.xml @@ -13,24 +13,24 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -44,92 +44,124 @@ - + - - - - - - - - - - + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -140,65 +172,76 @@ - + - - - - - - - - - - - + + + + + + + + + + - - - + + + + + + + + - + - + - - - - - - - - + + + + + + + + - + - - + + - - - + + - - - - - - - - + + + + + + + + + + + + + + + + - - + + + + + @@ -235,9 +281,12 @@ - - + + + + + diff --git a/settings.gradle b/settings.gradle index 824de7d7..d512a54a 100755 --- a/settings.gradle +++ b/settings.gradle @@ -29,6 +29,8 @@ include ':io.sc.platform.jdbc.liquibase' //include ':io.sc.platform.jdbc.schemacrawler-14.21.02' include ':io.sc.platform.jdbc.schemacrawler' //include ':io.sc.platform.job.scheduler' +include ':io.sc.platform.job.manager' +include ':io.sc.platform.job.core' include ':io.sc.platform.lcdp' include ':io.sc.platform.lcdp.frontend' include ':io.sc.platform.monitor'